Nouveau jeu pour HP-42S: Twix

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar du membre
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

Nouveau jeu pour HP-42S: Twix

Message par Danny »

Hello !

En profitant du temps libre supplémentaire que la situation actuelle nous offre, je me suis amusé à développer un petit jeu pour... HP-42 ! :)
Il s'agit de TWIX, inspiré de la version pour HP-41 de Guillaume Tello (ici en bas de page: https://gtello.pagesperso-orange.fr/hp41_f.htm), qui est elle-même inspirée d'un jeu pour HP-67 et 97 appelé "Super Twix" (sur lequel je n'ai trouvé aucune info d'ailleurs, si par hasard quelqu'un en a ça m'intéresse :)))

Image

Le but est d'arriver à reproduire une suite de 9 chiffres tirés au hasard, en utilisant différentes possibilités de manipuler les chiffres.
On dispose pour ça d'un nombre limité de coups, que j'ai fixé de façon totalement arbitraire et à l'arrache à 35 :mrgreen: (parce qu'après de nombreux tests j'ai constaté / estimé que dans la plupart des cas on pouvait s'en sortir en moins de 35 coups... parfois je n'y suis pas arrivé, mais je n'ai peut-être pas utilisé la suite de coups optimale. D'ailleurs si des geeks en maths arrivent à démontrer qu'il existe un nombre de coups minimum permettant de résoudre toutes les situations, ça permettrait d'ajuster ce nombre :))

Le programme tire au sort 2 suites de 9 chiffres uniques de 1 à 9 :
- la suite de chiffres "cible", qu'il faut reproduire
- la suite de chiffres que le joueur peut manipuler

edit: petite mise à jour du programme: la suite de chiffres en jeu n'est plus générée aléatoirement "bêtement", mais en partant de la même suite que celle à atteindre et en lui appliquant aléatoirement les mêmes manipulations (*) que celles autorisées au joueur. Ce qui permet aussi d'ajouter un petit menu de sélection du niveau de jeu, avec plus ou moins de manipulations appliquées à la suite à atteindre, pour obtenir une autre suite de chiffres plus ou moins difficile à manipuler pour revenir à la 1ère (enfin pas toujours, car en pratique la complexité de la suite de chiffres n'augmente pas de façon linéaire avec le nombre de manipulations qu'on lui applique, et on peut très bien obtenir une suite + difficile à résoudre avec 5 manipulations qu'avec 50).
* : toutes sauf le décalage vers la droite, car les décalages vers la gauche et vers la droite pouvaient s'annuler mutuellement.


Image

Les manipulations se font avec les 6 touches du haut, de gauche à droite :
- Décalage de tous les chiffres vers la gauche
- Echange des 2 chiffres de gauche
- Echange des 2 chiffres aux extrémités
- Echange des 2 chiffres de droite
- Décalage de tous les chiffres vers la gauche
- Nouveau jeu

Image

Guillaume a utilisé la fameuse programmation synthétique de la HP-41, donc j'ai tout refait de zéro.
Pour le tirage au sort des chiffres, j'avais d'abord utilisé une méthode de bourrin : boucle de 1 à 9 pour remplir chacune des 9 "cases" par un chiffre choisi au hasard... mais évidemment il fallait vérifier que chaque chiffre tiré au hasard n'avait pas déjà été tiré avant, donc grosse perte de temps pour parcourir les chiffres précédents à chaque chiffre. Sur Free42 c'était imperceptible, mais sur une vraie HP-42 ça mettait entre 1 mn et + de 2 mn pour sélectionner les 18 chiffres de départ !
Du coup j'ai modifié l'algo de tirage au sort de cette façon : toujours une boucle de 1 à 9, mais cette fois pour parcourir les 9 chiffres à placer. Et pour chacun, on tire au sort la case dans laquelle on va le placer, seulement parmi les cases dispos restantes. Donc pas de collisions à gérer, et ça va beaucoup + vite: ça prend un temps fixe d'environ 32 secondes pour tout finir sur une vraie HP-42 (à vitesse normale).

L'idéal est de faire tourner sa HP-42 en mode rapide, si possible, pour une meilleure fluidité :)

Avec les 16 pixels de hauteur de l'écran, j'ai juste pu caser 2 lignes de chiffres faits maison + 1 ligne d'icônes de menu qui essaient de représenter l'action de chaque touche sur 2 pixels de hauteur :P

Sinon le programme utilise aussi la routine UFL pour l'affichage du nombre de coups restants.

Les sources et la version RAW pour Free42 sont dispos ici : https://www.dropbox.com/sh/3q0du0okwo6i ... Orvra?dl=0
Modifié en dernier par Danny le 04 févr. 2022 14:08, modifié 2 fois.
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7148
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: Nouveau jeu pour HP-42S: Twix

Message par gege »

Bonjour,
Bravo le jeu est très beau semble-t-il.
A tester.
G.E.
caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 434
Enregistré le : 05 juin 2014 22:23
Localisation : Dans le Gâtinais avec les abeilles, près de Fontainebleau

Re: Nouveau jeu pour HP-42S: Twix

Message par caloubugs »

gege a écrit : 24 avr. 2020 08:35 Bonjour,
Bravo le jeu est très beau semble-t-il.
A tester.
G.E.
Super fignolé, oui...
On a vu des logiciels payants moins bien faits. :mrgreen:
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...
Avatar du membre
rogeroge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4254
Enregistré le : 14 mai 2010 21:41
Localisation : Entre Nancy et Bercy : à Torcy

Re: Nouveau jeu pour HP-42S: Twix

Message par rogeroge »

Bonjour,

Félicitations pour cette trouvaille de jeu ! 8)
Le listing au format GIF est impressionnant... (rapport largeur/longueur du papier)
Il faut être fou pour venir sur ce site mais encore plus fou pour ne pas y revenir !
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5270
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: Nouveau jeu pour HP-42S: Twix

Message par bernouilli92 »

Merci, j'ai testé. C'est effectivement très bien fichu.
HP, Casio, Sharp, Psion, quelques TI et divers autres
Avatar du membre
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

Re: Nouveau jeu pour HP-42S: Twix

Message par Danny »

Merci pour les retours :)

Bon en même temps il n'y a pas dû y avoir de programmes payants pour HP-42.
Mon préféré est Okie Dokie, très bien foutu : https://archived.hpcalc.org/hp42s/progr ... dokie.html

Image
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 434
Enregistré le : 05 juin 2014 22:23
Localisation : Dans le Gâtinais avec les abeilles, près de Fontainebleau

Re: Nouveau jeu pour HP-42S: Twix

Message par caloubugs »

Danny a écrit : 24 avr. 2020 10:32 Merci pour les retours :)

Bon en même temps il n'y a pas dû y avoir de programmes payants pour HP-42.
Mon préféré est Okie Dokie, très bien foutu : https://archived.hpcalc.org/hp42s/progr ... dokie.html

Image
Très sympa aussi... Pour s'arracher ses cheveux confinés.
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...
Avatar du membre
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5646
Enregistré le : 26 mars 2009 13:07
Localisation : Ile de France
Contact :

Re: Nouveau jeu pour HP-42S: Twix

Message par ledudu »

Salut
Du coup, j’en ai développé un sur mon fx-cp400.
1D3AFADB-742E-44A4-B540-E235483E8C1F.jpeg
1D3AFADB-742E-44A4-B540-E235483E8C1F.jpeg (94.75 Kio) Vu 13026 fois
Fichiers joints
FBF5D975-3EC0-4FB8-8722-4E044ADDD931.jpeg
FBF5D975-3EC0-4FB8-8722-4E044ADDD931.jpeg (27.14 Kio) Vu 13026 fois
Avatar du membre
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

Re: Nouveau jeu pour HP-42S: Twix

Message par Danny »

Cool ! 8)

T’as utilisé quelle méthode pour le tirage au sort des chiffres ? :)

Et tu penses quoi du nombre de coups mini possible ? Je me demande s’il y a un moyen de le calculer... (j’ai jamais été au top en probas et en combinatoire :))
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
Avatar du membre
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5646
Enregistré le : 26 mars 2009 13:07
Localisation : Ile de France
Contact :

Re: Nouveau jeu pour HP-42S: Twix

Message par ledudu »

Largement inspirée de la tienne je pense si j'ai bien compris.

Code : Tout sélectionner

Je place les chiffres pour i=1 à 9.
A chaque itération, je tire un nombre aléatoire n entre 1 et i.
Je place i à la nème place vide.
L'initialisation prend 13s., je vais voir si je peux faire mieux.
J'ai fini deux parties, une en 28 coups, l'autre en 20.

Le monde de coup mini pour la grille la plus complexe ?
C'est pas évident en effet...
casuffitdeschanel
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 650
Enregistré le : 21 sept. 2009 21:56
Localisation : Metz

Re: Nouveau jeu pour HP-42S: Twix

Message par casuffitdeschanel »

Si le deuxième nombre diffère de la cible d'une seule position, alors le nombre de coups pour la trouver est 1, non?
Avatar du membre
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

Re: Nouveau jeu pour HP-42S: Twix

Message par Danny »

Ça dépend de ce que t’appelles « 1 position », parce que si t’as :

Code : Tout sélectionner

1 2 3 4 5 6 7 8 9
9 2 3 4 5 6 7 8 1
c’est ok, mais si t’as :

Code : Tout sélectionner

1 2 3 4 5 6 7 8 9
1 2 3 5 4 6 7 8 9
il faut + d’1 coup pour arriver à la solution vu qu’on a pas de possibilité d’échanger directement 2 chiffres au milieu.
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3422
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Nouveau jeu Twix pour SHARP-PC1211

Message par C.Ret »

Je trouvais de jeu bien sympathique, alors j'en est fait une version pour SHARP PC-1211

Je peux donc y jouer seul ou lancer des défis à mes enfants. En effet, il est possible de générer de suites de neuf chiffres plus ou moins élaborées. Et pour chaque suite objectif crée (DEF-L), il est facile de recommencer une partie à partir de la même suite à résoudre (DEF-SPC), de générer une suite à résoudre plus complexe (DEF-L) pour la même suite objectif ou non (DEF-N).

Le principe est que la création des suites se fait à partir des cinq mouvement autorisés. Une séquence d'un nombre pseudo-aléatoire est utilisée pour mélanger plus ou moins longtemps la suite à générer. En limitant le nombre de mélanges, on peut avoir une suite à résoudre très proche de la suite objectif ce qui est très pédagogique.

Avec de plus nombreux mélanges, la suite de neuf chiffre obtenue est plus complexe à résoudre, mais le calcul prend un peu plus de temps.

C'est pour cela que j'ai inclus également une résolution automatique du problème.

A chaque étape du jeux, le joueur peut demander au SHARP de déterminer le coup le plus approprié (DEF-B). Pour chacun des coups autorisés, le SHARP évalue la suite obtenue en lui attribuant une distance heuristique S qui la sépare de l'objectif. Ce score S est obtenu à partir des écarts entre les deux suites, mais surtout il tient compte de la présence de séquences de chiffres plus ou moins longues identiques à celles de la suite objectif. En particulier, ces séquences identiques sont importantes au centre de la suite de chiffre où l'on ne peut pas permuter les éléments. Alors qu'aux extrémités, c'est moins grave car on pourra corriger cela dans un prochain tours. Une pondération W tient compte du phénomène.

A chaque tours, le compteur de tours (C), la suite objectif (T) et celle du joueur (U) sont affichés.

Les mouvements des élément de la suite du joueur sont déclenchés par les commandes suivantes en mode DEF:
DEF-A Décalage vers la gauche.
DEF-S Permutation des deux chiffres à gauche.
DEF-D Permutation des chiffres de chaque extrémité.
DEF-F Permutation des deux chiffres à droite.
DEF-G Décalage vers la droite.

Lors de la première utilisation, lancer par RUN, le Pocket demande alors SEED _ entrer un nombre qui servira de racine pour les générations pseudo-aléatoire (il n'y a pas de générateur sur un PC-1211)

DEF-N permet de générer une nouvelle suite objectif. Le Pocket demande NEW TARGET _ saisir un nombre de 1 à quelques dizaines pour la génération d'un suite aléatoire ou taper directement sur ENTER pour utiliser la suite par défaut 123456789 (je me rends compte en tapant ces ligne que j'ai oublier d'implémenter la possibilité d'entrer directement une suite jusqu'à 9 chiffres :)

DEF-L permet de contrôler l'élaboration de la suite à résoudre. On entre la limite D du nombre de mouvement qui la différencie de la suite objectif. En entrant 1, il doit donc être possible de résoudre en un seul coup. La génération étant aléatoire, il peut que la suite générée soit identique à la suite objectif, si cela arrive, le SHARP s'arrête sur un BREAK, il faut simplement relancer par DEF-L

DEF-SPC remet à zéro le compteur de tours et réinitialise la suite à résoudre à la suite crée lors du précèdent DEF-L. On peut donc passer le Pocket au joueur suivant qui tentera de battre le record établi par les joueurs précédents.la variable R mémorise le nombre de tours minimum.

Si le Pocket sonne, c'est que le joueur a résolu la suite de chiffres et qu'elle est identique à l'objectif.
TWIX SHARP PC-1211.gif
TWIX SHARP PC-1211.gif (38.52 Kio) Vu 12944 fois
10-40 Initialisation DEF-N DEF-L DEF-SPC
50-55 Affichage partie en cours L'affichage du coup en cours peut être réaffiché en utilisant DEF-=

60-80 Programme d'analyse de la partie;
FOR I=91 TO 95 boucle d'analyse de chacun des coups
FOR J=0 to 8 boucle d'évaluation de la suite de chiffres, Calcul de la distance heuristique S à l'aide de la pondération de position W
M,B,N respectivement meilleurs score, meilleurs suite de chiffre et meilleur mouvement à effectuer

81-85 Lignes permettant au jouruer d'effectuer les mouvement DEF-Q DEF-S DEF-D DEF-F DEF-G sur la suite en cours.

90 Boucle de mélange pseudo-aléatoire de la suite

91-95 Calculs de transformation de la suite en coUrs respectivmeent pour les mouvements 1:DEF-A 2:DEF-S 3:DEF-D 4:DEF-F 5:DEF-G
98 99 Premier et premier chiffres.

A: Suite de neuf chiffres initale
B: Meilleure suite lors de l'analyse du coup suivant
C: Compteur de coup
D: Difficulté / Nombre maximum de mélanges
E: Constante de calcul décimal
F: Inverse de la constante E
G: Sauvegarde suite de chiffres du dernier coup (analyse)
I: Indice boucle n° mouvement analysé (91: à 95:)
J: indice boucle position dans la suite (0 à 8)
M: Score minium
N: Référence mouvement du score minium
S: Score de la suite analysée
T: Suite objectif
U: Suite utilisateur
V,W: chiffres pour transformation
X,Y: Respectivement groupe de chiffre objectif/anlysé pour calcul de la distance dans la boucle d'analyse.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5646
Enregistré le : 26 mars 2009 13:07
Localisation : Ile de France
Contact :

Re: Nouveau jeu pour HP-42S: Twix

Message par ledudu »

Compact et complet,
Bravo !
Avatar du membre
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5646
Enregistré le : 26 mars 2009 13:07
Localisation : Ile de France
Contact :

Re: Nouveau jeu pour HP-42S: Twix

Message par ledudu »

Du coup, j'ai fait un petit Okie Dokie.
Avec le stylet, c'est sympa à jouer.
okiedokie.png
okiedokie.png (19.22 Kio) Vu 12926 fois
Répondre

Retourner vers « Tous les Pockets »