Forum

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

Snake - Page 60 / 61

antoine-94 le 10/11/2014 à 21:32
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

Merci
linkakro le 10/11/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.
antoine-94 le 10/11/2014 à 23:11
Problème régler pour le message d'erreur mais reste toujours l'histoire du point..

Ps : Lorsque qu'ont écrit cupsmiley.gif = Signe Négatif ?
- = Soustraction ?
Code
Ps : Lorsque qu'ont écrit (-) = Signe Négatif ?
                           - = Soustraction ?


Merci
antoine-94 le 10/11/2014 à 23:12
( - ) = Negatif ?
- = Soustraction ?
linkakro le 10/11/2014 à 23:20
antoine-94 a écrit :
( - ) = 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 cupsmiley.gif. 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.
antoine-94 le 11/11/2014 à 11:52
linkakro a écrit :
antoine-94 a écrit :
( - ) = 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 cupsmiley.gif. 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 ..
linkakro le 11/11/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.
antoine-94 le 11/11/2014 à 17:25
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
linkakro le 11/11/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]
antoine-94 le 11/11/2014 à 20:37
Le serpent ne s'allonge pas.
La ligne est bonne

Merci
linkakro le 13/11/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.
TKO_linklda91 le 25/11/2014 à 21:20
Bonjour, je ne trouve pas la touche FonctNAff. J'ai lue le sujet et on dit que c'est dans [2nd] vars > [4] > [2]. Sauf que je n'ai pas de touche vars

Please ! cry.gif
linkakro le 25/11/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.
TKO_linklda91 le 27/11/2014 à 21:39
Merci linkakro, je suis sur la ti 82 statfr.
J'ai du mal avec la programmation, et je me lance dans un long programme, un début happy.gif
lol le 04/04/2015 à 16:59
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 ... cry.gif
lol le 04/04/2015 à 17:05
lol a écrit :
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 ... cry.gif

programme version 1.0
lol le 04/04/2015 à 17:21
l'erreur est a :


Code

ligne(88,(-)ent([le o barré]),6,(-)ent([le o barré])
 :-( 

merci d'avance !
Salut le 06/06/2015 à 16:01
Salut, je tombe sur une erreur domain dans la ligne
Code
If pxl-test(A+2,B
loki le 16/06/2015 à 10:04
Ratuss a écrit :
Voici le code (pour les stat en francais)

Image manquante


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 ?
Mingerton le 16/06/2015 à 12:20
Inutile de tout quoter pour une commande winkle.gif

Sinon, tu la trouveras ave 2nd-6, et selon le même principe pour les listes L1 à L5.