Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 530
Réponses : 3
Type : discussion
Etat : réponses autorisées

Aide pour un jeu

xDreams le 19/12/2011 à 17:25
Salut ! happy.gif

J'ai un petit problème avec le code de mon jeu nommé "Falls" (facile à comprendre hein ?), en gros comme son nom le sous entend, le but du jeu est de récupérer des "o" avec un perso ")".
Le problème c'est que les "o" passent au travers de mon perso et qu'ils ne s'enchainent pas (il y en a qu'un seul qui apparait) MAIS le score est pris en compte sauf qu'on ne gagne jamais ! cry.gif

Voici le code :


Code
ClrHome
Output(4,4,"BY XDREAMS
Pause
10ü ( ) dim(áFALLS
Lbl 0
ClrHome
Menu("FALLS 1.0","JOUER",1,"M.SCORES",2,"QUITTER",3
Lbl 1
1ü ( ) N
0ü ( ) S
15ü ( ) X
5ü ( ) Y
0ü ( ) A
0ü ( ) B
randInt(1,16ü ( ) A
randInt(1,8ü ( ) B
While 1
For(A,1,16
Output(B,A,"ô
Output(Y,X,")
69!
getKeyü ( ) K
69!
If K
Output(Y,X," "
Y-(K=25)+(K=34)ü ( ) Y
Output(B,A," "
If Y=0:1ü ( ) Y
If Y=9:8ü ( ) Y
If B=Y and A=X
S+1ü ( ) S
End
If Iø15
Output(1,1,"PERDU !
Pause
ClrHome
Disp "SCORE=",S
Pause
Goto 0


(je mettrais les meilleurs scores et la sortie après ce problème)

Merci de votre aide et de votre patience happy.gif

xDreams.
Erdnuss le 19/12/2011 à 19:02
Il manque un end pour le for : probablement avant le output(Y,X,")
On ne peut pas gagner car le while fait une boucle infinie : pas de condition de victoire (qui, je suppose, devrait etre p ex Repeat S=100 (repeat est mieux))

Donc :

Code
ClrHome
Output(4,4,"BY XDREAMS
Pause
10ü ( ) dim(áFALLS
Lbl 0
ClrHome
Menu("FALLS 1.0","JOUER",1,"M.SCORES",2,"QUITTER",3
Lbl 1
1ü ( ) N     //sert a quoi ???
0ü ( ) S
15ü ( ) X     //inutile
5ü ( ) Y
0ü ( ) A    //inutile
0ü ( ) B    //inutile
randInt(1,16ü ( ) A
randInt(1,8ü ( ) B
While 1          //a remplir avec conditions de victoire : p ex Repeat S=100
For(A,1,16
Output(B,A,"ô
Output(Y,X,")    //X ne varie pas donc met 15 et pas X
69!
getKeyü ( ) K
69!
If K            //si tu retire c est plus leger
Output(Y,X," "      //le X ne varie pas donc met 15 et pas X
Y-(K=25)+(K=34)ü ( ) Y
Output(B,A," "      //met le juste avant le for : IL RESTERa pus longtemps a l ecran
If Y=0:1ü ( ) Y
If Y=9:8ü ( ) Y
If A=17
Then
randInt(1,8->B
randInt(1,6->A
End
If B=Y and A=X      //et A=15
Then
S+1ü ( ) S
randInt(1,8->B
randInt(1,16->A
End
End                  //le end qui manque
End
If Iø15
Output(1,1,"PERDU !
Pause
ClrHome
Disp "SCORE=",S
Pause
Goto 0
ashtrail le 19/12/2011 à 19:52
Va voir le jeu "fruits" du forum il est assez semblable au tiens tu devrais jeter un coup d'oeil...
xDreams le 19/12/2011 à 22:32
Merci j'ai réussi happy.gif
J'ajoute les meilleurs scores et je le poste demain.

xDreams.