Tetris C64
Basic
Actualizado el 8 de Febrero del 2020 por Adelino (27 códigos) (Publicado el 25 de Noviembre del 2019)
10.230 visualizaciones desde el 25 de Noviembre del 2019
Juego de tipo tetris para Commodore 64.


10 POKE 53280,0: POKE 53281,0
20 PRINT CHR$(0) CHR$(147)
30 DIM E(255), H(250),F(24),Y(24)
40 DIM A(2,6,3,3),I(6,3)
50 C0=49152: C1=49408: C2=49664
60 C3=49920: C4=50176: C5=50432
70 E(29)=1: E(157)=2: E(145)=3
80 G(0)=1: G(1)=2: G(2)=3
90 X(0)=10: X(1)=1: X(2)=-1
100 FOR X=828 TO 975
110 READ Y: POKE X,Y: NEXT
120 Q=55279: G=239: P=215
130 FOR Y=0 TO 24
140 A=12: F(Y)=10*Y
150 G=G+30: Q=Q+30
160 POKE Q+11,11: POKE Q-54261,207
170 FOR X=0 TO 9
180 C=C+1: H(C)=Y
190 G=G+1: Q=Q+1
200 POKE Q,A-1: POKE Q-54272,207
210 POKE C0+C,A: IF Y>23 GOTO 250
220 A=1: IF Y<1 THEN POKE Q,11: GOTO 250
230 IF G>255 THEN G=G-256: P=P+1
240 POKE C3+C,G: POKE C4+C,P
250 NEXT X,Y
260 FOR G=0 TO 3: C=G<1
270 FOR A=0 TO 6: I(A,G)=N+3
280 FOR Y=-C TO 3+C
290 FOR X=0 TO 3
300 IF C THEN READ Q
310 IF G THEN Q=A(G-1,A,Y,X)
320 IF Q THEN POKE C5+N,X+F(Y): N=N+1
330 IF Q>G THEN A(G,A,X,3-Y)=3
340 NEXT X,Y,A,G
350 P=INT(RND(0)*7)
360 REM ***** Inicio *****
370 A=P: G=0
380 FOR Y=0 TO 1
390 IF Y THEN P=INT(RND(0)*7)
400 X=C5+I(P,0)-3
410 FOR N=0 TO 3
420 C=5+PEEK(X): X=X+1
430 Q=PEEK(C3+C)+256*PEEK(C4+C)
440 POKE Q+172,P+1: POKE Q-54100,207
450 IF Y GOTO 490
460 IF PEEK(C0+C)>1 GOTO 460
470 POKE C0+C,0: POKE C1+N,C
480 POKE Q,P+1: POKE Q+172,0
490 NEXT N,Y
500 POKE 251,A+1: POKE 252,5
510 REM ***** Rutina *****
520 T=TI: C=PEEK(252)
530 E$=" ": IF TI-T<8 THEN GET E$
540 IF E$="" GOTO 530
550 X=E(ASC(E$)): Y=G
560 IF X>2 THEN IF H(C) THEN G=G(Y)
570 POKE 252,C+X(X): POKE 253,I(A,G)
580 SYS 828
590 IF PEEK(253)<1 GOTO 520
600 IF X THEN G=Y: GOTO 530
610 REM ***** Lineas *****
620 FOR N=0 TO 3
630 POKE C0+PEEK(C1+N),A+2
640 Y=H(PEEK(C1+N)): Y(Y)=Y(Y)+1
650 IF Y(Y)<9 GOTO 700
660 POKE 251,F(Y+1): POKE 252,F(Y)
670 SYS 931
680 Y(Y)=Y(Y-1): Y=Y-1
690 IF Y(Y) GOTO 670
700 NEXT
710 GOTO 370
720 REM ***** Ensamblador *****
730 DATA 166,253,160,4,136,132,254,165
740 DATA 252,24,125,0,197,153,0,194
750 DATA 168,185,0,192,233,1,16,78
760 DATA 202,164,254,208,231,132,253,160
770 DATA 4,136,132,254,190,0,194,222
780 DATA 0,192,208,16,189,0,195,133
790 DATA 178,189,0,196,133,179,165,251
800 DATA 160,0,145,178,164,254,208,225
810 DATA 160,4,136,132,254,190,0,193
820 DATA 185,0,194,153,0,193,254,0
830 DATA 192,240,15,189,0,195,133,178
840 DATA 189,0,196,133,179,169,0,168
850 DATA 145,178,164,254,208,220,96,166
860 DATA 251,160,9,136,132,254,164,252
870 DATA 185,0,192,157,0,192,168,189
880 DATA 0,195,133,178,189,0,196,133
890 DATA 179,136,152,160,0,145,178,202
900 DATA 198,252,164,254,208,221,202,134
910 DATA 251,198,252,96
920 REM ***** Datos *****
930 DATA 1,1,1,1,0,0,0,0
940 DATA 0,1,0,0,0,1,1,1
950 DATA 0,0,1,0,1,1,1,0
960 DATA 0,1,1,0,0,0,1,1
970 DATA 0,1,1,0,1,1,0,0
980 DATA 0,1,0,0,1,1,1,0
990 DATA 0,1,1,0,0,1,1,0
No hay comentarios