π
<-

premier score

premier score

Unread postby FjFk » 08 May 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 !!! ^^
Last edited by FjFk on 10 May 2018, 17:10, edited 1 time in total.
Image
Tu veux découvrir mon projet ClaudeBot [spider] ?
Leviathan
User avatar
FjFk
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 83%
 
Posts: 282
Images: 18
Joined: 01 May 2018, 15:59
Location: Lune
Gender: Male
Calculator(s):
MyCalcs profile
Class: Inconnu

Re: premier score

Unread postby randlog » 08 May 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
User avatar
randlogAmbianceur
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 15.9%
 
Posts: 567
Joined: 05 Sep 2015, 16:23
Gender: Male
Calculator(s):
MyCalcs profile
Class: Doctorant - physique

Re: premier score

Unread postby loupiot » 08 May 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
User avatar
loupiotProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 1.9%
 
Posts: 158
Images: 4
Joined: 30 Oct 2015, 13:23
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2A ENS Lyon maths

Re: premier score

Unread postby Bisam » 08 May 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...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: premier score

Unread postby FjFk » 08 May 2018, 15:23

loupiot wrote:ç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 ClaudeBot [spider] ?
Leviathan
User avatar
FjFk
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 83%
 
Posts: 282
Images: 18
Joined: 01 May 2018, 15:59
Location: Lune
Gender: Male
Calculator(s):
MyCalcs profile
Class: Inconnu

Re: premier score

Unread postby puppy65 » 08 May 2018, 16:42

La méthode la plus simple est de transferer la liste (au format .8xl) avec les .8xp, initialement à 0. ;)
User avatar
puppy65
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 73.6%
 
Posts: 313
Images: 0
Joined: 09 Nov 2017, 19:26
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2nde

Re: premier score

Unread postby Bisam » 08 May 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.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: premier score

Unread postby puppy65 » 08 May 2018, 16:47

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


Le programme principal fera :
Code: Select all
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é :)
User avatar
puppy65
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 73.6%
 
Posts: 313
Images: 0
Joined: 09 Nov 2017, 19:26
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2nde

Re: premier score

Unread postby puppy65 » 08 May 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: Select all
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...
User avatar
puppy65
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 73.6%
 
Posts: 313
Images: 0
Joined: 09 Nov 2017, 19:26
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2nde

Re: premier score

Unread postby Bisam » 08 May 2018, 18:19

Mais si, c'est facile...
Je donne l'exemple avec une liste contenant P valeurs :
Code: Select all
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...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Next

Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2461 utilisateurs:
>2450 invités
>5 membres
>6 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)