Voici mon premier programme posté sur planète-casio.
[programme fini, je ne devrai pas le retoucher et le bloc note n'est pas encore en version 4.0]
But du jeu :
Vous avez un tableau de 3 à 8 cases de long et de large rempli de chiffres avec une case vide.
Il faut remettre les chiffres dans l ordre (1, 2, 3...) en déplaçant la case vide grâce aux flèches.
Principe d'utilisation :
Il y a 2 programmes : POUSSE et POUSINV
Ces programmes sont indépendant et casi-identique, la différance est dans le mode de jeu :
pour POUSSE : Il faut déplacer la case vide pour remettre les chiffres dans l ordre. La case vide va échanger sa place d un chiffre qui est à coté d elle.
Par exemple si j appuis sur la "flèche gauche", la case vide prendra la place du chiffre de gauche et ce chiffre prendra la place de la case vide.
pour POUSINV : les touches sont inversés ! (j'ai mis ce mode de jeu pour un ami qui préfere comme ça, moi je me sert de l'autre, chacun son truc^^) Il faut déplacer une des chiffre qui est à coté de la case vide pour remettre les chiffres dans l ordre. La case vide va échanger sa place
Par exemple si j appuis sur la "flèche gauche", le chiffre se trouvant a droite de la case vide va allé sur la gauche et sa place initial deviendra vide.
Remarques :
- En bas à droite, il y a un compteur de déplacement qui vari de 0 à 999.
/!\ l'affichage du compteur de coups est limité à 999 (apres le chifre des unités est hors écran), à cause du replay qui enregistre jusqu'a 999 mouvement dans une liste (pour casio 95 en tout cas), au delà le programme passera en erreur et sera intérompu.
- Mode replay en apuiyant sur [SHIFT] à tout moment du jeu (ne fonctionne pas 2 fois d'afillé et empeche d'utiliser la commande "recommencer"
- Quand vous avez gagné "WINNER !" s'affiche à l'écran et vous avez le choix entre appuyer sur [SHIFT] (replay) et aréter le programme en utilisant une autre touche
- en plus du programme, le jeu créer automatiquement 4 matris et 1 liste. les matris A B C D sont utilisés ainsi quel a liste 1. La matris D contient les reccords, vérifiers bien que vous avais assez de place pour créer les matris, surtout si vous jouez avec 1 carré de 8*8
Au passage j'ai mis 8 et non 9, car il faut laisser une case de libre
Je sais pas si tu as regarder le programme, mais il faut bien mettre 9 : la case "vide" est en réalité une case avec un espace et donc elle a ses propres coordonnés
La méthode que j'ai utilisée dans mes jeux, consiste à mélanger la grille de départ une centaine de fois. D'où le petit temps de chargement, mais au moins on est sûr que ça marche.
Ta méthode est très astutieuse, je vais tester les 2 méthodes et prendre celle qui prend le moins de place (j'optimise au mieu tous mes programmes pour qu'ils prennet le moins de place possible vu que la mémoire de ma calculatrice est très limitée =s)
@Totoyo :
ce que tu m'as proposé ne marche pas (du moins pas chez moi )
voila le code en entier dans le spoiler, il est (fortement) poissible qu'il y ai une erreur qui fait que sa marche pas
spoiler
spoiler
ViewWindow 1,127,0,1,63,0Ù
9ãDim List 1Ù
9ãDim List 2Ù
F-Line 113,1,113,9Ù
F-Line 113,1,127,1Ù
F-Line 127,1,127,9Ù
F-Line 113,9,127,9Ù
Ù
F-Line 7,28,7,56Ù
F-Line 34,28,7,28Ù
F-Line 7,56,34,56Ù
F-Line 34,28,34,56Ù
0ãX:0ãY:0ãA:0ãB:0ãC:0ãD:0ãE:0ãH:0ãI:0ãJ:0ãK:0ãL:0ãM:0ãN:0ãQ:0ãR:0ãS:0ãTÙ
0ãOÙ
For 1㪠To 9Ù
DoÙ
1+Int 3Ran#ãXÙ
1+Int 3Ran#ãYÙ
LpWhile Sum List 1=X And Sum List 2=YÙ
10XãList 1[ª]Ù
10YãList 2[ª]Ù
NextÙ
Lbl ZÙ
Text List 1[1],List 2[1],"1"Ù
Text List 1[2],List 2[2],"2"Ù
Text List 1[3],List 2[3],"3"Ù
Text List 1[4],List 2[4],"4"Ù
Text List 1[5],List 2[5],"5"Ù
Text List 1[6],List 2[6],"6"Ù
Text List 1[7],List 2[7],"7"Ù
Text List 1[8],List 2[8],"8"Ù
Text List 1[9],List 2[9]," "Ù
Text 57,115,OÙ
DoÙ
GetkeyãZÙ
LpWhile ZÈ28 And ZÈ27 And ZÈ38 And ZÈ37Ù
Lbl NÙ
XÈ30×Z=37×X+10ãUÙ
YÈ10×Z=38×Y-10ãVÙ
YÈ30×Z=27×Y+10ãVÙ
XÈ10×Z=28×X-10ãUÙ
Ù
If U=A And V=BÙ
Then XãA:YãB:UãX:VãYÙ
IfEndÙ
If U=C And V=DÙ
Then XãC:YãD:UãX:VãYÙ
IfEndÙ
If U=E And V=HÙ
Then XãE:YãH:UãX:VãYÙ
IfEndÙ
If U=I And V=JÙ
Then XãI:YãJ:UãX:VãYÙ
IfEndÙ
If U=K And V=LÙ
Then XãK:YãL:UãX:VãYÙ
IfEndÙ
If U=M And V=NÙ
Then XãM:YãN:UãX:VãYÙ
IfEndÙ
If U=Q And V=RÙ
Then XãQ:YãR:UãX:VãYÙ
IfEndÙ
If U=S And V=TÙ
Then XãS:YãT:UãX:VãYÙ
IfEndÙ
O+1ãOÙ
ZãList 2[O]Ù
Goto Z
PS : j'ai fait 2 listes, une pour les absices et l'autre pour les ordonnés.
Il me semble que matrice ou liste revien au même, ce qu'il faut c'est pouvoir inscrire les 2 coordonnés dans la même case je pense, je vais essayer de faire ça avec Int et Frac ça devrai marcher
Sinon quelqu'un sais à quoi servent RanBin#, RanNorm# et RanList# ?
MISE A JOURS 2.0
- Utilisation d'une matrix ( prendre celle du g2r ou créer la mat A (taille max : 8*8)
- On peut jouer sur 1 carré de 3 à 8 cases de long et de large
- le bug sur le 1er tour à l'air de c'etre résolu tout seul.
D'ici quelque jours je compte ajouter la fonction replay et une sauvegarde du jeu
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