Chouette, j'attends ta version alors.Gilles59 a écrit :Excellente idée que programmer 2048...
J'étais passé à coté du jeu et je m'y met maintenant c'est sympa quoique assez agaçant grrrr ...
Je suis ok pour t'aider quand tu veux.
Modérateur : Politburo
Chouette, j'attends ta version alors.Gilles59 a écrit :Excellente idée que programmer 2048...
J'étais passé à coté du jeu et je m'y met maintenant c'est sympa quoique assez agaçant grrrr ...
Ce sera une version 4x4 HP49/50, j'hésite entre UserRPL ou HP-Pascal/50G ....ledudu a écrit :Chouette, j'attends ta version alors.Gilles59 a écrit :Excellente idée que programmer 2048...
J'étais passé à coté du jeu et je m'y met maintenant c'est sympa quoique assez agaçant grrrr ...
Je suis ok pour t'aider quand tu veux.
J'ai reçu ce jour celui que j'ai acheté, installé et testé, ça marche impec ("14940 Bytes free"). Mon X-07 a donc 16 Ko. Ça c'est fait. A ce prix là, c'est sûr qu'il ne faut pas s'en priver... .bernouilli92 a écrit :Voici des TC5565PL pour 5 € fdpin, je pense que sans le L ça doit aller aussi. À vérifier dans la datasheet :
http://www.ebay.fr/itm/322055782896
CONSOLE ,,,0- Peut-on désactiver le bip bip des touches ?
Code : Tout sélectionner
Program: 2048
1 REM ****************
2 REM ***** 2048 *****
3 REM ****************
5 CLEAR:I=RND(0)
10 REM ERASE A,B,C
15 DIM A(5,5),B(5),C(5)
20 N=0:P=0:C=15:B=0:T=2
50 GOSUB 950: GOSUB 900
100 REM BOUCLE DE JEU
105 REM INITIALISATION AVEC DEUX 2
110 GOSUB 1000
120 IF T>1 THEN GOSUB 900
130 K$=INKEY$:IF K$="" THEN 130
140 IF K$="B" OR K$="b" THEN B=1-B:BEEP 100,2
150 IF ASC(K$)<28 OR ASC(K$)>31 THEN GOTO 130
155 IN=0:T=0
160 ON ASC(K$)-27 GOSUB 500,600,800,700
170 GOTO 100
500 REM JEU A DROITE
510 FOR I=1 TO 4:IN=1
520 REM Copie Cadree du Vecteur dans B
525 IF T=1 THEN T=0
530 MM=4:CC=1:FOR J=4 TO 1 STEP -1 :IF A(I,J)<>0 THEN B(MM)=A(I,J):MM=MM-1:IN=0:T=T*2 ELSE B(CC)=0:CC=CC+1:IF T=0 THEN T=1
535 NEXT J
537 IF IN=1 THEN GOTO 560
540 GOSUB 1200
550 MM=4:CC=1:FOR J=4 TO 1 STEP -1:IF B(J)<>0 THEN A(I,MM)=B(J):MM=MM-1 ELSE A(I,CC)=0:CC=CC+1
555 NEXT J
560 NEXT I
570 RETURN
600 REM GAUCHE
610 FOR I=1 TO 4:IN=1
620 REM Copie Cadree du Vecteur dans B
625 IF T=1 THEN T=0
630 MM=1:CC=4:FOR J=1 TO 4 :IF A(I,J)<>0 THEN B(5-MM)=A(I,J):MM=MM+1:IN=0:T=T*2 ELSE B(5-CC)=0:CC=CC-1:IF T=0 THEN T=1
635 NEXT J
637 IF IN THEN 660
640 GOSUB 1200
650 MM=1:CC=4:FOR J=1 TO 4:IF B(5-J)<>0 THEN A(I,MM)=B(5-J):MM=MM+1 ELSE A(I,CC)=0:CC=CC-1
655 NEXT J
660 NEXT I
670 RETURN
700 REM HAUT
710 FOR I=1 TO 4:IN=1
720 REM Copie Cadree du Vecteur dans B
725 IF T=1 THEN T=0
730 MM=4:CC=1:FOR J=4 TO 1 STEP -1:IF A(J,I)<>0 THEN B(MM)=A(J,I):MM=MM-1:IN=0:T=2*T ELSE B(CC)=0:CC=CC+1:IF T=0 THEN T=1
735 NEXT J
737 IF IN THEN 760
740 GOSUB 1200
750 MM=4:CC=1:FOR J=4 TO 1 STEP -1:IF B(J)<>0 THEN A(MM,I)=B(J):MM=MM-1 ELSE A(CC,I)=0:CC=CC+1
755 NEXT J
760 NEXT I
790 RETURN
800 REM BAS
805 IN=1
810 FOR I=1 TO 4:IN=1
820 REM Copie Cadree du Vecteur dans B
825 IF T=1 THEN T=0
830 MM=1:CC=4:FOR J=1 TO 4 :IF A(J,I)<>0 THEN B(5-MM)=A(J,I):MM=MM+1:IN=0:T=2*T ELSE B(5-CC)=0:CC=CC-1:IF T=0 THEN T=1
835 NEXT J
837 IF IN THEN 860
840 GOSUB 1200
850 MM=1:CC=4:FOR J=1 TO 4:IF B(5-J)<>0 THEN A(MM,I)=B(5-J):MM=MM+1 ELSE A(CC,I)=0:CC=CC-1
855 NEXT J
860 NEXT I
890 RETURN
900 REM TIRAGE ALEATOIRE
910 X=INT(RND(1)*4+1):Y=INT(RND(1)*4+1)
920 IF A(X,Y)<>0 THEN 910
930 A(X,Y)=1-(RND(1)>0.9):N=N+1
935 LOCATE (Y-1)*3+1,X-1:PRINT MID$(STR$(2^A(X,Y))+" ",2,2);
936 LOCATE C-2,1:PRINT N
938 IF B=1 THEN BEEP 100,2
940 RETURN
950 REM Preparation du plateau
952 CLS
955 LINE (3,0)-(3,30)
960 LINE (21,0)-(21,30)
965 LINE (39,0)-(39,30)
970 LINE (57,0)-(57,30)
975 LINE (75,0)-(75,30)
980 LOCATE C,0:PRINT "Nbr:";
985 LOCATE C,2:PRINT "Pts:";
990 RETURN
1000 REM Impression des chiffres
1020 FOR I=1 TO 4
1030 FOR J=1 TO 4
1035 P$=" "
1040 IF A(I,J)>6 THEN GOSUB 1500:P$=CHR$(128)+CHR$(129):GOTO 1045
1042 IF A(I,J)>0 THEN P$=MID$(STR$(2^A(I,J))+" ",2,2)
1045 LOCATE (J-1)*3+1,I-1:PRINT P$;
1050 NEXT J
1060 NEXT I
1074 LOCATE C-2,3:PRINT P;
1090 RETURN
1200 REM CADRAGE / ELIMINATION
1220 FOR J=4 TO 2 STEP -1
1230 IF B(J)=B(J-1) AND B(J)<>0 THEN B(J)=B(J)+1:B(J-1)=0:P=P+2^B(J):T=2
1240 NEXT J
1260 RETURN
1500 ON A(I,J)-6 GOSUB 2010,2020,2030,2040,2050
1510 RETURN
2000 REM CARACTERES
2010 REM 128
2011 FONT$(128)="&H0,&H14,&H30,&H14,&H14,&H14,&H0,&H0"
2012 FONT$(129)="&H0,&H90,&HA8,&H90,&H28,&H90,&H0,&H0"
2013 RETURN
2020 REM 256
2021 FONT$(128)="&H0,&H6C,&H28,&H6C,&H44,&H6C,&H0,&H0"
2022 FONT$(129)="&H0,&H40,&H40,&H70,&H50,&H70,&H0,&H0"
2023 RETURN
2030 REM 512
2031 FONT$(128)="&H0,&H30,&H24,&H30,&H10,&H30,&H0,&H0"
2032 FONT$(129)="&H0,&HB0,&H90,&HB0,&HA0,&HB0,&H0,&H0"
2033 RETURN
2040 REM 1024
2041 FONT$(128)="&H0,&H24,&H68,&H28,&H28,&H24,&H0,&H0"
2042 FONT$(129)="&H0,&H68,&HA8,&HEC,&HC4,&H64,&H0,&H0"
2043 RETURN
2050 REM 2048
2051 FONT$(128)="&H00,&HC8,&H54,&HD4,&H94,&HC8,&H00,&H00"
2052 FONT$(129)="&H00,&H88,&H94,&H88,&HD4,&H48,&H00,&H00"
2053 RETURN
Oui, ça tourne autour de ça.charognard a écrit :LIST@
Il faut appuyer sur ON/BREAK pour l'édition de la ligne de 4, sinon c'est de la consultationledudu a écrit :HelloOui, ça tourne autour de ça.charognard a écrit :LIST@
Mais si je fais list@ 1400, la ligne apparaît mais si j'appuie sur une touche, ça sort du mode édition.
Code : Tout sélectionner
En appuyant sur la touche ON, le listage est arrété et un ordre peut être introduit