π
<-
Chat plein-écran
[^]

premier score

premier score

Message non lude FjFk » 08 Mai 2018, 14:16

re-bonjour,
encore un point d'interrogation lors de la création des scores sur ma TI-83 premium ( :32ti83pce: ) :
comment faire les premier scores sachant que la personne qui utiliseras pour la première fois le jeu n'auras pas les lises là ?
merci d'avance
JK

ps: j'utilise les listes !!! ^^
Dernière édition par FjFk le 10 Mai 2018, 17:10, édité 1 fois.
Image
Tu veux découvrir mon projet Anonymous ?
Leviathan
Avatar de l’utilisateur
FjFk
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 82.9%
 
Messages: 282
Images: 18
Inscription: 01 Mai 2018, 15:59
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: T STL

Re: premier score

Message non lude randlog » 08 Mai 2018, 14:30

Tu peux faire au début du programme un menu "première utilisation" où si l'utilisateur sélectionne première utilisation tu définis toute tes listes nécessaires ;)
Image
Image
Avatar de l’utilisateur
randlogAmbianceur
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 15.4%
 
Messages: 567
Inscription: 05 Sep 2015, 16:23
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Supoptique

Re: premier score

Message non lude loupiot » 08 Mai 2018, 14:31

ça dépend comment tu t'y prends ;
si à chaque partie tu ajoute un score, alors ça va être compliqué.
Sinon tu peux créer une liste à la première utilisation du programme (ça te demandera d'utiliser une variable que tu n'utiliseras qu'au début du programme pour vérifier si le programme a déjà été utilisé, par exemple un Z, s'il vaut autre chose que 56 (une valeur qu'il ne risque pas d'avoir), alors tu lui assignes la valeur 56 et tu crées une liste composée uniquement de 0, par exemple 10 fois 0. tu peux appeler cette liste LSCORE (avec un petit L, indiquant que c'est une liste). Cette méthode n'est pas parfaite, si un petit malin supprime la liste SCORE alors le programme aura des erreurs.
LSCORE(1) sera le score record, LSCORE(2) le deuxième meilleur etc ... A la fin d'une partie, tu pourrais tester avec une boucle for si le score est supérieur à un élément de LSCORE. S'il est supérieur à LSCORE(5) mais inférieur à LSCORE(4), la méthode consisterais à délacer tous les éléments de LSCORE entre 5 et 9 un élément en dessous, et enfin à mettre le score de la partie dans LSCORE(5). Ca se fait avec une boucle mais c'est un peu long, je l'admet :?
Il doit y avoir une méthode plus simple
Avatar de l’utilisateur
loupiotProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 1.9%
 
Messages: 158
Images: 4
Inscription: 30 Oct 2015, 13:23
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2A ENS Lyon maths

Re: premier score

Message non lude Bisam » 08 Mai 2018, 14:41

C'est un très bon exercice d'algorithmique sur les listes que d'apprendre à insérer un élément au bon endroit dans une liste classée... et la méthode que tu suggères, loupiot, est la bonne (on peut améliorer la recherche en faisant une recherche dichotomique s'il y a une TRES grande liste... mais ça n'améliorera pas les performances globales puisqu'il faudra tout décaler de toute façon).

En Python, en revanche, ça prendrait une ligne...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: premier score

Message non lude FjFk » 08 Mai 2018, 15:23

loupiot a écrit:ça dépend comment tu t'y prends ;
si à chaque partie tu ajoute un score, alors ça va être compliqué.
Sinon tu peux créer une liste à la première utilisation du programme (ça te demandera d'utiliser une variable que tu n'utiliseras qu'au début du programme pour vérifier si le programme a déjà été utilisé, par exemple un Z, s'il vaut autre chose que 56 (une valeur qu'il ne risque pas d'avoir), alors tu lui assignes la valeur 56 et tu crées une liste composée uniquement de 0, par exemple 10 fois 0. tu peux appeler cette liste LSCORE (avec un petit L, indiquant que c'est une liste). Cette méthode n'est pas parfaite, si un petit malin supprime la liste SCORE alors le programme aura des erreurs.
LSCORE(1) sera le score record, LSCORE(2) le deuxième meilleur etc ... A la fin d'une partie, tu pourrais tester avec une boucle for si le score est supérieur à un élément de LSCORE. S'il est supérieur à LSCORE(5) mais inférieur à LSCORE(4), la méthode consisterais à délacer tous les éléments de LSCORE entre 5 et 9 un élément en dessous, et enfin à mettre le score de la partie dans LSCORE(5). Ca se fait avec une boucle mais c'est un peu long, je l'admet :?
Il doit y avoir une méthode plus simple


pour le passage du premier au 2 eme si le nouveau est plus grand ect: c'est fait.
moi, c'est comment aire pour insérer au début un score (30 par exem) sans qu'il ce remette a 30 quand la partie recommence .
Image
Tu veux découvrir mon projet Anonymous ?
Leviathan
Avatar de l’utilisateur
FjFk
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 82.9%
 
Messages: 282
Images: 18
Inscription: 01 Mai 2018, 15:59
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: T STL

Re: premier score

Message non lude puppy65 » 08 Mai 2018, 16:42

La méthode la plus simple est de transferer la liste (au format .8xl) avec les .8xp, initialement à 0. ;)
Avatar de l’utilisateur
puppy65
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 73.6%
 
Messages: 313
Images: 0
Inscription: 09 Nov 2017, 19:26
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nde

Re: premier score

Message non lude Bisam » 08 Mai 2018, 16:43

Je ne comprends pas bien ce que tu veux faire.
Il y a bien évidemment deux variables à considérer : une variable qui compte le score de la partie en cours, et une autre variable (une liste, en l'occurrence) qui enregistre les meilleurs scores.
Bien évidemment aussi, tu réinitialises ta variable compte le score à chaque nouvelle partie... mais tu ne réinitialises pas la lise des meilleurs scores.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: premier score

Message non lude puppy65 » 08 Mai 2018, 16:47

Dans la liste à transférer (disons LSCOR), il y aura
Code: Tout sélectionner
{0 ; 1}


Le programme principal fera :
Code: Tout sélectionner
If LSCOR(2)=1
Then
N->LSCOR(1)
0->LSCOR(2)
End

(N est le score de la partie en cours)

Le premier score est ainsi enregistré :)
Avatar de l’utilisateur
puppy65
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 73.6%
 
Messages: 313
Images: 0
Inscription: 09 Nov 2017, 19:26
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nde

Re: premier score

Message non lude puppy65 » 08 Mai 2018, 16:57

Désolé j'ai pas compris. J'ai fait le code pour récupérer le "premier" score, et pas le meilleur score :D

C'est simple alors, on fait un programme "INSTALL" qui crée une liste (LSCOR) avec 3 scores (tous 0) à ne lancer que pour installer le jeu, et à la fin de chaque partie (N état le score), on fait :
Code: Tout sélectionner
If N>LSCOR(1)
Then
LSCOR(2)->LSCOR(3)
LSCOR(1)->LSCOR(2)
N->LSCOR(1)
Else
If N->LSCOR(2)
Then
LSCOR(2)->LSCOR(3)
N->LSCOR(2)
Else
If N>LSCOR(3)
Then
N->LSCOR(3)
End
End
End

Après si tu veux 10 meilleurs scores c'est pas chose facile...
Avatar de l’utilisateur
puppy65
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 73.6%
 
Messages: 313
Images: 0
Inscription: 09 Nov 2017, 19:26
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nde

Re: premier score

Message non lude Bisam » 08 Mai 2018, 18:19

Mais si, c'est facile...
Je donne l'exemple avec une liste contenant P valeurs :
Code: Tout sélectionner
For I,1,P
  If N>LSCOR(I)
  Then
    Break
  End
End
For J,P-1,I,-1
  LSCOR(J)→LSCOR(J+1)
End
N→LSCOR(I)

C'est même plus court que ton cas particulier...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1294 utilisateurs:
>1251 invités
>39 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)