Celà fait maintenant 3 ans que je programme sur ti-83 + et il y a une chose que j'aimerai savoir.

En ce moment je programme un sudoku sur calculette. Le programme es t presque fini mais il reste un peu lent et parfois (très rarement ) erreur memory s'affiche.

Y a t-il dees astuces pour accèlérer le programme sachant qui est très léger déjà. (mais il a pas mal de boucles...) ?

PS : je programme en basic assez élaboré
Le plus souvent les jeux sont lent à cause des boucles mals faites (et ça donne souvent les 'ERR : MEMORY'), voici un éxemple de boucle à ne pas faire :
Lbl 1
While 1
If [truc]=[truc]:Then:Goto 1:End End


Car si la condition est vérifiée, alors on va au label 1, et donc la boucle While ne se termine pas par un 'End' et en plus on re-crée une autre boucle While par dessus qui ne va peut être pas se terminer non plus.

A mon avis, il vaut mieu faire un truc du genre :
While 1
If [truc]=[truc]:Then:End End


'fin bon, des fois les boucles sont plus complexes et on voit pas souvent d'où viens 'ERR : MEMORY', le plus c'est encore de ne pas utiliser les 'Goto' (dans la mesure du possible).
J'ai d'ailleurs eu ce probleme d'Err. Memory dans FS6, et ne pouvant modifier cette partie du code, j'ai preferé faire quitter le jeu apres chaque match. Une valeur 1 est alors stockée dans une variable de valeur de base 0, et un test de cette variable, puis une réinitialisation de celle-ci à 0 permet de retourner a l'endroit du programme où le jeu avait été automatiquement quitté.
Du coup cela revient au final a une simple "Pause", puisque l'utilisateur a juste a faire "Enter" pour poursuivre le jeu.
c'est exactement ce que j'ai fais pour certains de mes rpgs, et c'est la meilleure seolution si le programme prends toute la ram
Ou comment restaurer la pile en somme.
En fait il doit stockuer sur la pile les labels de debut d'encadrement ou leur nombre (type if/while et lorsqu'il rencontre un End il voit donc à quoi ça correspond ) et ne les retire pas de la pile lors d'un goto car on peut sauter à l'intérieur même d'un bloc. Enfin qqch comme ça je suppose. Je crois pas qu'il y ait d'adresse de retour ? ( tiens je vérifierais qu'il y ait pas de return qui marche ça me pose un doute là .. )

Résultats tous les sauts conditionels qui sont assez indispensable quand même pourrisent la pile, à moins qu'ils se soient juste occupés de ceux-là, ce qui m'étonerait.
A leur place j'eu au moins fait un Gotoext qui prend la peine de regarder ou est le label et de fermer les encadrements par conséquent. Un peu moins rapide directement (linéaire en la taille de fin-position, en gros.. ) mais bon ça pourierais pas la pile.
Bon déterrage quand même grin (et pourtant le topic est toujours en haut de la section !)
Oups y'a eu une bizarerie là-dedans ( j'au eu l'icone comme quoi y'avait du neuf et en lisant la date j'ai 'lu' 22/09 cheeky )
Tu va me dire, pt la fatique ou l'alcool cheeky
Un lundi a 14h ?
L'alcool c'est sûr.

grin