Poster un nouveau sujet Poster une réponse
Question : Les Listes
Auteur Message
Floyd



Autorisation : Membre
Nb de messages : 3
Inscrit le : Ven 11 Mai 2012, 11:13
Posté le : Mer 02 Oct 2013, 21:36   Citer 

Bonjour tout le monde,

Je suis en train de coder un genre de Cookie Clicker (ce jeu où on clique sur un cookie puis on achète des machines pour le faire à notre place pour en gagner de plus en plus)...

Le problème, c'est que je dois stocker le nombre de cookies et le rendement des machines à cookie (en fonction de leur nombre) entre chaque partie, on ne va pas recommencer à zéro à chaque fois...

Donc j'utilise une liste, que j'écris

Code
{K,S}->CK


(K c'est le nombre de cookies, S le rendement)

Et au début du programme j'appelle les valeurs de K et S et je le réassigne à leur Lettre respective.

Le problème: comment je fais, au premier lancement du jeu, pour que K=0 et S=0?
Là, la calculette me met ERR:INDEFINI, ce qui est logique...

Merci happy.gif

----------------------
Prière de nourrir dans la limite du raisonnable le noob.
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 02 Oct 2013, 22:39   Citer 

Bonjour,
J'ai écrit un tuto sur la sauvegarde des données, il y a un chapitre sur comment vérifier si on est au premier lancement du prgm ou pas: http://tout82.forumactif.org/t60-sauvegarder-des-donnees#412

Mais je ne comprends pas l'erreur que tu obtient par contre... Initialiser une liste ne peut pas donner d'erreur indéfini...

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 02 Oct 2013, 22:58   Citer 

Sur ti 82 tu ne peux pas définir de liste au nom personnalisé, tu n'as que L1 à L6.

Je ne comprends pas le contexte de ton erreur. Indique ce qui plante, pas seulement la ligne de création. Et éventuellement poste le code entier.

Utiliser le raccourcis en se passant du symbole L n'est pas une bone idée, il vaudrait mieux être explicite et écrire {KS}->lCK.

Pour vérifier si le programme a déjà été exécuté, tu dois stocker une information dans la liste qui servira à différencier une liste ancienne d'une liste nouvelle.

Le plus simple pour faire ça, c'est de créer une liste en la dimensionnant puis cherchant une valeur non-nulle prouvant que la liste existait déjà avant.
(En effet la création d'une liste par son dimensionnement cause l'écriture de zéros aux termes précédemment indéfinis.)

Tu peux utiliser une case exprès pour ça.
Moi j'aime réserver la première case à ça.
Mais tu peux utiliser une autre information ou encore utiliser une autre case que la première.


Code
3->dim(lCK  // au début du programme

//Quand tu veux savoir si la liste est nouvelle et en supposant que le terme 1 est non-nul

If lCK(1
Then
//actions d'initialisation
End

// pour sauvegarder si tu as choisis la technique du premier terme réservé
{1,K,S->lCK

// réaffectation
lCK(2->K
lCK(3->S


Code
2->dim(lCK  // au début du programme

//Quand tu veux savoir si la liste est nouvelle et en supposant que le terme 1 est non-nul

If lCK(2
Then
//actions d'initialisation
End

// pour sauvegarder si tu as choisis la technique du premier terme réservé
{K,S->lCK

// réaffectation
lCK(1->K
lCK(2->S

Tu peux ranger les termes comme tu veux tant que tu testes correctement.

Tu trouveras des explications ici parmi d'autres : http://tout82.forumactif.org/t60-sauvegarder-des-donnees

----------------------
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
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink