Il y a cependant encore quelques bugs que je n'ai pas réussi à corriger.
(Je vous laisse télécharger pour vous faire une idée du principe)
- Code: Select all
Lbl 0
EffEcran
Menu("ESQUIVE !","Le jeu",1,"Les règles",2,"Quitter",3
Lbl 2
EffEcran
Disp "Le jeu cosiste à éviter
Disp "les 'I' qui tombent sans
Disp "dépasser les limites.
Disp "Le vaisseau Δ ne peux pas
Disp "s'arrêter. On utilise les
Disp "flèches pour se déplacer.
Disp "L'orsque '□' apparaît, tu
Disp " peux appuier sur la
Disp "flèche haut pour gagner
Output(10,1,"10 points !
codetouch(
Repeat codetouch(
End
Goto 0
End
Lbl 1
EffVar S
EffVar Z
EffVar W
EffVar Y
12→X
1→F
8→E
2→H
12→G
3→J
20→I
4→M
18→L
For(A,2,9
Output(A,5,">
Output(A,22,"<
End
For(B,5,22
Output(9,B,"^
End
Output(8,X,"Δ
Output(F,E,"I
Output(H,G,"I
Output(J,I,"I
Output(F,E+4,"I
Output(H,G-3,"I
Output(J,I-5,"I
entAléat(10,30→Z
entAléat(7,20→Y
While 1
W+1→W
If W=Z
Output(1,Y,"□
If W=Z+15
Then
Output(1,Y,"
EffVar W
EffVar Z
EffVar Y
entAléat(15,30→Z
entAléat(7,20→Y
End
codetouch(
If Rep
Rep→K
If K=25 et X=Y et Z<W<Z+15
Then
S+10→S
Output(7,X,"!
Output(1,Y,"
EffVar W
EffVar Z
EffVar Y
entAléat(15,30→Z
entAléat(7,20→Y
Output(7,X,"
End
If K=24
X-1→X
Output(8,X+1,"
If K=26
X+1→X
Output(8,X-1,"
If K≠24 et K≠26
X-1→X
Output(8,X+1,"
Output(8,X,"Δ
F+1→F
H+1→H
J+1→J
Output(F-1,E,"
Output(H-1,G,"
Output(J-1,I,"
Output(F-1,E+4,"
Output(H-1,G-3,"
Output(J-1,I-5,"
If (E≠X et E+4≠X) et F=9
Then
S+2→S
entAléat(7,15→E
1→F
End
If (G≠X et G-3≠X) et H=9
Then
S+2→S
entAléat(10,20→G
2→H
End
If (I≠X et I-5≠X) et J=9
Then
S+1→S
entAléat(13,20→I
1→J
End
Output(F,E,"I
Output(H,G,"I
Output(J,I,"I
Output(F,E+4,"I
Output(H,G-3,"I
Output(J,I-5,"I
If X=22 ou X=5 ou (F=8 ou F=9) et (E=X ou X+4=X) ou (H=8 ou H=9) et (G=X ou G-3=X) ou (J=8 ou J=9) et (I=X ou I-5=X)
Then
Output(4,9,"GAME OVER
Output(5,10,"SCORE
Output(5,16,S
Output(6,6,"APPUIES SUR UNE
Output(7,10,"TOUCHE
codetouch(
Repeat codetouch(
End
Goto 0
End
End
Lbl 3
Stop
Voici les problèmes :
je voudrais déjà que lorsqu'on appuie sur une touche différente de 24 ou 26, notre personnage avance toujours dans la direction dans laquelle il avançait.
Ici, si K est différent de 24 ou 26, il avancera vers la gauche.
Pour l'élément aléatoire, je voulais que le carré s'affiche même lorsqu'un projectile est sur la même colonne que lui. J'avais donc fais
if Z<W<Z+15
output(1,Y,"□
ça marchait, mais bizarrement le carré s'affichait tout le temps, alors que lorsque W est plus petit que Z+15, W prend pour valeur 0
Et si vous pouviez m'aider pour réduire la taille (et donc augmenter la vitesse du programme) de la boucle while, ça m'aiderait beaucoup !
Merci de votre aide
