Voici un jeu que j'ai fait il y a longtemps, mais que j'avais un peu oublier au fond de mon placard (ou plutôt de mon disque dur). J'ai décidé de le mettre sur ce site parce qu'il est assez bien réalisé (le jeu, pas le site).
C'est le célèbre jeu du Morpion. Il se joue à deux (sur la même calculatrice). Vous devez aligner une ligne de trois de vos pions pour gagner.
Il utilise les Str 15 et 16, et la matrice X que vous devez créer (3 x 3) pour éviter l'erreur dimension.
Je suppose que chaque case de la matrice correspond à une case du morpion? c'est vrai qu'on est tenté de le faire mais en fait utilisé des variables est vachement plus pratique (je download pou regarder)
J'avais fait un morpion auparavant, je stockais le contenu des cases dans les variables se trouvant sur les mêmes boutons que celui des chiffres.
Après un ami avait fait un bidouillage de malade et avait créé un morpion auquel à la fin le calcul de victoires/défaites se faisaient en ne regardant qu'une seule variable, je m'étais toujours demandé comment il avait fait...
Lol je me demande effectivement comment il a réussit ça xD
Sinon j'ai regardé un peu et je trouve que 3300 octets pour un morpion sans IA ça fait quand même beaucoup remplacer matrice par variable te fera gagner une place importante
En utilisant d'un coté la partie entière, et de l'autre la partie fractionnaire
Tu peut en théorie stocker 2 nombre différents, mais avec un peu d'astuce, tu peux aller encore plus loin (même si après ça demande plus de variables que tu n'en économise )
à cette époque on ne connaissait même pas les listes/matrices et les Int/Frac, lui il faisait des additions entre des variables (sachant que les chiffres dans ces variables dépendait de quelle touche était appuyée)
J'ai retrouvé le code de son morpion dans un vieux bloc-note qui trainait, c'était lui-même qui l'avait recopié, je vous le donne , et je vais en profiter pour y jeter un oeil.
Aussi, je me suis trompé, il ne vérifie pas qu'une variable, mais en fait il fait des additions entre-elles.
Son morpion
Masquer
Lbl 0
ClrText
-1→Z
0→A
0→B
0→C
0→D
0→E
0→F
0→G
0→H
0→I
"[ I I ]
[ I I ]
[ I I ]"
Lbl 1
While 1
Do
Getkey
LpWhile Z=Ans
Ans→Z
If Z=74 And A=0
Then Locate 2,1,"X"
1→A
Goto 2
IfEnd
If Z=64 And B=0
Then Locate 4,1,"X"
2→B
Goto 2
IfEnd
If Z=54 And C=0
Then Locate 6,1,"X"
3→C
Goto 2
IfEnd
If Z=73 And D=0
Then Locate 2,2,"X"
4→D
Goto 2
IfEnd
If Z=63 And E=0
Then Locate 4,2,"X"
5→E
Goto 2
IfEnd
If Z=53 And F=0
Then Locate 6,2,"X"
6→F
Goto 2
IfEnd
If Z=72 And G=0
Then Locate 2,3,"X"
7→D
Goto 2
IfEnd
If Z=62 And H=0
Then Locate 4,3,"X"
8→H
Goto 2
IfEnd
If Z=52 And I=0
Then Locate 6,3,"X"
9→D
Goto 2
IfEnd
If A+B+C=-6
Then "J2 GAGNE"
Goto 3
IfEnd
If D+E+F=-15
Then "J2 GAGNE"
Goto 3
IfEnd
If G+H+I=-24
Then "J2 GAGNE"
Goto 3
IfEnd
If A+D+G=-12
Then "J2 GAGNE"
Goto 3
IfEnd
If B+E+H=-15
Then "J2 GAGNE"
Goto 3
IfEnd
If C+F+I=-18
Then "J2 GAGNE"
Goto 3
IfEnd
If A+E+I=-15
Then "J2 GAGNE"
Goto 3
IfEnd
If C+E+G=-15
The "J2 GAGNE"
Goto 3
IfEnd
WhileEnd
Lbl 2
While 2
Do
Getkey
LpWhile Z=Ans
Ans→Z
If Z=74 And A=0
Then Locate 2,1,"0"
-1→A
Goto 1
IfEnd
If Z=64 And B=0
Then Locate 4,1,"0"
-2→B
Goto 1
IfEnd
If Z=54 And C=0
Then Locate 6,1,"0"
-3→C
Goto 1
IfEnd
If Z=73 And D=0
Then Locate 2,2,"0"
-4→D
Goto 1
IfEnd
If Z=63 And E=0
Then Locate 4,2,"0"
-5→E
Goto 1
IfEnd
If Z=53 And F=0
Then Locate 6,2,"0"
-6→F
Goto 1
IfEnd
If Z=72 And G=0
Then Locate 2,3,"0"
-7→G
Goto 1
IfEnd
If Z=62 And H=0
Then Locate 4,3,"0"
-8→H
Goto 1
IfEnd
If Z=52 And I=0
Then Locate 6,3,"0"
-9→I
Goto 1
IfEnd
If A+B+C=6
Then "J1 GAGNE"
Goto 3
IfEnd
If D+E+F=15
Then "J1 GAGNE"
Goto 3
IfEnd
If G+H+I=24
Then "J1 GAGNE"
Goto 3
IfEnd
If A+D+G=12
Then "J1 GAGNE"
Goto 3
IfEnd
If B+E+H=15
Then "J1 GAGNE"
Goto 3
IfEnd
If C+F+I=18
Then "J1 GAGNE"
Goto 3
IfEnd
If A+E+I=15
Then "J1 GAGNE"
Goto 3
IfEnd
If C+E+G=15
Then "J1 GAGNE"
Goto 3
IfEnd
If A≠0 And B≠0 And C≠0 And D≠0 And E≠0 And F≠0 And G≠0 And H≠0 And I≠0
Then "MATCH NUL"
Goto 3
IfEnd
WhileEnd
Lbl 3
"REJOUER?"
"F1=OUI f2=NON"
While 3
Do
Getkey
LpWhile Z=Ans
Ans→Z
If Z=79
Then Goto 0
IfEnd
If Z=69
Then Stop
IfEnd
WhileEnd
Il y a quelques trucs qu'on pourrait améliorer sur le site. Par exemple quand je change mon avatar, je dois attendre 12 heures pour qu'il se mette à jour. Jusqu'à il y a une semaine, le compteur des téléchargements ne marchait pas. Et quand je veut poster un nouveau programme et que je met un nom déjà utilisé, la page devient toute blanche.
A part ça c'est vrai que le site et assez bien fait, notamment la page "Mon Compte" qui nous avertit de toutes les nouveautés.
C'est vrai, j'aurais pu utiliser les variables au lieu de la matrice. Mais j'y ai pas du tout penser !
@Tenmatx, pour faire simple, il faudrait refaire le site, mais tout les devs qui sont passé sur PC n'ont jamais eu le temps de se lancer dans un tel projet, alors on rafistole le site, et il y a des problèmes bien plus importants que attendre 12 heures avant que son avatar change. Mais on en est bien conscient, et on fait ce qu'on peut en fonction du temps qu'on a
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