π
<-

jeu de calcul mental 100% fini, recherche idées

jeu de calcul mental 100% fini, recherche idées

Messagede youngswastika » 03 Fév 2015, 23:14

Bonjour, voici un jeu de calcul mental réalisé par mes sois, le principe est simple :
on choisit le type d'opérations qui doivent apparaitre à l'écran (=,-,*,/)
on choisit le nombre de chiffres que l'on veut pour chaque nombre
10 calculs apparaissent 1 par 1 à l'écran, le but est d'avoir la meilleure note sur 10 possible

le code source du jeu :


Code: Tout sélectionner
Gridoff
CoordOff
AxesOff
LabelOff
ExprOff
ClrHome
While Y!=92 or Y!=93
getKey->Y
If Y=92
Goto 5
If Y=93
Then
Goto Q
End
Output(1,1,"POUR JOUER A CE"
Output(2,1,"JEU, IL FAUT"
Output(3,1,"MASQUER OU"
Output(4,1,"SUPPRIMER LES"
Output(5,1,"FONCTIONS"
Output(6,1,"[1] CONTINUER"
Output(7,1,"[2] QUITTER"
End
Lbl 5
ClrDraw
ClrHome
While Y!=92 or Y!=93 or Y!=94
getKey->Y
If Y=92
Goto 6
If Y=93
Goto I
If Y=94
Then
Goto Q
End
Text(10,10,"CALCUL MENTAL"
For(X,9,58
Pxl-On(17,X
For(A,1,8
End
End
Text(20,10,"BY DORIAN           V0.6"
Text(31,10,"[1] JOUER"
Text(38,10,"[2] INSTRUCTIONS"
Text(45,10,"[3] QUITTER"
End
Lbl 6
ClrDraw
While Y!=92 or Y!=93 or Y!=94 or Y!=82
getKey->Y
If Y=92
Then
"+"->Str0
1->N
Goto 3
End
If Y=93
Then
"-"->Str0
2->N
Goto 3
End
If Y=94
Then
"*"->Str0
3->N
Goto 3
End
If Y=82
Then
"/"->Str0
4->N
Goto 3
End
Text(10,10,"TYPE D'OPERATION :"
Text(20,10,"[1] ADDITIONS (+)"
Text(28,10,"[2] SOUSTRACTIONS (-)"
Text(36,10,"[3] MULTIPLICATIONS (X)"
Text(44,10,"[4] DIVISIONS (/)"
End
Lbl 3
ClrDraw
While Y!=92 or Y!=93 or Y!=94 or Y!=82 or Y!=83
getKey->Y
If Y=92
Then
1->U
9->V
6->E
7->F
8->G
Goto 4
End
If Y=93
Then
10->U
99->V
5->E
7->F
8->G
Goto 4
End
If Y=94
Then
100->U
999->V
4->E
7->F
8->G
Goto 4
End
If Y=82
Then
1000->U
9999->V
3->E
7->F
8->G
Goto 4
End
If Y=83
Then
10000->U
99999->V
2->E
7->F
8->G
Goto 4
End
1->Q
0->S
Text(1,1,"NOMBRE DE CHIFFRES :"
For(A,15,47,8
Text(A,10,"["
Text(A,13,Q
Text(A,17,"]"
Text(A,21,Q
Text(A,26,"CHIFFRE"
Q+1->Q
End
For(A,23,47,8
Text(A,54,"S"
End
End
ClrHome
ClrDraw
Lbl 4
For(T,1,10
ClrHome
randInt(U,V->B
randInt(U,V->C
Output(4,E,B
Output(4,F,Str0
Output(4,G,C
If N=1:B+C->O
If N=2:B-C->O
If N=3:B*C->O
If N=4:Then:B/C->O:End
Output(8,2,"SCORE :"
Output(8,9,S
Input "RESULTAT : ",P
If P=O:Then:S+1->S:End
If P!=O:Then:S+0->S:End
End
ClrDraw
While Y!=92 or Y!=93
getKey->Y
If Y=92
Goto 5
If Y=93
Then
Goto Q
End
Text(10,10,"PARTIE TERMINEE"
Text(20,10,"SCORE :"
Text(20,39,S
Text(20,48,"/10"
Text(39,10,"[1] MENU PRINCIPAL"
Text(47,10,"[2] QUITTER"
End
Lbl I
ClrDraw
Text(1,12,"CALCUL MENTAL :"
Text(11,1,"APRES AVOIR SELECTIONNE"
Text(19,1,"LE  TYPE D'OPERATION"
Text(27,1,"A FAIRE, LE BUT EST DE"
Text(35,1,"RESOUDRE LES 10 CALCULS"
Text(43,1,"EN FAISANT LE MINIMUM"
Text(51,1,"D'ERREUR"
Repeat getKey
End
ClrDraw
Text(10,10,"NOTE :"
Text(20,1,"POUR UN NOMBRE NEGATIF :"
Text(28,1,"IL FAUT UTILISER"
Text(36,1,"LA TOUCHE (-) QUI SE TROUVE"
Text(44,1,"EN DESSOUS DE LA TOUCHE 3"
Repeat getKey
End
Goto 5
Lbl Q
ClrHome
ClrDraw



cependant plusieurs difficultés auxquelles je suis confrontées :

1- 2 autres modes de jeux dans les quels il faudrait soit résoudre 10 calculs le plus vite possible (si un est faux, la partie est perdue)
et l'autre mode de jeu : faire le maximum de calculs en 25 secondes
si quelqu'un pouvait m'indiquer un peu comment je pourrais gérer le temps

2- il faudrait que j'utilise un autre moyen pour rentrer la solution d'un calcul qu'un input, car plusieurs défauts font leur apparition :
- par exemple, si le calcul est 3+6 , si on rentre 9, le calcul est validé, classique, mais si on rentre 12-3 ou 8+1, ou même 3+6
le calcul est validé également...
- si on efface un chiffre lors de la saisie dans l'input (si on s'est trompé dans la saisie par exemple) le calcul disparait, et ça peut s'averer genant...
- je ne crois pas qu'avec input on puisse fixer des limites de temps, je pense que c'est l'utilisation des input qui limite l'utilisation d'un "timer"
dans ce jeu (les guillemets sont importants)


voila, si quelqu'un a son aide à m'apporter, ce serait plus que bien ;)
Avatar de l’utilisateur
youngswastika
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 93.3%
 
Messages: 7
Inscription: 15 Déc 2014, 21:48
Localisation: au mauvais endroit, au mauvais moment
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: seconde (lycée)

Re: jeu de calcul mental 100% fini, recherche idées

Messagede Wistaro » 04 Fév 2015, 08:27

Bon programme !

Quelques optimisations à faire:

Code: Tout sélectionner
O->S


Code: Tout sélectionner
Delvar S



Pour gérer le temps, tu peux incrémenter une variable quu pourrais symboliser une base de temps. Ou utiliser l'horloge sur TI84/...
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88.5%
 
Messages: 3191
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: jeu de calcul mental 100% fini, recherche idées

Messagede youngswastika » 04 Fév 2015, 12:35

je comprends pas le "O->S" quelle est l'utilité ?

et je sais pas du tout comment utiliser l'horloge de la ti 84+, t'as pas deux/trois conseils par hasard ?
Avatar de l’utilisateur
youngswastika
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 93.3%
 
Messages: 7
Inscription: 15 Déc 2014, 21:48
Localisation: au mauvais endroit, au mauvais moment
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: seconde (lycée)

Re: jeu de calcul mental 100% fini, recherche idées

Messagede Wistaro » 04 Fév 2015, 12:51

En fait pour affecter 0 à une variable, tu peux, au lieu de faire un 0->Ta_variable, faire "Delvar O".
Tu économises un octet de mémoire.
En plus tu peux ajouter une expression derrière autre que un Lbl, une boucle ou une condition ! (sinon sa risque de poser des soucis, voir cet article

Un exemple :

Code: Tout sélectionner
1->A
Delvar B27->C


Bref.
Pour gérer l'horloge, tu as plusieurs façons. Moi, ce que je fais, c'est que je me sers de la fonction "StartTmr()"

Cette fonction donne le timestamp, c'est à dire le nombre de secondes écoulées depuis une certaine date.

Pour l'utiliser, il suffit de l'affecter à une variable à une date T:

Code: Tout sélectionner
StartTmr->T


Pour afficher le nombre de secondes écoulées depuis cette date, il suffit de faire :

Code: Tout sélectionner
Disp StartTmr - T


Ainsi, on peut avoir un petit programme comme celui-ci :

Code: Tout sélectionner
StartTmr -> T

While 1
Output(1,1,"Nb secondes"
OutPut(2,1,"ecoulees:"
OutPut(4,1,"StartTmr -T

End



C'est tout bête ^^


Sinon tu as d'autres méthodes:
Stocker l'heure, la minute et la seconde dans une liste:

Code: Tout sélectionner

GetTime -> L1



L1(1)=Heure
L1(2)=Minutes
L1(3)=Secondes


Et
Code: Tout sélectionner
GetDate ->L2



L2(1)=Année
L2(2)=Mois
L2(3)=Jour


Sinon pour tes autres problèmes, tu peux utiliser un "InPut graphique " comme j'ai pu l'employer dans ce programme: archives_voir.php?id=121776

C'est plus contraignant, long et plus lent qu'un input classique. Mais le résultat est plus beau visuellement. En plus, tu peux ne mettre que les 9 chiffres (et éventuellement le signe de négatif si tu traites des chiffres < 0)

Voilà, j'espère avoir répondu à tes questions ! Si tu en as d'autres, n'hésite pas :)
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88.5%
 
Messages: 3191
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: jeu de calcul mental 100% fini, recherche idées

Messagede Bisam » 04 Fév 2015, 23:33

Pour le problème de l'input qui permet de rentrer un calcul, le seul moyen de le contourner est de créer un programme qui prend note des touches utilisées et fait les affichages en conséquence, en interdisant les touches d'opérations...
Mais c'est loin d'être facile à faire.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5670
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: jeu de calcul mental 100% fini, recherche idées

Messagede Wistaro » 05 Fév 2015, 12:54

En effet, comme le dit Bisam, c'est compliqué.

Mais tu peux t'inspirer de mon code (ou d'un autre) et je peux t'expliquer le fonctionnement, si tu le souhaites
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88.5%
 
Messages: 3191
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro


Retourner vers TI-Basic

Qui est en ligne

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

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
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
-
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.
2069 utilisateurs:
>2043 invités
>17 membres
>9 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
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)