| Un problème de snake |
| Auteur |
Message |
Zzortell
Invité
|
Posté le : Mer 26 Sep 2012, 9:43
|
|
|
J'ai crée un snake pour le TP du site du zero mais il me marque "eurreur dim". J'ai une TI-82 STATS.fr. Dites-moi ce que je dois faire svp.
$ Stocker
=/ Pas égal
| Code | EffVar G
EffVar S
EffEcr
{4,4,4}$L1
{4,3,2}$L2
Repeat X=/L1(1) et Y=/L2(1)
entAleat(1,8)$X
entAleat(1,16)$Y
End
OutPut(X,Y,"0
Repeat G
EffVar M
EffVar B
For(A,0,dim(L1),1
B+1$B
OutPut(L1(B),L2(B),0
End
If L1(1)=X et L2(1)=Y
Then
S+1=S
Repeat X=/L1(1) et Y=/L2(1)
entAleat(1,8)$X
entAleat(1,16)$Y
End
1$M
OutPut(X,Y,"*
End
F1$B
For(A,1,dim(L1),1
B+1$B
If L1(B)=L1(1) et L2(B)=L2(1)
1$G
End
codeTouch$K
If M
Then
L1(dim(L1))$L1(dim(L1)+1
L2(dim(L2))$L2(dim(L2)+1
End
dim(L1)$B
For(A,dim(L1),0,(-)1
B-1$B
L1(B)$L1(B+1
L2(B)$L2(B+1
End
If K=24
L2(1)-1$L2(1)
If K=25
L1(1)-1$L1(1)
If K=26
L2(1)+1$L2(1)
If K=34
L1(1)+1$L1(1)
If L1(1)=0
8$L1(1)
If L1(1)=9
1$L1(1)
If L2(1)=0
16$L2(1)
If L2(1)=17
1$L2(1)
End |
PS: Il y a pas encore le tableau des scores, c est tres moche, c est normal, c est juste ma base.
|
| |
|
| |
eArnoow
Autorisation : Membre
Nb de messages : 88
Inscrit le : Dim 16 Sep 2012, 14:20
|
Posté le : Mer 26 Sep 2012, 11:35
|
|
|
Je suis pas très bon donc je peux pas te corriger (surtout que tu dis pas la ligne de l'erreur), mais plusieurs choses m'intriguent :
| Code | Repeat X=/L1(1) et Y=/L2(1)
entAleat(1,$X
entAleat(1,16)$Y
End |
Ce code revient deux fois !
Ta boucle Repeat G (je ne sais pas ce que représente G) efface à chaque fois M et B, est-ce utile ?
| Code | If K=24
L2(1)-1$L2(1)
If K=25
L1(1)-1$L1(1)
If K=26
L2(1)+1$L2(1)
If K=34
L1(1)+1$L1(1)
If L1(1)=0
8$L1(1)
If L1(1)=9
1$L1(1)
If L2(1)=0
16$L2(1)
If L2(1)=17
1$L2(1) |
Les plus expérimentés te donneront un code optimisé pour ça 
A+
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Zzortell
Invité
|
Posté le : Mer 26 Sep 2012, 12:15
|
|
|
1) Je suis concient qu'il revienne deux fois,mais j ai pas trouvé d autres moyens.
2) Oui c est normal car à chaque boucle il faut tout revérifier donc remettre M et B à 0.
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 26 Sep 2012, 18:23
|
|
|
De quel TP s'agit-il ? Je ne le trouve pas.
Tu dois nous dire quel emplacement la calculatrice signale comme érroné.
S+1=S doit dêtre corrigé en S+1->S (S+1$S d'après ta notation)
Je ne trouve pas d'erreur flagrante dans l'algorithme.
---------------------- 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)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Mer 26 Sep 2012, 18:47
|
|
|
C'est un nouveau TP datant de la mise à jour du tuto de mdr1
https://web.archive.org/web/20121214220956/http://www.siteduzero.com/tutoriel-3-717922-tp-un-snake.html
Il ne donne pas de solution à la fin, juste des indications.
|
 |
|
| |
Zzortell
Invité
|
Posté le : Sam 06 Oct 2012, 18:58
|
|
|
L'erreur se situe à la ligne 16.
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 06 Oct 2012, 19:05
|
|
|
La valeur de B est fausse. (cela explique l'erreur dim)
Consulte la valeur de B puis vérifie tout ce qui concerne L1,L2, et B.
---------------------- 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)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Zzortell
Invité
|
Posté le : Dim 07 Oct 2012, 10:55
|
|
|
Elle n est pas fausse vu que je l a mets à 1 ou plus ligne 15.
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 07 Oct 2012, 12:15
|
|
|
Vérifie quand même sa valeur après l'erreur dim de la ligne 16.
Si la valeur est nulle ou si elle est suppérieure à la dimension de la liste, alors c'est qu'une ligne est fausse. (la 15 par 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)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |