Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Jeux >> Graph 35 à 100 >> Réflexion >> Pousse pousse
Pousse pousse
Version : 4.0 Taille : 2000 octets Ajouté le : 2011-11-18 10:13 Modifié le : 2012-01-11 21:46
Auteur et posteur :
The-powerHors ligneMembrePoints: 68 Défis: 0 Message
Planète Casio - Jeu Casio de reflexion - Pousse pousse - the-power - Calculatrices
Nombre de visites sur cette page : 8324
Score au progrank : 35
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
1129 téléchargements | Soumettre un test


Description :

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


Commentaires :

Pages: 1, 2, 3, 4, 5 | Suivante

TotoyoHors ligneMembre d'honneurPoints: 16102 Défis: 102 Message
Posté le 18-11-2011 à 10:32 | #
Salut et bienvenu sur le site

Peux-tu décrire le bug en question ?
The-powerHors ligneMembrePoints: 68 Défis: 0 Message
Posté le 18-11-2011 à 10:38 | #
Merci, pour le bug, quand tu appuis sur une fleche, ça ne fait pas le mouvement attendu : ça déplace soit en diagonal, de 2 cases ou ça ne fait rien =s
TotoyoHors ligneMembre d'honneurPoints: 16102 Défis: 102 Message
Posté le 18-11-2011 à 11:58 | #
Je vais voir ce que je peux faire.
CartixHors ligneMembrePoints: 2748 Défis: 98 Message
Posté le 18-11-2011 à 12:11 | #
Je ne sais pas si ça peut t'aider car je n'ai pas envie de convertir pour le tester :D, mais j'ai fait un prog comme ça pour le concours (c'est un des mini-jeu). Peut-être qu'en regardant le code tu peux trouver ton erreur
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 18-11-2011 à 12:59 | #
J'ai aussi fait un jeu de taquin dans le Pack prizm et dans Escape prison, mais c'était du 4*4.
Je vais tester ton programme, ça m'intéresse. Surtout la génération des grilles.
The-powerHors ligneMembrePoints: 68 Défis: 0 Message
Posté le 18-11-2011 à 13:09 | #
C'est une grille préprogrammé, pour a génération des grilles je préfere le faire en dernier car si je le fait maintenant il faudra totalement le modifier quand je fairais des grilles plus grandes.
Par contre le plus dur sera d'éviter que le radom donne 2 valeurs identiques, j'ai déja esayé des trucs mais ça n'a pas marché jusque là.
TotoyoHors ligneMembre d'honneurPoints: 16102 Défis: 102 Message
Posté le 18-11-2011 à 13:58 | #
Tu peux enregistrer dans une liste les valeurs utilisées et vérifier si elle est libre. Le code serait de ce genre :
9->Dim List 1 // Cette liste mémorise l'ordre d'apparition des chiffres dans la grille
For 1->B To 9
Do
1+Int (9Ran#  // = Ans (Ans garde en mémoire le dernier résultat calculé)
LpWhile Sum (List 1=Ans // On continue de générer un nombre aléatoire entre [1;9] tant que ce dernier n'existe pas dans la liste 1
Ans->List 1[B // On ajoute le nombre à notre liste
Next


PS : la fonction Sum fait la somme des valeurs dans une liste.
L'astuce réside en List 1=Ans. La calculatrice va générer une liste temporaire (List Ans) pour laquelle chaque case qui ont la même valeur que Ans lui attribue la valeur 1, sinon 0. On fait la somme des cases. Si elle vaut 0, alors la valeur est libre, sinon, on génère un nouveau nombre et on refait vérification.
Si tu ne comprends pas, voilà un petit exercice :
Tu crées une liste avec les valeurs suivantes
{1,2,3,4,5->List 1
?->A
List 1=A[DISP]
"SUM="
Sum List Ans[DISP]

Tapes n'importe quelle valeur entre 0 et 10 et comprends pourquoi tantôt tu auras 1, tantôt 0.
The-powerHors ligneMembrePoints: 68 Défis: 0 Message
Posté le 18-11-2011 à 14:11 | #
ok merci beaucoups, j'avais pensé à le faire avec une matrice, mais ça revien au même, je vais essayer de faire quelquechose avec ça avant d'aller en cours
1+Int (9Ran#

pourquoi pas ça :
RanInt#(1,9)
TotoyoHors ligneMembre d'honneurPoints: 16102 Défis: 102 Message
Posté le 18-11-2011 à 15:03 | #
RanInt# n'est pas présente sur les calculatrices les moins récentes.
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 18-11-2011 à 17:20 | #
A mon avis, tu te compliques avec Sum (List 1=Ans, même si c'est très astucieux.
Perso, j'aurais fait :
8->Dim List 1
For 1->B To 8
Do
1+Int (8Ran#
LpWhile 0!=List 1[Ans
B->List 1[Ans
Next

C'est plus facile à comprendre.
Au passage j'ai mis 8 et non 9, car il faut laisser une case de libre

Mais bon, cette conversation a peu d'intéret.
En effet une grille de taquin ne peut pas être générée aléatoirement ! Toutes les grilles de taquin ne peuvent être résolu. Essayez vous verrez.
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.

Pages: 1, 2, 3, 4, 5 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 164 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

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