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.


100 DEF SEG=&HB800: DEFINT A-Y
110 WIDTH 40: KEY OFF: CLS
120 RANDOMIZE TIMER
130 DIM Q(249),D(249),E(255),Y(24)
140 DIM A(3,6,3,3),C(7,3,3),G(3,3)
150 E(77)=1: E(75)=2: E(72)=3
160 X(0)=10: X(1)=1: X(2)=-1
170 Q=29: P=INT(RND*7)+1
180 FOR Y=0 TO 24
190 FOR X=0 TO 9
200 IF X*Y<1 OR Y=24 THEN D(C)=8
210 POKE Q,D(C): POKE Q-1,219
220 Q(C)=Q: C=C+1
230 Q=Q+2: NEXT
240 POKE Q,8: POKE Q-1,219
250 Q=Q+60: NEXT
260 FOR G=0 TO 3: C=G<1
270 FOR A=0 TO 6: N=0
280 IF C THEN B(A+1)=A+1
290 IF A<3 THEN G(G,A)=G: G(A,3)=A+1
300 FOR Y=-C TO 3+C
310 FOR X=0 TO 3
320 IF C THEN READ A(G,A,Y,X)
330 IF A(G,A,Y,X)<1 GOTO 370
340 A(G(G,3),A,X,3-Y)=1
350 C(A+1,G,N)=X+10*Y
360 N=N+1
370 NEXT X,Y,A,G
380 REM ***** Inicio *****
390 A=P: G=0
400 FOR N=0 TO 3
410 C=4+C(A,G,N)
420 IF D(C)<1 GOTO 450
430 IF INKEY$<>CHR$(27) GOTO 430
440 END
450 POKE Q(C),A: POKE Q(C)+344,0
460 V(N)=C: D(C)=-1
470 NEXT
480 C=4: P=INT(RND*7)+1
490 FOR N=0 TO 3
500 Q=Q(C(P,0,N))+352
510 POKE Q,P: POKE Q-1,219
520 NEXT
530 REM ***** Rutina *****
540 Z=TIMER
550 IF INKEY$<>"" GOTO 550
560 E=ASC(RIGHT$(" "+INKEY$,1))
570 IF E=32 AND TIMER-Z<.3 GOTO 560
580 X=E(E): C=C+X(X): N=3
590 W(N)=C+C(A,G(G,X),N)
600 IF D(W(N))>0 GOTO 740
610 IF N THEN N=N-1: GOTO 590
620 G=G(G,X)
630 FOR N=0 TO 3
640 IF D(W(N))=0 THEN POKE Q(W(N)),A
650 D(W(N))=D(W(N))-1
660 NEXT
670 FOR N=0 TO 3
680 D(V(N))=D(V(N))+1
690 IF D(V(N))=0 THEN POKE Q(V(N)),0
700 V(N)=W(N)
710 NEXT
720 GOTO 540
730 REM ***** Lineas *****
740 C=C-X(X): IF X GOTO 550
750 FOR N=0 TO 3
760 Y=INT(V(N)/10)
770 Y(Y)=Y(Y)+1
780 D(V(N))=A
790 NEXT
800 IF Y(Y)<1 GOTO 390
810 IF Y(Y)<9 THEN Y=Y-1: GOTO 800
820 X=Y+1: C=10*X
830 FOR N=0 TO 8
840 C=C-1: D(C)=B(D(C-10))
850 POKE Q(C),D(C)
860 NEXT
870 X=X-1: Y(X)=Y(X-1)
880 IF Y(X) THEN C=C-1: GOTO 830
890 GOTO 800
900 REM ***** Datos *****
910 DATA 1,1,1,1,0,0,0,0
920 DATA 0,1,0,0,0,1,1,1
930 DATA 0,0,1,0,1,1,1,0
940 DATA 0,1,1,0,0,0,1,1
950 DATA 0,1,1,0,1,1,0,0
960 DATA 0,1,0,0,1,1,1,0
970 DATA 0,1,1,0,0,1,1,0
Comentarios sobre la versión: 1.0 (0)
No hay comentarios