Un Morpion en mode graphique avec à votre disposition quelques "animations" 8) selon si vous gagnez ou perdez.
Vous pouvez jouer au choix contre une ia ou tout simplement en mode deux joueurs.
Je sais l'I.A n'est pas très difficile à battre quand vous savez jouer, bon...
Mais quand vous savez jouer et que vous commencez à jouer, qui peut vous battre???
Pour un peu plus de défi (je dis vraiment un peu) vous pouvez choisir de la laisser commencer à jouer (c'est pour ça que j'ai ajouté cette option d'ailleurs).
Le fichier est assez lourd car je ne programme pas très proprement, veuillez m'en excuser.
Je n'ai qu'un .g1m et un .txt à ma disposition car je ne sais pas comment convertir en .fxi, aussi je vous serai reconnaissant d'en mettre un à disposition.
Le problème avec les Dsz et les Isz, si la variable vaut 0, alors la ligne qui suit est sautée. Donc, par précaution, j'ai préféré laisser tel quel.
De même, fait attention Dafp, tu oublies des parenthèses :
Int 3^-1(Z-1->X
Donne toujours 0 car Int n'affecte que le 3 et non l'expression entière. Il faut rajouter ceci pour que l'expression marche :
Int (3^-1(Z-1->X
Je n'ai pas vérifié pour cette formule
3(7-Int .1C)-1+10Frac .1C->Z
Mais je suis certain que ça foire au niveau du Frac, qui est prioritaire sur le .1C. La Casio donne d'abord la valeur décimale de .1 (donc Frac .1 = .1) puis la multiplie à C. Ce qui reviendrait au même à écrire directement .1C
Smashmaster t'as expliqué ce que font les fonctions. En gros, voilà ce que ça donne :
3(7-Int (.1C))+10Frac (.1C)-1->Z
C=72=>Z=1
C=73=>Z=2
C=74=>Z=3
C=62=>Z=4
C=63=>Z=5
C=64=>Z=6
C=52=>Z=7
C=53=>Z=8
C=54=>Z=9
Au lieu d'écrire une telle liste, on crée un petit algorithme qui va nous trouver la valeur. Les fonctions Int et Frac sont très utiles pour l'extraction de données
Bon, j'étoffe un peu, c'est surtout pour que Adbook comprenne. Ce que j'ai mis peut encore être optimisé, comme l'a montré Dafp. Mais à vouloir trop optimiser, on risque de rendre le programme instable car il deviendra plus sensible à certaines situations auxquelles on ne s'y attendait pas. De même, parfois son propre code devient tellement incompréhensible que même le programmeur ne s'y retrouve plus, et donc, il perd du temps à comprendre ce qu'il cherchait à coder. L'optimisation est donc à double tranchant
Le problème avec les Dsz et les Isz, si la variable vaut 0, alors la ligne qui suit est sautée. Donc, par précaution, j'ai préféré laisser tel quel.
ah bon ? je m'en souviens pas de ce genre de choses.
De même, fait attention Dafp, tu oublies des parenthèses :
Int 3^-1(Z-1->X
Donne toujours 0 car Int n'affecte que le 3 et non l'expression entière. Il faut rajouter ceci pour que l'expression marche :
Int (3^-1(Z-1->X
Je n'ai pas vérifié pour cette formule
3(7-Int .1C)-1+10Frac .1C->Z
Mais je suis certain que ça foire au niveau du Frac, qui est prioritaire sur le .1C. La Casio donne d'abord la valeur décimale de .1 (donc Frac .1 = .1) puis la multiplie à C. Ce qui reviendrait au même à écrire directement .1C
Bah là je pourrai pas te dire, fais des tests, et essai la solution de totoyo, ou la mienne, et compare, mais celle de totoyo est la meilleur, mais quand on peut retirer qq parenthèse, ça fait toujours bon surtout quand t'as une centaine de parenthèses inutile
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd