Tout est ok entre Lb5 et Goto 3
J'ai :
-8_5ent(NbrAléat10=>I ( Le _ correspond au moin au dessus du +
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
Ps: Quand je vais sur le point il me met une erreur sur
If N+1=>0:N+1.7349=>L6(1
Et l'erreur est sur la flèche avant le 0
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 10 Nov 2014, 22:56
Tu es le premier à utiliser un symbole spécial pour représenter la soustraction et le tiret pour le négatif. D'habitude on utilise le spécial pour le négatif et le tiret pour soustraire. Tant qu'on comprend, ça va.
Je ne devine pas d'erreur particulière.
Dans la condition
If N+1=>0
Il ne s'agit pas de la flèche sto mais du symbole de comparaison supérieur ou égal. Ce n'est pas non plus la lettre O mais le nombre zéro.
Tandis que N+1.7349=>L6(1 contient bien un sto.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 10 Nov 2014, 23:20
Citer : antoine-94
( - ) = Negatif ?
- = Soustraction ?
C'est la convention utilisée par Ratuss en tout cas. Elle est inspirée du clavier de la calculatrice, et beaucoup de personnes ont suivi cette logique.
Utilise une balise code pour forcer l'affichage des espaces et empêcher les smileys tels que . Et pour aligner en colonnes, tu peux aussi copier coller des tabulations.
Commande une citation ou édition de ton message pour voir ma balise comme exemple.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
C'est la convention utilisée par Ratuss en tout cas. Elle est inspirée du clavier de la calculatrice, et beaucoup de personnes ont suivi cette logique.
Utilise une balise code pour forcer l'affichage des espaces et empêcher les smileys tels que . Et pour aligner en colonnes, tu peux aussi copier coller des tabulations.
Commande une citation ou édition de ton message pour voir ma balise comme exemple.
D'accord Merci
Mais reste toujours le problème du point que ne se met pas à la suite du serpent ..
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 11 Nov 2014, 16:32
La ligne du Goto 4 que j'ai signalée ?
Si tu ne trouves vraiment pas, tu devrais ajouter des Pauses et des affichages distincts pour savoir ce qui est exécuté ou non.
Encore une chose, sache que l'allongement du serpent dans cet algorithme n'est pas immédiat, mais se produit lorsque la fin du tampon de la mémoire du serpent est atteint. Pour un serpent de longueur 4, cela prendrait de 1 à 4 déplacements.
Donc je te prie de confirmer qu'il n'y a pas du tout d'allongement.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Le problème est que quand je vais sur le point celui ci reste sur place mais le serpent continue d avancer et que je vais sur un autre point, le premier reste encore à sa place
Ps: quand je vais sur le premier point, l'écran m'affiche Game Oser
Merci
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 11 Nov 2014, 17:51
Le serpent s'allonge-t-il correctement ? Et le phénomène se reproduit-il avec les prochains points (second, troisième, etc.) ?
Le fait que la nourriture ne disparaisse pas n'est pas normal, mais la collision par la suite est normale. Lorsque le serpent rencontre des pixels, il compare les coordonnées de ce pixel avec celles de l'endroit où il se souvient avoir créé un point.
Néanmoins le programme ajoute un affichage en rabiot au moment précis où on mange un point, mais j'ai oublié pourquoi. (je crois que cela évite un conflit avec la création du prochain)
Tandis que l'effacement de la queue du serpent doit effacer aussi les pixels en trop.
Vérifies les quatre espaces d'effacement de la queue du serpent.
Texte(Liste4(E),Liste5(E),"[4 espaces]
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 13 Nov 2014, 10:26
Vérifie que tu as bien utilisé l'affectation sto et pas le comparateur supérieur ou égal dans la ligne suivante.
N+1=>N
Si tu places Pause 4 juste après Lbl 4 on pourra tester et constater par l'affichage du 4 dans l'écran principal si la routine est bien exécutée.
Et avec d'autres affichages de A,B,I,J par la suite on peut analyser la procédure pour trouver à partir d'où c'est défectueux.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 25 Nov 2014, 22:42
[var] est située à droite de [prgm], à gauche de [annul], et au dessus de [tan]. Si tu as une calculatrice portant un numéro 82, 83 ou 84 peu importe le suffixe alors tu as forcément cette touche.
En revanche la TI82 n'a pas le même menu [Y-var] que les autres.
Pour une TI-82, Y-var est dans [2nde]+[var].
Pour une ti82stats, Y-var est dans [var]+[droite].
FonctNAff s'appelle FonctOff en anglais et aussi dans la ti82statsfr.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
slt g un probleme
ma ti 83+ affiche DIM INVALIDE quand je vais dans le niv 1
pour les autres niv elle affiche BLOQUE
g tout copier pareil pourtant ...
programme version 1.0
lol Invité
Posté le : Sam 04 Avr 2015, 17:21
l'erreur est a :
Code
ligne(88,(-)ent([le o barré]),6,(-)ent([le o barré])
:-(
merci d'avance !
Salut Invité
Posté le : Sam 06 Jui 2015, 16:01
Salut, je tombe sur une erreur domain dans la ligne
Code
If pxl-test(A+2,B
loki Invité
Posté le : Mar 16 Jui 2015, 10:04
Citer : Ratuss
Voici le code (pour les stat en francais)
Version 0.5 (600 octets)
Code
EffDessin
0=>Xmin
94=>Xmax
(-)62=>Ymin
0=>Ymax
AxesNAff
FonctNAff
6=>A:8=>B:44=>C:77=>D:1=>E:2=>N:0=>O
1=>dim(Liste6
If .7349=partDéc(Liste6(1:Liste6(1=>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(1
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
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
Ps : ø = alpha+3
@+
--- Edit 17 mars 2014 par Linkakro ---
Méfiez-vous du "ent(0", c'est bien la lettre O, pas le nombre zéro 0.
Il faut corriger le Goto S suivant en Goto R. (voir pages 53 et 54) Sinon le second niveau renvoi au menu.
Code
Lbl B
If 39>Liste6(P:Goto S /// If 39>Liste6(P:Goto R
Il faut ajouter un guillemet sur TI82 (ni stats ni plus) en fin de Text pour que le Lbl 3 puisse fonctionner. (voir pages 55 et 56)
Code
Texte(A,B,"º" //// guillemet final indispensable sur TI82 non-stat
Lbl 3
EDIT 10/09/2014 : Xmin est dans le menu var+1. J'en ai assez de le répéter dans la fin du sujet.
salut j'aimerai savoir ou se trouve la commande liste6 ?