Poster un nouveau sujet Poster une réponse
Bataille de caluls ^^
Auteur Message
Rézus



Autorisation : Membre
Nb de messages : 835
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Lun 01 Mar 2010, 19:00   Citer 

Envie de vous mesurer a quelqu'un en calcul mental ?

Règles:

Ce programme se joue à deux,chacun son tour.La calculatrice commence par proposer deux nombres: un 1 et un nombre compris entre 1 et 5.Le joueur peut les additioner,les soustraire,les multiplier ou les diviser.Il doit entrer le résultat en bas de l'écran.Si il a bon,il gagne un point,le chiffre qui était le plus bas sur l'écran passe en haut et son résultat passe en bas.le joueur 2 peut donc a son tour faire l'opération qu'il souhaite avec ces deux chiffres ect...
Si un joueur a faux, il ne gagne pas de point et laisse le joueur 2 jouer avec les deux mêmes chiffres.
Le joueur qui a dix points de plus que son adversaire a gagné.

Stratégies:

Vous pouvez alterner entre attaque (additions et multiplications,qui augmentent les nombres,donc la difficulté) ou défense (soustraction et division,qui réduisent les nombres et donc la difficulté) toutefois une stratégie défensive devient assez vite inutile car vous ne faites que simplifier les calculs de l'adversaire.A vous de savoir l'utiliser de manière offensive en partant dans les chiffres négatifs ou dans les décimales godgrace.gif,en gardant à l'esprit que plus vous faites un calcul compliqué,plus celui que votre adversaire devra faire sera difficile.

Le code:


Code
:1->T:0->D:0->E
:1->A
:entAléat(1,5->B
:Lbl A
:EffEcr
:Output(1,1,"JOUEUR
:For(F,1,7
:Disp "
:End
:If partDéc(T/2)ø0
:Output(1,8,1
:If partDéc(T/2)=0
:Output(1,8,2
:Output(2,1,A
:Output(5,1,B
:Input C
:1->S
:If CøA+B et CøAB et CøA-B et CøB-A et CøA/B et CøB/A
:0->S
:If partDéc(T/2)ø0 et Sø0
:D+1->D
:If partDéc(T/2)=0 et Sø0
:E+1->E
:EffEcr
:Output(1,7,"FAUX
:If Sø0
:Output(1,6,"CORRECT
:Output(3,1,"JOUEUR 1
:Output(4,1,D
:Output(6,1,"JOUEUR 2
:Output(7,1,E
:Pause
:If D-E>9
:Goto B
:If E-D>9
:Goto C
:T+1->T
:If Sø0
:B->A:C->B
:Goto A
:Lbl B
:1->T
:Goto D
:Lbl C
:2->T
:Lbl D
:EffEcr
:Output(4,8,"LE
:Output(5,2,"JOUEUR   GAGNE
:Output(5,9,T
:Pause
:Output(1,1,"



Des idées pour l'améliorer ?

 Adresse email Haut de page Bas de page 
 
MMenax
Invité
Posté le : Mar 02 Mar 2010, 17:22   Citer 

Un petit programme qui a l'air franchement sympatoche ! J'"abandonne" desert2 ( j'en suis à 5% mais je l'ai commencé hier ) et je copie celui-ci tout de suite happy.gif

  Haut de page Bas de page 
 
MMenax
Invité
Posté le : Mar 02 Mar 2010, 17:55   Citer 

Le programme marche très bien , mais il est très facile de tricher.

Ex : on a 3 et 7.256 . Si on tape 3*7.256 ou 3/7.256 la calculette affichera correct.
Peut-on y remédier ?

  Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 835
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Mar 02 Mar 2010, 19:08   Citer 

Non,mais les joueurs peuvent mettre une règle comme quoi celui qui triche est disqualifié.

 Adresse email Haut de page Bas de page 
 
MMenax
Invité
Posté le : Lun 08 Mar 2010, 14:16   Citer 

Ouais mais on est pas penché sur la calculette quand il écrit non plus ...
Mais à part ça , ce programme est très bien winkle.gif bigmouth.gif

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 06 Jui 2010, 13:56   Citer 

Je crois avoir trouvé comment empêcher la triche !
Attention cette version n'est plus compatible avec les ti 82 basiques à cause des chaînes.
J'ai annoté les lignes ajoutées ou modifiées par //


Code

:1->T:0->D:0->E
:1->A
:entAléat(1,5->B
:Lbl A
:EffEcr
:Output(1,1,"JOUEUR
:For(F,1,7
:Disp "
:End
:If partDéc(T/2)ø0
:Output(1,8,1
:If partDéc(T/2)=0
:Output(1,8,2
:Output(2,1,A
:Output(5,1,B

:Input "",Chaîne1       //
:expr(Chaîne1)->C       //
:1->S
:If CøA+B et CøAB et CøA-B et CøB-A et CøA/B et CøB/A
:0->S
:If carchaîne(Chaîne1,"/") ou carchaîne(Chaîne1,"*") ou carchaîne(Chaîne1,"+") ou carchaîne(Chaîne1,"-")       //
:0->S       //

:If partDéc(T/2)ø0 et Sø0
:D+1->D
:If partDéc(T/2)=0 et Sø0
:E+1->E
:EffEcr
:Output(1,7,"FAUX
:If Sø0
:Output(1,6,"CORRECT
:Output(3,1,"JOUEUR 1
:Output(4,1,D
:Output(6,1,"JOUEUR 2
:Output(7,1,E
:Pause
:If D-E>9
:Goto B
:If E-D>9
:Goto C
:T+1->T
:If Sø0
:B->A:C->B
:Goto A
:Lbl B
:1->T
:Goto D
:Lbl C
:2->T
:Lbl D
:EffEcr
:Output(4,8,"LE
:Output(5,2,"JOUEUR   GAGNE
:Output(5,9,T
:Pause
:Output(1,1,"



----------------------
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 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 07 Jui 2010, 10:57   Citer 

très bien!!
c'est dur, mais c'est une bonne idée!

(pour un meilleur graphisme au début je mettrais Outout(1,2,"JOUEUR "

puis ensuite
:If PartDéc(T/2
: Output(1,9,1
: If non(PartDéc(T/2)
: Output(1,9,2 )

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes