Casio FX-602P
KIBUR. Jeu de permutation inspiré du Rubik's Cube
D'après L'Ordinateur de Poche n°3 .
Version HP41 par Robert Pulluard
Voir la régle du jeu
(Tiens, la version dans la marge pour 502P ;-)
Il s'agit d'un casse tête vraiment intéressant qui n'est pas sans rapport avec un célébre cube mais bien plus simple ....
A noter que dans la variante proposée, on ne joue pas avec les lettres de A à J mais
avec les chiffres de 0 à 9; Mais le principe du jeu est strictement similaire. Les temps de
calcul de la 602P sont quasi instantanés. Ce casse-tête est fort intéressant... A vous
de relever le défi !
P0 : Démarrer une partie avec un mélange aléatoire des chiffres
P1 : Essayer de résoudre une combinaison spécifique. Ex : 9876543210 [P1]
P2 : Permet de rejouer la même combinaison (pour résoudre en moins de coup par
exemple...)
*******************
[P0] 79 pas { Kibur -> Mélange aléatoire à
partir de "0123456789"}
"Kibur" AC GSBP7 1 +/- Min14 { Le niveau
correspond au nombre }
"Niveau?" HLT Min12 1 M-12 { de permutations
aléatoires }
LBL1
MR12 / 2 = FRAC "->" x=0 "<-" {
Petite animation pendant }
RAN# x 9 + 1 = GSBP8 { le mélange de Kibur }
1 M-12 MR12 x>=0 GOTO1
9 Min10 0 Min19 "->"
LBL2
IND MR10 x ( 9 - MR10 ) 10^x = M+19 { Génére en MR19
un nombre égal à la }
1 M-10 MR10 ";." { concaténation des chiffres
de MR00 à MR09 }
x>=0 GOTO2
GSBP5 { C'est parti !}
[P1] xx pas { Kibin -> Permet d'entrer une
combinaison spécifique}
"Kibin?" HLT Min19
GSBP6
[P2] xx Pas { Kibis -> Permet de rejouer (bis)
la même combinaison }
"Kibis" PAUSE Mr19
GSBP6
[P5] 70 pas { Le joueur joue ... }
LBL0
1 M+14 GSBP9 ";" {
Affiche la combinaison actuelle}
10 Min00
LBL5
1 M-10 MR10 x=0 GOTO6 { -> C'est gagné !}
IND MR10 - MR10 =
x=0 GOTO5 { Chiffre en MR10 bien placé, au suivant }
1 +/- MinF { Position non gagnante, on continue }
LBL4
";" HLT x=F GOTO4 ";"
GSBP8
GOTO0
LBL6 { C'est gagné !}
2 Min10
LBL7
GSBP9
1 M-10 MR10 x>=0 GOTO7
"En AR14 coup"
2 M-14 MR14 x>=0 ";s"
";"
[P6] xx pas {Dépose chaque chiffre de MR18 dans les mémoires
00 à 09}
"->"
Min18 1 +/- Min14 9 Min10
LBL0
MR18 / 10 = - FRAC Min17 = Min18
MR17 x 10 = IND Min10 1 M-10 ";."
MR10 x>=0 GOTO0
GSBP5
[P7] 11 pas { Génére la combinaion initiale ->
"0123456789"}
9 Min10
LBL0
MR10 IND Min10 { 0 Min00 1 Min01 2 Min02 ... 9 Min09}
1 M-10
MR10 >=0 GOTO0
[P8] 30 pas { Effectue la combinaison, le coup joué
est dans le registre x}
Min10 Min11
MR00 IND X<->M10 Min00
1 M-10 M+11
MR10 x>=0 GOTO1 { Cas
particulier quand on joue en 0 }
9 Min10
LBL1
9 - MR11 = x>=0 GOTO2 { Cas particulier quand on joue en
9}
0 Min11
LBL2
IND MR10 IND X<->M11 IND Min10
[P9] 26 pas { Affiche la combinaison actuelle}
"->¤¤¤¤¤¤¤¤¤¤" { 10 carrés noirs -> 'INV 1'}
"->AR00 AR01 AR02 AR03 AR04 AR05 AR06
AR07 AR08 AR09"
|