Quel est votre âge cérébrale ? - Jeu de brain training -
Auteur
Message
tonio 2 Invité
Posté le : Lun 25 Mar 2013, 22:25
Voici un petit programme dans le style de Dr Kawashima,un jeu sur DS qui vous donne votre " âge cérébrale " après une suite de plusieurs minis-jeux.
Je l'ai séparé en plusieurs programmes pour simplifier son ecriture.
Il reste surement plein d'optimisation et d'amélioration à faire surtout au niveau de la présentation mais je vous avoue que je saturais un peu alors je m'en satisfais pour le moment. Je posterais peut-être une amélioration plus tard.
PS : On va dire que ce signe : "¤" veut dire téta psk je sais pas où le trouver sur mon clavier. dsl
Code
Prgm MEMORY
EffDessin
94->Xmax
62->Ymax
0->Xmin
0->Ymin
Ombre(52,62,10,84
Texte(3,15," HOW IS YOUR MEMORY
For(¤,3,30
Texte(25,¤," BRAIN TRAINING
End
For(¤,3,20
Texte(40,¤," BY TONYGAMES // Rohhh ça va, j'ai bien le droit de me la
End // jouer un peu non ^^
Effvar K
While K-105
codeTouch(->K
Texte(56,25,"PRESS ENTER
For(¤,1,25
End
Texte(56,25," // Ici environ 40 espaces
End
Lbl M
Menu("===== MENU =====","JOUER",1,"ENTRAINEMENT",2,"RESULTATS",3
Lbl 1
prgm CALCUL
prgm TAMBOUR
prgm VISUEL
EffDessin
Texte(31,5,"TON AGE CEREBRALE EST : ...
100-arrondi((100O/64+100(500-N)/500+100P/99)/3,0->Q
For(¤,1,100
End
Texte(40,40,Q
L+1->L //Pour enregistre les scores
Q->L6(L) // Cela sous-entend que L fut initialisé à 0
Pause // Et que aucun autre programme n'utilise cette variable
Goto M
Lbl 2
Menu("MINI-JEUX","VISUEL",V,"TAMBOUR",T,"PAIRES",P,"CALCULS",C
Lbl V
PrgmVISUEL
Goto M
Lbl T
PrgmTAMBOUR
Goto M
Lbl C
PrgmCALCUL
Goto M
Lbl 3
L6
Un petit prgm de calcul mental avec gestion du temps
Code
Prgm CALCUL
50->D
O->N
For(Z,1,10
EffDessin
Texte(1,1,N
entAléat(3,9->A
entAléat(4,9->B
EffListe L1
2->dim(L1
For(¤,1,D
Pt-Aff(¤+20,50,1
End
Texte(30,10,A
Texte(30,14,"*
Texte(30,20,B
1->C
For(¤,1,D
Pt-NAff(¤+20,50,1
codeTouch(->K
3(10-partEnt(K/10)-(K<100))+K-10partEnt(K/10)-1-(K>100->L1(C
If K
Then
C+1->C
If C=2
Then
Texte(30,50,L1(1
Else
Texte(30,54,L1(2
N->M
N+¤->N
End
End
End
If 10L1(1)+L1(2)=/=A*B
M+50->N
End
Un autre pour tester votre mémoire visuel, le but du jeu est de pointer le curseur sur le dernier chiffre qui vient d'apparaitre. Plus dur que ça en a l'air
Pour ce jeu, il faut avoir éditer la matrice [B] en 8*8
Code
Prgm VISUEL
0->O
For(¤,1,8
For(Z,1,8
0->[B](¤,Z
End
End
Lbl C
entAléat(1,8->A
entAléat(1,8->B
If [B](A,B
Goto C
O+1->O
entAléat(1,9->[B](A,B
EffEcr
For(¤,1,8
Output(¤,4,"{
Output(¤,13,"}
End
For(¤,1,8
For(Z,1,8
If [B](¤,Z
Output(¤,Z+4,[B](¤,Z
End
End
Output(1,1,O
4->C
9->D
Repeat K=105
C->E
D->F
codetouch(->K
C+(K=34)-(K=25->C
D+(K=26)-(K=24->D
Output(C,D,"+
End
Output(C,D,[B](C,D-4
If C=A et D-4=B et O<64
Goto C
Et enfin, le dernier mini-jeu, il s'agit ici de mémoriser l'ordre d'apparition des étoiles et de le reproduire à l'aide des touches situées sur la première ligne de touche de la calculette en partant du haut
Code
Prgm TAMBOUR
EffListe L1
99->dim(L1
0->P
Lbl 1
P+1->P
entAléat(1,5->L1(P
For(¤,1,P
EffEcr
For(Z,1,100
End
Output(8,3L1(¤)-1,"*
For(Z,1,100
End
End
For(¤,1,P
EffEcr
EffVar K
Repeat K
codeTouch(->K
End
Output(8,3(K-10)-1,"*
If K-10-L1(¤
Goto F
End
Goto 1
Lbl F
Voili, voilou, tout conseil, remarque, commentaire ou quoique ce soit du style sera apprécié. Merci bien
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 25 Mar 2013, 22:41
Personne ne se souvient du code ascii du thêta et ce forum ne supporte pas l'unicode. Donc ¤ convient très bien et il sert déjà souvent.
Tu peux éditer la matrice dans le programme. C'est plus simple.
Solution 1 : {8,8->dim([B]
Solution 2 : identité(8->[B]
La 1 redimensionne seulement et la 2 écrase le contenu avec la matrice identité d'ordre 8. (des 1 sur la diagonale et des 0 ailleurs)
Tu peux contrôler la taille de la liste avec dim().
A la lecture elle répond la taile et à l'écriture elle modifie la taille.
dim(L2)->L ou L->dim(L2)
Cependant la dimension zéro n'est pas supportée avant la ti83plus.
Afin de ne pas avoir de problème quand la liste n'existait pas ou était vide ni perdre des données, il faut poser une taille maximale au début du programme, tester le contenu et réduire la taille au nécessaire si elle est variable.
EDIT : ou simplement définir la taille manuellement, ce que je n'aime pas.
Je ne vois pas l'intérêt de déplacer un curseur pour Visuel.
---------------------- 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)
Merci pour tes conseils. Je m'attellerais à les appliquer dès le premier cours d'histoire ^^
Quant à visuel, je vois pas vraiment comment faire sans curseur. A moins que chaque touche de la calculette corresponde à une case à l'ecran... Mais c'est compliqué. Enfin, essaye le jeu, je pense que tu comprendras