
De plus utiliser des grains de nectar microscopiques, ce sera plus facile que mes lentilles vertes. du coup l'échiquier tout entier tiens dans sa calculette !
Modérateur : Politburo
Oui, alors : figure-toi que j'en ai parlé à mon cheval... ou, pour mieux dire, à ma mule.
C'est vrai et (un peu) faux : j'ai en effet utilisé ce tableur très utile, mais je suis persuadé que les champions de la pile tels qu'on pouvait en rencontrer ici et qu'on peut en rencontrer sur le forum du HP Museum feraient mieux. J'hésite d'ailleurs encore à publier ce code là-bas (en dehors du fait que je n'aime pas trop leur nouvelle façon de classer les programmes par machines : en gros, tout pour la Prime et la 41, le reste pour toutes les autres machines) bien que les programmes pour la 34C y soient encore rares. Mais je le ferai sans doute dans un accès d'orgueil, ainsi que pour Alien (HP-67) que je trouve plutôt bon.C.Ret a écrit : ↑11 déc. 2019 22:17[...]
A mon avis, le dernier code qu'a publié notre ami concernant les Tours de Hanoï a été composé de cette façon [avec un tableur] et c'est pour cela qu'il utilise avec autant d'adresse les quatre niveaux de la pile RPN !!
Code : Tout sélectionner
2 3 4 4 4 4 3 2
3 4 6 6 6 6 4 3
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4
3 4 6 6 6 6 4 3
2 3 4 4 4 4 3 2
J'ai moi aussi décider de coder l'échiquier avec les 8 décimales de 8 registres. C'est très efficace et compact. Par contre, pour l'HP-15C je n'utilise pas la méthode du Chevalier Wansdorf de Bohème. Cette méthode est implémentée sur mon SHARP PC-1360 et donne d'excellents résultats.
Je suis impatient de voir cela, car concernant ma TI-57LCD, sur ce problème son manque de mémoire ne me permet pas de l'utiliser pour trouver comment déplacer un cavalier sur l'échiquier !
Code : Tout sélectionner
A(1): D1 -17 Incréments de direction (rotation horaire)
A(2): D2 -15
A(3): D3 -6
A(4): D4 10
A(5): D5 17
A(6): D6 15
A(7): D7 6
A(8): D8 -10
A(9): I 0...63 Position initale/Position Idéale Indice de ligne (i, )
A(10): J 0...63 Position du saut -Jump POS- Indice de colone ( ,j)
A(11): K 1...8 Indice directions D() N° jeton case (i,j)
A(12): L -7...7 Module du saut (détection des bords) Affichage ligne (i)
A(13): M -9...0 Degré de liberté minimum
A(14): N 1...64 Nombre cases occupées (n° du jeton ) Id. échiquier (1...64)
A(15): O ~ D.d.L. destination saut Code fond de case vide
A(16): P 0...63 Position en cours d'investigation Code fond de case occupée
A(17): E0 -8...64 Echiquier:
A(18): E1 -8...64 -8... 0 d.d.l. (case libre) K<N (case libre)
A(19): E2 -8...64 1...64 N° de jeton (case occupée) K=N (case occupée)
.. : ...
A(78):E61 -8...64
A(79):E62 -8...64
A(80):E63 -8...64
Code : Tout sélectionner
·1:CLEAR :E=17,A=-E,F=15,B=-F,G=6,C=-G,D=10,H=-D:FOR P=0TO 63:GOSUB 5:NEXT P:BEEP 2:INPUT "0-63 INI.POS ";I·· 79
·2:FOR N=1TO 64:P=I,A(P+E)=N:GOSUB 5:PRINT N,P:NEXT N:END···················································· 36
·5:M=-9:FOR K=1TO 8:J=P+A(K),L=J-P+8*(INT .125P-INT .125J:IF J>=0IF J<64IF ABS L<3GOSUB 7+SGN N·············· 66
·6:NEXT K:RETURN····························································································· 7
·7:A(P+E)=A(P+E)-1:RETURN···················································································· 20
·8:O=A(J+E):IF O<0LET A(J+E)=O+1:IF O>MLET M=O,I=J··························································· 40
·9:RETURN······································································TOTAL:252 octets·············· 4
Code : Tout sélectionner
RUN_ [MODE][ R ][ U ][ N ][ENTER] (7s.)
Initial POS _ [ D ][ 5 ][ENTER]
1.D5 [ENTER]
2.B4 [ENTER]
3.A2 [ENTER]
4.C1 [ENTER]
...
62.F2 [ENTER]
63.H1 [ENTER]
64.G3 [ENTER]
Code : Tout sélectionner
X : 0 1 2 3 4 5 6 7
72-X : 72 71 70 69 68 67 66 65
CHR$(72-X) : H G F E D C B A avec X = P AND 7 soit X = P MOD 8
P : 0-7 8-15 16-23 24-31 32-39 40-47 48-55 54-63
P/8 : 0.~ 1.~ 2.~ 3.~ 4.~ 5.~ 6.~ 7.~
INT (49+P/8): 49. 50. 51. 52. 53. 54. 55. 56.
CHR$(49+P/8): 1 2 3 4 5 6 7 9
Code : Tout sélectionner
A B C D E F G H
8:(63)62(61)60(59)58(57)56 :8
7: 55(54)53(52)51(50)49(48):7
6:(47)46(45)44(43)42(41)40 :6
5: 39(38)37(36)35(34)33(32):5
4:(31)30(29)28(27)26(25)24 :4 (entre parenthèses les cafes blanches)
3: 23(22)21(20)19(18)17(16):3
2:(15)14(13)12(11)10( 9) 8 :2
1: 7( 6) 5( 4) 3( 2) 1( 0):1
A B C D E F G H
Code : Tout sélectionner
4: INPUT "Initial POS ";P$ : Q=8* VAL RIGHT$(P$,1)-( ASC P$ AND 15)