10 'GUANTE BLANCO, por David Radisic 20 'copyright (c) AMSOFT 1985 30 ' 40 MODE 0:INK 0,0:BORDER 0:INK 1,26:INK 2,15:INK 3,25 50 INK 4,14:INK 5,24,12:INK 6,0:INK 7,0:INK 8,0:PAPER #1, 7 60 retardo=200 70 DIM objx(5,20),objy(5,20),joyax(5,20),joyay(5,20) 80 GOSUB 380 90 GOSUB 720 100 pausa=200:GOSUB 340 110 IF joyas=0 THEN GOSUB 980 120 PEN 4 130 FOR i=10 TO 12 140 LOCATE 15,i:PRINT"BOTIN"; 150 NEXT 160 PAPER 0:CLS#2:PAPER 8 170 GOSUB 1180 180 GOSUB 1240 190 GOSUB 1380 200 GOSUB 1520 210 IF rm=0 THEN GOSUB 1910 220 IF muerto=0 THEN 160 230 pausa=100:GOSUB 340 240 PAPER 0:CLS:PEN 1 250 LOCATE 4,3:PRINT"Quiere jugar"; 260 LOCATE 5,5:PRINT"otra vez?"; 270 PEN 5:LOCATE 7,7:PRINT"S/N"; 280 i$=UPPER$(INKEY$):IF i$<>"S" AND i$<>"N" THEN 280 290 IF i$="N" THEN MODE 2:PEN 1:STOP 300 RUN 310 IF perro=1 THEN RETURN 320 perro=1:perrox=minx(rm):perroy=miny(rm) 330 RETURN 340 FOR bucle=1 TO pausa 350 FRAME 360 NEXT 370 RETURN 380 rm=1:xp=6:yp=4:hombre$=CHR$(224):perro=0:robado=0 390 SYMBOL 240,8,8,8,8,8,8,8,8 400 SYMBOL 241,0,0,0,0,255,0,1,0 410 SYMBOL 242,0,0,0,0,15,8,8,8 420 SYMBOL 243,0,0,0,0,248,8,8,8 430 SYMBOL 244,8,8,8,8,248,0,0,0 440 SYMBOL 245,8,8,8,8,15,0,0,0 450 SYMBOL 246,8,12,13,14,12,12,8,8 460 SYMBOL 247,8,12,12,14,13,12,9,8 470 SYMBOL 248,8,24,88,56,24,24,8,8 480 SYMBOL 249,8,24,24,56,88,24,8,8 490 SYMBOL 250,0,0,255,129,129,129,255,0 500 SYMBOL 251,28,20,20,20,20,20,20,28 510 SYMBOL 252,0,0,255,255,255,255,255,0 520 SYMBOL 253,28,28,28,28,28,28,28,28 530 SYMBOL 255,195,165,60,126,90,60,36,24 540 ENT 1,12,-4,1 550 ENT -2,=1000,60,=3000,40 560 ENV 1,10,1,5,2,-4,1,2,-1,20 570 vent$(1)=STRING$(2,250):vent$(2)=CHR$(251)+CHR$(8)+CHR$(10)+CHR$(251)+CHR$(8)+CHR$(10)+CHR$(251) 580 puerta$(1)=STRING$(2,252): puerta$(2)=CHR$(253)+CHR$(8)+CHR$(10)+CHR$(253)+CHR$(8)+CHR$(10)+CHR$(253) 590 conm$(1,0)=CHR$(246):conm$(1,1)=CHR$(247) 600 conm$(2,0)=CHR$(248):conm$(2,1)=CHR$(249) 610 joya$=CHR$(144):obj$=CHR$(233):perro$=CHR$(255) 620 gol$=CHR$(246)+CHR$(248)+CHR$(247)+CHR$(249)+CHR$(252)+CHR$(253)+CHR$(250)+CHR$(251)+joya$+obj$+perro$ 630 RESTORE 3020 640 FOR i=1 TO 5 650 READ minx(i),miny(i),maxx(i),maxy(i) 660 READ dir(i,1),dir(i,2),dir(i,3),dir(i,4) 670 NEXT 680 WINDOW #1,minx(rm)-1,maxx(rm)+1,miny(rm)-1,maxy(rm)+1 690 WINDOW #2,1,14,1,25 700 CLS#1:PAPER #0,8 710 RETURN 720 ORIGIN 50,50 730 INK 6,24,12 740 RESTORE 3070 750 GOSUB 1290 760 LOCATE 1,20 770 PEN 5:PRINT">"; 780 PEN 1:PRINT"Puertas y ventanas"; 790 PEN 5:PRINT"<";:PEN 1 800 LOCATE 5,21:PRINT"para escapar"; 810 LOCATE 9,1:PRINT"PASE":LOCATE 10,2:PRINT CHR$(213)CHR$(212); 820 pausa=300:GOSUB 340 830 CLS:LOCATE 1,3:INK 6,0 840 PEN 1:PRINT hombre$;" Usted, el ladron":PRINT 850 PEN 2:PRINT LEFT$(puerta$(1),1);LEFT$(puerta$(2),1);"Puertas":PRINT 860 PEN 3:PRINT conm$(1,0);conm$(2,0);" Luces apagadas":PRINT 870 PEN 3:PRINT conm$(1,1);conm$(2,1);" Luces encendidas" :PRINT 880 PEN 4:PRINT LEFT$(vent$(1),1);LEFT$(vent$(2),1);" Ventanas":PRINT 890 PEN 5:PRINT joya$;" Piedras preciosas":PRINT 900 PAPER 1:PEN 0:PRINT obj$;" Obstaculos":PEN 1:PAPER 0:PRINT 910 PEN 1:PRINT perro$;" El perro" 920 PEN 5:PRINT:PRINT:PRINT 930 PRINT"Utilice joystick":PRINT"o teclas de cursor" 940 aux=REMAIN(1) 950 AFTER retardo*4,1 GOSUB 340 960 RETURN 970 ' 980 'Generar joyas y obstaculos 990 ' 1000 FOR hab=1 TO 5 1010 joyar=INT(RND*8)+2:objr=INT(RND*10)+5 1020 minx=minx(hab):miny=miny(hab):maxx=maxx(hab):maxy=maxy(hab) 1030 FOR i=1 TO joyar 1040 x=INT(RND*(maxx-minx+1))+minx 1050 y=INT(RND*(maxy-miny+1))+miny 1060 joyax(hab,i)=x:joyay(hab,i)=y 1070 joyas=joyas+1 1080 NEXT i 1090 FOR i=1 TO objr 1100 x=INT(RND*(maxx-minx+1))+minx 1110 y=INT(RND*(maxy-miny+1))+miny 1120 objx(hab,i)=x:objy(hab,i)=y 1130 NEXT i 1140 joyas(hab)=joyar:obj(hab)=objr 1150 NEXT hab 1160 CLS 1170 RETURN 1180 ON rm GOTO 1190,1200,1210,1220,1230 1190 RESTORE 2680:RETURN 1200 RESTORE 2750:RETURN 1210 RESTORE 2820:RETURN 1220 RESTORE 2890:RETURN 1230 RESTORE 2970:RETURN 1240 PAPER 0:READ rm$:PAPER 8 1250 WINDOW #1,minx(rm)-1,maxx(rm)+1,miny(rm)-1,maxy(rm)+1:CLS#1 1260 PEN 1:LOCATE 1,1:PRINT SPACE$(19); 1270 LOCATE 1,1:PRINT"Habitacion: ";rm$; 1280 IF luces(rm) THEN INK 7,10:INK 8,10 ELSE INK 7,0:INK 8,0 1290 READ a$:IF a$="FIN" THEN RETURN 1300 IF a$="D" THEN 2190 1310 IF a$="W" THEN 2270 1320 IF a$="L" THEN GRAPHICS PEN 1:GOTO 2350 1330 IF a$="S" THEN 2430 1340 IF a$="F" THEN GRAPHICS PEN 6:GOTO 2350 1350 PRINT"***ERROR ***"; 1360 STOP 1370 ' 1380 'Dibujar joyas/objetos 1390 ' 1400 PEN 6 1410 FOR i=1 TO obj(rm) 1420 LOCATE objx(rm,i),objy(rm,i) 1430 PRINT obj$; 1440 NEXT 1450 PEN 5 1460 FOR i=1 TO joyas(rm) 1470 LOCATE joyax(rm,i),joyay(rm,i) 1480 PRINT joya$; 1490 NEXT 1500 PEN 1:LOCATE xp,yp:PRINT hombre$; 1510 RETURN 1520 xf=0:yf=0:PEN 1 1530 IF INKEY(0)<>-1 OR INKEY(72)<>-1 THEN yf=-1 1540 IF INKEY(2)<>-1 OR INKEY(73)<>-1 THEN yf=1 1550 IF INKEY(8)<>-1 OR INKEY(74)<>-1 THEN xf=-1 1560 IF INKEY(1)<>-1 OR INKEY(75)<>-1 THEN xf=1 1570 IF xf=0 AND yf=0 THEN 1640 1580 LOCATE xp+xf,yp+yf:ht$=COPYCHR$(#0) 1590 IF ASC(ht$)>239 AND ASC(ht$)<246 THEN 1520 1600 IF ht$<>" " THEN 1670 1610 LOCATE xp,yp:PRINT" "; 1620 PAPER 0:LOCATE 4,24:PRINT" ";:PAPER 8 1630 xp=xp+xf:yp=yp+yf 1640 LOCATE xp,yp:PRINT hombre$; 1650 IF perro>0 THEN perro=perro MOD 2+1:IF perro=2 THEN 2560 1660 GOTO 1520 1670 gol=INSTR(gol$,ht$):car=ASC(MID$(gol$,gol,1)) 1680 ON gol GOTO 1700,1700,1700,1700,1760,1760,1860,1910,1980,2100,2660 1690 GOTO 1610 1700 IF gol>2 AND gol<5 THEN car=car-1 1710 IF gol<3 THEN car=car+1 1720 PEN 3:LOCATE xp+xf,yp+yf:PRINT CHR$(car); 1730 luces(rm)=luces(rm) XOR 1 1740 IF luces(rm) THEN INK 7,10:INK 8,10 ELSE INK 7,0:INK 8,0 1750 GOTO 1520 1760 IF xf<>0 AND yf<>0 THEN 1640 1770 IF xf<0 THEN dir=4 ELSE IF xf>0 THEN dir=3 1780 IF yf<0 THEN dir=1 ELSE IF yf>0 THEN dir=2 1790 IF dir(rm,dir)=-1 THEN 1640 ELSE rm=dir(rm,dir) 1800 IF perro>0 THEN GOSUB 310 1810 IF dir=1 THEN xp=6:yp=maxy(rm) 1820 IF dir=2 THEN xp=6:yp=miny(rm) 1830 IF dir=3 THEN xp=minx(rm):yp=13 1840 IF dir=4 THEN xp=maxx(rm):yp=13 1850 RETURN 1860 IF xp>5 AND xp<8 THEN 1890 1870 IF xp<6 THEN dir=4 ELSE dir=3 1880 GOTO 1790 1890 IF yp>13 THEN dir=2 ELSE dir=1 1900 GOTO 1790 1910 PAPER 0:CLS:PEN 1 1920 LOCATE 3,3:PRINT"Usted ha escapado"; 1930 LOCATE 8,5:PRINT"con"; 1940 IF joyas=robado THEN LOCATE 8,7:PRINT"todas las";ELSE LOCATE 8,7 1950 PRINT USING" ##";robado; 1960 PEN 5:LOCATE 8,9:PRINT"joyas"; 1970 muerto=1:RETURN 1980 LOCATE xp,yp:PRINT" ";:xp=xp+xf:yp=yp+yf 1990 i=0 2000 i=i+1 2010 IF i>joyas(rm) THEN 1520 2020 IF joyax(rm,i)<>xp OR joyay(rm,i)<>yp THEN 2000 2030 IF i=joyas(rm) THEN 2060 2040 joyax(rm,i)=joyax(rm,joyas(rm)) 2050 joyay(rm,i)=joyay(rm,joyas(rm)) 2060 joyas(rm)=joyas(rm)-1:robado=robado+1 2070 MOVE 400,150+(robado*2),1,1:DRAW 555,150+(robado*2),1,1 2080 SOUND 129,248,10,12,0,1 2090 GOTO 1990 2100 ruido=INT(RND*15) 2110 SOUND 1,3000,10,ruido,0,0,10 2120 PAPER 0:LOCATE 4,24:PRINT"Choque ";:PAPER 8 2130 IF ruido<10 OR retardo=50 THEN 1640 2140 retardo=retardo-50 2150 aux=REMAIN(1) 2160 AFTER retardo*4,1 GOSUB 310 2170 GOTO 1640 2180 ' 2190 'Dibujar puertas 2200 ' 2210 READ no,pu$ 2220 IF pu$="V" THEN pu=2 ELSE pu=1 2230 PEN 2 2240 pic$=puerta$(pu):GOSUB 2510 2250 GOTO 1290 2260 ' 2270 'Dibujar ventanas 2280 ' 2290 READ no,ve$ 2300 IF ve$="V" THEN ve=2 ELSE ve=1 2310 PEN 4 2320 pic$=vent$(ve):GOSUB 2510 2330 GOTO 1290 2340 ' 2350 'Dibujar rectas 2360 ' 2370 READ x1,y1,x2,y2 2380 MOVE x1,y1,0 2390 DRAW x1,y2,0:DRAW x2,y2,0 2400 DRAW x2,y1,0:DRAW x1,y1,0 2410 GOTO 1290 2420 ' 2430 'Dibujar interruptores 2440 ' 2450 READ no,co$ 2460 IF co$="L" THEN co=1 ELSE co=2 2470 PEN 3 2480 pic$=conm$(co,0):GOSUB 2510 2490 GOTO 1290 2500 ' 2510 'Escribir car 2520 ' 2530 READ x,y:LOCATE x,y:PRINT pic$; 2540 no=no-1:IF no>0 THEN 2530 2550 RETURN 2560 PEN 1:LOCATE perrox,perroy:PRINT" "; 2570 hombre$=CHR$(225) 2580 IF (perrox=xp AND perroy=yp) OR (perrox=xp+xf AND perroy=yp+yf) THEN 2660 2590 IF perroxxp THEN perrox=perrox-1 2610 IF perroyyp THEN perroy=perroy-1 2630 LOCATE perrox,perroy:PRINT perro$; 2640 SOUND 1,0,RND*40,10,1,2,31 2650 GOTO 1520 2660 PRINT"MORDIDO"; 2670 muerto=1:RETURN 2680 DATA Pasillo 2690 DATA L,64,308,226,4 2700 DATA D,2,H,6,3,6,22 2710 DATA D,2,V,4,12,9,11 2720 DATA S,1,L,4,11 2730 DATA S,1,R,9,14 2740 DATA FIN 2750 DATA Sala 2760 DATA L,2,308,258,4 2770 DATA D,1,V,10,12 2780 DATA W,1,H,6,3 2790 DATA W,1,V,2,12 2800 DATA S,2,R,10,11,10,15 2810 DATA FIN 2820 DATA Comedor 2830 DATA L,2,308,258,4 2840 DATA W,1,V,10,12 2850 DATA W,1,H,6,3 2860 DATA D,1,V,2,12 2870 DATA S,2,L,2,11,2,15 2880 DATA FIN 2890 DATA Cocina 2900 DATA L,2,276,384,4 2910 DATA D,2,H,6,5,6,22 2920 DATA W,1,H,10,22 2930 DATA W,1,V,14,13 2940 DATA D,1,V,2,13 2950 DATA S,1,L,2,16 2960 DATA FIN 2970 DATA Despensa 2980 DATA L,2,276,256,4 2990 DATA D,1,V,10,12 3000 DATA S,1,R,10,11 3010 DATA FIN 3020 DATA 5,4,8,21,0,4,3,2 3030 DATA 3,4,9,21,-1,-1,1,-1 3040 DATA 3,4,9,21,-1,-1,-1,1 3050 DATA 3,6,13,21,1,0,-1,5 3060 DATA 3,6,9,21,-1,-1,4,-1 3070 DATA L,64,308,480,100 3080 DATA F,250,98,294,102 3090 DATA F,250,306,294,310 3100 DATA F,390,94,430,106 3110 DATA F,390,302,430,314 3120 DATA F,474,240,488,270 3130 DATA F,474,124,488,154 3140 DATA F,58,240,72,270 3150 DATA L,226,308,322,180 3160 DATA L,160,180,480,100 3170 DATA L,64,180,160,100 3180 DATA FIN