Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 1298
Réponses : 9
Type : discussion
Etat : réponses autorisées

GAME OVER au lancement de Snake

ismail02100 le 17/01/2014 à 20:06
J'ai un problème avec le programme Snake,au lancement j'ai Game Over qui s'affiche donc impossible de l'utiliser maxiangry.gif maxiangry.gif maxiangry.gif maxiangry.gif
linkakro le 17/01/2014 à 20:12
Tu n'as pas indiqué quel sujet, or il y a plusieurs snakes.
J'ai testé la plupart d'entre eux donc une erreur de ta part est probable.
Après cette indication dévoilée nous pourront rechercher les portions de codes concernées et tenter de deviner ton erreur.
ismail02100 le 18/01/2014 à 13:09
Bonjour,il s'agit de celui-ci
Version 1.0 (1200 octets) : avec des niveaux en +

Code
EffDessin
0=>Xmin
94=>Xmax
(-)62=>Ymin
0=>Ymax
AxesNAff
FonctNAff
16=>A:18=>B:44=>C:77=>D:1=>E:2=>N:0=>O
7=>dim(Liste6
1=>P
Goto S
Lbl R
EffEcr:Disp "BLOQUE
Pause
Lbl S
Menu("NIVEAU","",A,"",B,"",C,"",D,"",E,"",F,"",G
Lbl E
If 39>Liste6(4:Goto R
5=>P:38=>B
For(ø,23,68,5
For(Z,13,16
Ligne(ø,Z-ø,ø+3,Z-ø
End
End
Goto A
Lbl F
If 39>Liste6(5:Goto R
26=>A:6=>P
For(ø,42,45
Ligne(8,20-ø,86,20-ø
Ligne(8,(-)ø,27,(-)ø
Ligne(67,(-)ø,86,(-)ø
Ligne(ø-14,(-)7,ø-14,(-)21
Ligne(ø-14,(-)32,ø-14,(-)57
Ligne(ø+21,(-)32,ø+21,(-)57
Ligne(ø+21,(-)7,ø+21,(-)10
End
Goto A
Lbl G
If 39>Liste6(6:Goto R
6=>A:7=>P
For(ø,1,15
13+5ent(NbrAléat14=>I
5ent(NbrAléat8+3=>J
For(Z,0,3
Ligne(I,Z-J,I+3,Z-J
End
End
Goto A
Lbl C
3=>P
Lbl D
If 39>Liste6(3-ent(P/3:Goto R
For(ø,7,10
For(Z,0,45,45
Ligne(8,(-)ø-Z,41,(-)ø-Z
Ligne(53,(-)ø-Z,86,(-)ø-Z
End
For(Z,1,76,75
Ligne(ø+Z,(-)11,ø+Z,(-)25
Ligne(ø+Z,(-)37,ø+Z,(-)51
End:End
If P=3:Goto A
3=>P
Lbl B
If 39>Liste6(P:Goto S
For(ø,27,35
Ligne(28,(-)ø,66,(-)ø
End
Ligne(32,(-)31,62,(-)31,0
P+1=>P
Lbl A
If .7349=partDéc(Liste6(P:Liste6(P=>O
EffListe Liste4
EffListe Liste5
99=>dim(Liste4
99=>dim(Liste5
For(ø,1,6,1.4
Ligne(88,(-)ent(ø),6,(-)ent(ø)
End
Ligne(6,(-)57,88,(-)57
Ligne(88,(-)56,88,(-)6
Ligne(6,(-)6,6,(-)56
Texte(0,13," SCORE : 3
Texte(0,53," HIGH : ",ent(O
Lbl 5
(-)8-5ent(NbrAléat10=>I
8+5ent(NbrAléat16=>J
If pxl-Test((-)I,J:Goto 5
Ligne(J,I,J+2,I-2
Ligne(J,I-2,J+2,I
Goto 3
Lbl 2
6+50partDéc((A+C)/50=>A
8+80partDéc((B+D)/80=>B
If pxl-Test(A+2,B:Goto 4
Texte(A,B,"º
Lbl 3
arrondi(1+NpartDéc(E/N),0=>E
Texte(Liste4(E),Liste5(E),"[4 espaces]
A=>Liste4(E:B=>Liste5(E
codeTouch(=>K
If K=0:Goto 2
If D=72:Then
If K=24:67=>D
If K=26:77=>D
If 1=abs(K-25:44=>C
Goto 2:End
If C[pas égal à]44:Goto 2
If K=25:39=>C
If K=34:49=>C
If K=25 ou K=34:72=>D
Goto 2
Lbl 4
Texte(A,B,"º
Ligne(B+1,(-)A-3,B+2,(-)A-2
If (-)I[pas égal à]A+2 ou J[pas égal à]B ou N=99:Goto Q
N+1=>N
Texte(0,38,N+1
Goto 5
Lbl Q
If N+1>O:N+1.7349=>Liste6(P
Texte(27,31,"GAME OVER
Pause
EffEcr
Output(2,5,"SNAKE NN
Output(3,3,"VERSION  1.0
Output(5,5,"NOUFNOUF
Output(6,5,"06/10/06
linkakro le 18/01/2014 à 16:47
C'est le snake de Ratuss. Le lien aurait pu suffir.
Les balises [code*][/*code] sans les étoiles permettent de mettre en forme le programme et éviter les smilies. J'édite le message pour ajouter des balises.

Code
Tu peux avoir mal écrit ça.
(-) est la négativité (touche sous [3])
[pas égal à] est le égal barré du menu 2nde+maths.
Il est judicieux de revenir à la ligne plutôt que de juxtaposer.
Code
If (-)I[pas égal à]A+2 ou J[pas égal à]B ou N=99:Goto Q
Je simplifie ainsi.
Code
If I+A+2 ou J-B ou N=99
Goto Q
ismail02100 le 19/01/2014 à 13:18
Pour la négativité,et le (pas égale à),j'ai pas fait comme vous le dites.Je vais tout de même essayé avec votre code simplifié,je vous remercie de votre aide bigmouth.gif
ismail02100 le 19/01/2014 à 14:28
Toujours le même soucis,le game over en plein milieu qui empêche de jouer maxiangry.gif maxiangry.gif maxiangry.gif maxiangry.gif maxiangry.gif
m@thieu41 le 19/01/2014 à 15:12
Bonjour,

Vérifie que tu n'as pas oublié le Goto 5:
Code
Texte(0,38,N+1
Goto 5
Lbl Q

Sinon vérifie que tu n'as pas mis un Goto Q à la place d'un Goto X (X représentant n'importe quel nombre/lettre).
linkakro le 19/01/2014 à 19:25
Se passe -t- il quelque chose avant l'affichage du message ?
Quel est ton modèle de calculatrice ?

J'aimerais que tu consultes toutes les variables après l'arrêt et que tu nous dises l'état, pour qu'on cherche ce qui ne va pas.
Cela se fait en saisissant leur nom dans l'écran de calcul.
Voici les variables importantes que j'ai remarqué.
A,B,C,D,E,I,J,N,P,Liste4,Liste5
Et dis nous aussi quelle action tu as faite exactement au travers des menus, et éventuellement les touches pressées.

Ensuite tu devrais aussi placer des pauses avec des nombres dedans, avant chaque If, chaque End, chaque While, chaque Repeat, chaque Lbl, et nous dire lesquels font un affichage.
Pause 1
Pause 2
etc

debilosus semble avoir déjà eu ton problème excepté lorsqu'il pressait une touche pendant la création du décor.
https://tout82.pages-perso.fre[...]age=50110#50110
ismail02100 le 23/01/2014 à 19:36
Lors du lancement du programme prgrm>snake et le jeu se lance et deux secondes après le game over en pleins écran frozen.gif
linkakro le 24/01/2014 à 01:36
Et ton modèle ?
(82 ? 82stat ? 82statfr ?)

Puisque je ne sais pas quelle est l'erreur, j'ai besoin que tu places des commandes d'affichage supplémentaires pour que ces affichages montrent ce qui ne va pas.
Je t'ai (déjà) donné deux indications pour rechercher le problème.

Pour commencer ajoute à la fin ceci et dis nous ce que cela affiche. Teste le niveau vierge.
Code
Disp A,B,C,D,E
Pause
Disp I,J,N,P
Pause L4
Pause L5