10 REM \{vi}PAC-MAN\{vi} E.MENA 1984 20 BEEP .1,30 30 LOAD "G.Def"CODE USR "a" 40 CLEAR 29999 50 LOAD "laberinto"CODE 31000 60 FOR n=60 TO 0 STEP -5: BEEP .01,n: NEXT n 70 BORDER 4: PAPER 4: CLS 80 PRINT INK 1; FLASH 1;AT 10,9;"PARA LA CINTA" 90 GO SUB 9000 95 LET s=2 100 DIM x(s): DIM y(s): DIM a(s): DIM b(s) 110 LET m=0: LET x=15: LET y=13: LET a=x: LET b=y: LET m1=0: LET b$="\c": LET a$=b$: LET g=240: REM LET w$="\g" 120 RANDOMIZE USR 30000 130 FOR n=1 TO s 140 LET x(n)=INT (RND*29+1): LET y(n)=INT (RND*19+1) 150 IF ATTR (y(n),x(n))<>51 THEN GO TO 140 160 LET a(n)=x(n): LET b(n)=y(n) 170 PRINT INK n; PAPER 6;AT y(n),x(n);"\d" 180 BEEP .1,n*9: NEXT n 190 IF POINT (x,y)=1 THEN BEEP .01,30: LET m=m+1: IF m=364 THEN GO TO 1000 195 PRINT INK 7; PAPER 6;AT b,a;" " 200 PRINT INK 0; PAPER 6;AT y,x;a$ 210 LET a=x: LET b=y 220 FOR n=1 TO s 230 GO TO g 240 LET x(n)=x(n)+1: LET g=240: IF ATTR (y(n),x(n))=33 THEN LET x(n)=a(n): GO TO 280 250 GO TO 310 260 LET x(n)=x(n)-1: LET g=260: IF ATTR (y(n),x(n))=33 THEN LET x(n)=a(n): GO TO 240 270 GO TO 310 280 LET y(n)=y(n)+1: LET g=280: IF ATTR (y(n),x(n))=33 THEN LET y(n)=b(n): GO TO 300 290 GO TO 310 300 LET y(n)=y(n)-1: LET g=300: IF ATTR (y(n),x(n))=33 THEN LET y(n)=b(n): GO TO 260 310 LET v=ATTR (y(n),x(n)) 320 IF v=55 THEN LET w$=" ": LET i=7: GO TO 350 330 IF v=51 THEN LET w$="\g": LET i=3: GO TO 350 340 IF V=48 THEN GO TO 2000 350 IF x(n)=0 OR x(n)=31 THEN LET x(n)=a(n) 355 PRINT INK I; PAPER 6;AT B(N),A(N);W$ 360 PRINT INK N; PAPER 6;AT Y(N),X(N);"\d" 370 LET A(N)=X(N): LET B(N)=Y(N) 380 NEXT N 385 IF INKEY$="" THEN GO TO 420 390 IF INKEY$="2" THEN LET y=y-1: LET B$="\e": GO TO 410 395 IF INKEY$="s" THEN LET y=y+1: LET b$="\f": GO TO 410 400 IF INKEY$="q" THEN LET x=x-1: LET b$="\c": GO TO 410 405 IF INKEY$="e" THEN LET x=x+1: LET b$="\b" 410 IF ATTR (y,x)=33 THEN LET x=a: LET y=b 420 LET m1=m1+1: IF m1=2 THEN LET m1=0: LET a$="\a": GO TO 440 430 LET a$=b$ 440 IF x>31 THEN LET x=0: GO TO 190 450 IF x<0 THEN LET x=31 460 GO TO 190 1000 PRINT INK 7; PAPER 1; FLASH 1;AT 10,8;"LO CONSEGUISTE" 1005 FOR N=1 TO s 1010 FOR l=60 TO 0 STEP -5: BEEP .01,l: NEXT l 1020 NEXT n 1030 LET s=s+1: GO TO 100 2000 FOR n=60 TO 0 STEP -1: BEEP .1,n: NEXT n 2010 CLS : PRINT FLASH 1; PAPER 1; INK 7;AT 10,1;"TE HAN DEVORADO LOS FANTASMAS" 2020 PAUSE 10: BEEP .1,40 2030 PRINT PAPER 2; INK 7; FLASH 1;AT 20,3;"PULSA UNA TECLA PARA JUGAR" 2040 PAUSE 0: GO TO 95 6000 REM graficos definidos 6010 LET a1=BIN 11111111: LET a2=BIN 01111110: LET a3=BIN 00111100 6020 RESTORE 6050: FOR n=1 TO 7: READ a$ 6030 FOR l=0 TO 7: READ a: POKE USR a$+l,a: NEXT l: NEXT n 6040 SAVE "G.Def"CODE USR "a",56 6050 DATA "a",a3,a2,a1,a1,a1,a1,a2,a3 6060 DATA "b",a3,a2,a1,BIN 11111000,BIN 11110000,a1,a2,a3 6070 DATA "c",a3,a2,a1,BIN 00011111,BIN 00001111,a1,a2,a3 6080 DATA "d",a3,a2,a1,BIN 11011011,BIN 11011011,a1,a1,a1 6090 DATA "e",BIN 00100100,BIN 01100110,BIN 11100111,BIN 11100111,BIN 11110111,a1,a2,a3 6100 DATA "f",a3,a2,a1,BIN 11101111,BIN 11100111,BIN 11100111,BIN 01100110,BIN 00100100 6110 DATA "g",0,0,BIN 00011000,a3,a3,BIN 00011000,0,0 7000 REM laberinto 7010 PRINT "11111111111111111111111111111111": PRINT "10000000011111111111111000000001": PRINT "10110101010000011000001010101101": PRINT "10000101000111000011100010100001": PRINT "11101101010000011000001010110111": PRINT "10000000010111011011101000000001": PRINT "10111101000000011000000010111101": PRINT "10000001111101000010111110000001": PRINT "11110100000001011010000000101111": PRINT "10000101011111000011111010100001" 7020 PRINT AT 10,0;"10101101000000011000000010110101": PRINT "00101101111011111111011110110100": PRINT "10000000000000011000000000000001": PRINT "11101111011011000011011011110111": PRINT "10000000000000011000000000000001": PRINT "10111011111110111101111111011101": PRINT "10001010000010000001000001010001": PRINT "10101010111000111100011101010101": PRINT "10100000000010000001000000000101": PRINT "10101011101110110101110111010101": PRINT "10001000000000000100000000010001": PRINT "11111111111111111111111111111111"; 7030 FOR n=0 TO 21: FOR l=0 TO 31 7040 IF SCREEN$ (n,l)="1" THEN PRINT INK 1;AT n,l;" ": GO TO 7060 7050 PRINT INK 3; PAPER 6;AT n,l;"\g" 7060 NEXT l: NEXT n 7070 SAVE "laberinto"SCREEN$ : STOP 8999 REM pintar laberinto 9000 RESTORE 9020: FOR n=30000 TO 30011 9010 READ a: POKE n,a: NEXT n: RETURN 9020 DATA 33,24,121,17,0,64,1,0,27,237,176,201