Bien utiliser ses sous-programmes
Posté le 17/02/2016 12:35
Comme vous le savez en basic, on peut avoir des sous-programmes qui sont appelés par un programme principal.
Le problème, c'est que ces sous-programmes prennent de la place dans le menu, ce qui le rend moins clair et plus long à parcourir pour trouver ce que l'on cherche. De plus les jeux avec beaucoup de sous-programmes rebutent beaucoup de personnes de les tester.
C'est pourquoi voici quelques conseils pour utiliser les sous-programmes :
- Les nommer avec le même début que votre programme pour qu'il soit rangé à côté ou avec des symboles ("+", "-", "x", "~", etc) pour qu'ils soient rangés à la fin.
- Leur donner un nom explicite pour les testeur ou du moins ne pas les appeler "sousprog"
- Ne pas en utiliser lorsque ce bout de code n'est pas répété plusieurs fois dans votre programme
Exemple illustrant le dernier conseil :
//Mon programme principal
Afficher "perso"
Afficher "numero"
Afficher "tirs"
Do
Getkey→G
LpWhile G=0
Si G = 78
Alors A+1→A
Afficher A,B,"perso"
Afficher X,Y,"numero"
Afficher C,D,"tirs"
Fin Si
Si G=77
Then X+2→X
Y-1→Y
Afficher "perso"
Afficher "numero"
Afficher "tirs"
Fin Si
A*2→A
X+A→Y
Comme vous pouvez le voir, une partie du code est répétée, créons donc un sous programme
//Sous programme : "~Affich"
Afficher "perso"
Afficher "numero"
Afficher "tirs"
//Programme principal
Prog "~Affich"
Do
Getkey→G
LpWhile G=0
Si G = 78
Alors A+1→A
Prog "~Affich"
Fin Si
Si G=77
Then X+2→X
Y-1→Y
Prog "~Affich"
Fin Si
A*2→A
X+A→Y
Alors, c'est mieux non ?
Mais maintenant ce qu'il ne faut pas faire basic (mais qui serait pertinent en C avec une fonction je pense) :
//Programme principal
Se lever
Prog "petit déjeuner"
se doucher
aller en cours
travailler
Prog "midi"
retourner en cours
retravailler
rentrer chez soi
//Sous programme "petit déjeuner"
Prendre un bol, du lait et des céréales
Verser le lait et les céréales dans le bol
Prendre une petite cuillère
Manger
//Sous programme "midi"
Attendre de pouvoir passer
Passer
Prendre un plateau
Mettre ce que l'on veut dessus
S'asseoir à une table
Manger
Posez le plateau à l'endroit approprié
Partir
Comme vous le voyez, ces sous-programme ne sont appelés qu'une fois, ils sont donc inutiles et le code qu'ils contiennent devra être écrit la ou on les appelle.
Je ne vais pas le réécrire mais je pense que vous avez compris
Voilà j'espère que ce petit topic vous aidera. Je précise qu'il n'est valable que pour les sous-programmes en Basic Casio.
Si je raconte n'importe quoi merci de me le signaler en commentaire
Et si vous voulez rajouter quelque chose allez y
Citer : Posté le 17/02/2016 15:26 | #
Un sous programme qui ne sert qu'une fois n'a pas d'utilité en tant que sous-programme, je suis d'accord avec toi !
Citer : Posté le 17/02/2016 20:07 | #
Beaucoup de gens le font et c'est plutôt énervant donc j'ai voulu éviter que d'autres programmeurs le fasse
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 17/02/2016 20:15 | #
C'est vrai, il faut le préciser !
(l'exemple me semble un peu trop détaillé pour bien montrer ce que tu veux dire, pas besoin de la partie GetKey et compagnie )
Citer : Posté le 17/02/2016 20:19 | #
Je voulais faire un truc un minimum réaliste
C'est pas gênant si je le laisse
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 19/02/2016 14:01 | #
Certains de mes petits programmes se terminent par un Return, ceci me permet par la suite de les inclure dans une structure plus grande.
Citer : Posté le 19/02/2016 14:03 | #
Certains de mes petits programmes se terminent par un Return, ceci me permet par la suite de les inclure dans une structure plus grande.
Ce n'est jamais nécessaire, à part pour remplacer Stop. Un sous-programme qui arrive au bout de l'exécution se termine comme sur un Return.