Código Fonte Completo


  Autor: Wilson F. Martins
  Livro: Jogos de Habilidade, ed. Aleph
  Ano: 1986
  País: Brasil

1 '┌──────────────────────────────┐
2 '│ *ALCATRAZ* A fuga impossivel │
3 '│                              │
4 '│  de Wilson Fazzio Martins    │
5 '└──────────────────────────────┘
10 COLOR15,1,1: SCREEN 2,0
11 OPEN"GRP:"FOR OUTPUT AS #1
12 PI=3.1415927#:VDP(1)=160
13 LINE(18,74)-(33,82),2,BF
14 LINE(33,82)-(39,82),2
15 CIRCLE(32,82),8,2,0,PI/2,1.1:PAINT(34,77),2
16 LINE(18,84)-(39,92),7,BF
17 LINE(18,94)-(33,102),13,BF
18 LINE(33,94)-(39,94),13
19 CIRCLE(32,94),8,13,3*PI/2,0,1.1:PAINT(35,100),13
20 LINE(42,74)-(50,82),2,BF
21 LINE(42,84)-(50,92),7,BF
22 LINE(42,94)-(50,102),13,BF
23 LINE(67,74)-(72,82),2,BF
24 LINE(72,74)-(76,74),2:LINE(64,82)-(67,82),2
25 CIRCLE(69,82),8,2,PI/2,PI,1.7
26 CIRCLE(76,82),8,2,PI/2,PI,2.2
27 PAINT(66,80),2:PAINT(73,75),2
28 LINE(63,84)-(69,92),7,BF
29 LINE(63,92)-(61,92),7
30 LINE(63,84)-(61,92),7:PAINT(62,91),7
31 LINE(69,84)-(71,84),7:LINE(71,84)-(69,92),7:PAINT(70,85),7
32 LINE(53,94)-(61,102),13,BF
33 LINE(61,94)-(68,94),13:CIRCLE(61,94),8,13,3*PI/2,0,1.1:PAINT(63,96),13
34 LINE(79,74)-(94,82),2,BF
35 LINE(94,82)-(100,82),2
36 CIRCLE(93,82),8,2,0,PI/2,1.1:PAINT(95,77),2
37 LINE(79,84)-(87,92),7,BF:LINE(87,84)-(100,84),7:LINE(87,90)-(96,90),7:
CIRCLE(96,84),6,7,3*PI/2,0,1.5:PAINT(89,86),7
38 LINE(79,94)-(87,102),13,BF
39 LINE(103,74)-(118,82),2,BF
40 LINE(118,82)-(124,82),2
41 CIRCLE(117,82),8,2,0,PI/2,1.1:PAINT(119,77),2
42 LINE(103,84)-(118,90),7,BF
43 LINE(118,84)-(124,84),7:CIRCLE(120,84),6,7,3*PI/2,0,1.5:LINE(119,90)-(124,92),7:
LINE(116,90)-(116,92),7:LINE(116,92)-(124,92),7:PAINT(122,86),7:PAINT(117,91),7
44 LINE(116,94)-(124,102),13,BF
45 LINE(127,82)-(147,82),2
46 CIRCLE(137,82),10,2,0,PI,.82:PAINT(137,80),2
47 LINE(127,84)-(147,92),7,BF
48 LINE(127,94)-(147,94),13
49 CIRCLE(137,94),10,13,PI,0,.82:PAINT(137,96),13:PSET(127,93),1
50 LINE(164,74)-(169,82),2,BF
51 LINE(169,74)-(173,74),2:LINE(161,82)-(164,82),2
52 CIRCLE(166,82),8,2,PI/2,PI,1.7
53 CIRCLE(173,82),8,2,PI/2,PI,2.2
54 PAINT(163,80),2:PAINT(170,75),2
55 LINE(160,84)-(166,92),7,BF
56 LINE(160,92)-(158,92),7
57 LINE(160,84)-(158,92),7:PAINT(159,91),7
58 LINE(166,84)-(168,84),7:LINE(168,84)-(166,92),7:PAINT(167,85),7
59 LINE(150,94)-(158,102),13,BF
60 LINE(158,94)-(165,94),13:CIRCLE(158,94),8,13,3*PI/2,0,1.1:PAINT(160,96),13
61 LINE(172,82)-(192,82),2
62 CIRCLE(182,82),10,2,0,PI,.82:PAINT(182,80),2
63 LINE(172,84)-(192,92),7,BF
64 LINE(172,94)-(192,94),13
65 CIRCLE(182,94),10,13,PI,0,.82:PAINT(182,96),13:PSET(172,93),1
66 LINE(195,74)-(215,82),2,BF
67 LINE(195,84)-(213,92),7,BF
68 LINE(195,94)-(203,102),13,BF
69 LINE(218,74)-(238,82),2,BF
70 LINE(218,84)-(226,92),7,BF
71 LINE(218,94)-(226,94),13:LINE(226,94)-(226,102),13:CIRCLE(226,94),8,13,PI,3*PI/2:
PSET(218,93),1:PAINT(220,96),13:LINE(226,96)-(234,102),13,BF
72 PRESET(150,120):COLOR11:PRINT#1,"APRESENTA"
73 VDP(1)=224
74 FORN=1TO2000:NEXT
100 CLEAR4000:DEFINTA-Z:COLOR8,15,15
110 SCREEN2,0:OPEN"GRP:"AS#1
120 VPOKE6144,1:VPOKE6400,1:VPOKE6656,1
130 FORN=0TO7:READQ$:Q=VAL("&H"+Q$)
140 VPOKEN,Q:VPOKEN+2048,Q:VPOKEN+4096,Q:NEXT
150 FORN=0TO7:READQ$:Q=VAL("&H"+Q$)
160 VPOKEN+8192,Q:VPOKEN+10240,Q:VPOKEN+12288,Q:NEXT
170 GOSUB3030
180 DEFFNS$(J)=MID$(SU$(J),3)
190 DIMPO$(13,11):FORM=2TO11:FORN=0TO13:READPO$(N,M):NEXTN:NEXTM
200 NS=34:DIMSU$(NS):FORN=0TONS:READSU$(N):NEXT
210 NV=23:DIMVE$(NV):FORN=0TONV:READVE$(N):NEXT
220 NA=54:AS=44:DIMAC$(NA):FORN=0TONA:READAC$(N):NEXT
230 PC=8:PL=7:ED=6611:COLOR1,5,5:CLS
240 FORN=0TO14:VPOKE6144+N,15:VPOKE6400+N,15:VPOKE6656+N,15:NEXT
250 FORN=0TO119:READQ$:Q=VAL("&H"+Q$)
260 VPOKEN,Q:VPOKEN+2048,Q:VPOKEN+4096,Q:NEXT
270 FORN=0TO119:READQ$:Q=VAL("&H"+Q$)
280 VPOKEN+8192,Q:VPOKEN+10240,Q:VPOKEN+12288,Q:NEXT
290 GOSUB1390
300 STOPON:ONSTOPGOSUB2990
310 GOTO690
320 REM
330 REM   ♦♦♦♦♦ AGUARDA MOVIMENTO ♦♦♦♦♦
340 I$=INKEY$:IFI$=""THEN340
350 GOSUB1390
360 IF(I$>="A"ANDI$<="Z")OR(I$>="a"ANDI$<="z")THENFR$="":I=0:PSET(16,8),15:
GOTO970
370 MO=0:Q=ASC(I$)
380 IFQ=24THEN820
390 IFQ=27THEN890
400 IFQ=38THENSTOP
410 Q=STICK(0)
420 IFQ=1THENMO=1
430 IFQ=5THENMO=2
440 IFQ=3THENMO=3
450 IFQ=7THENMO=4
460 IFMO=0THEN340
470 I$=MID$(PO$(PC,PL),MO,1)
480 REM
490 REM  ♦♦♦♦ MENSAGENS DOS LOCAIS ♦♦♦♦
500 IFI$="0"THEN690
510 IFI$="1"THEN340
520 IFI$="2"THENPRINT#1,"As grades da cela impedem sua   passagem.":GOTO340
530 IFI$="3"THENPRINT#1,"O guarda esta aqui e nao deixa  voce passar.":GOTO340
540 IFI$="4"THENPRINT#1,"Aqui ha uma cadeira eletrica.   Voce foi eletrocutado."
550 IFI$="5"THENPRINT#1,"Ha uma porta fechada aqui.":GOTO340
560 IFI$="6"ANDX(7)=1ANDLEFT$(SU$(6),1)="*"THEN690
570 IFI$="6"THENPRINT#1,"Esta muito escuro aqui.         Voce tropecou e quebrou
 a perna."
580 IFI$="7"THENPRINT#1,"Voce caiu no fogo que restou.   Que modo horrivel de
 morrer!"
590 IFI$="8"THENPRINT#1,"Voce disparou um alarme!Os guar-das o pegaram! Voce foi
 fuzilado"
600 IFI$="9"THENPRINT#1,"Voce passou por um feixe de luz que disparou outro alarme!"
610 IFI$="A"ANDX(9)=1ANDLEFT$(SU$(15),1)="*"THENPRINT#1,"Os caes dormem...":GOTO690
620 IFI$="A"THENPRINT#1,"Ha cinco caes aqui. Voce foi    horrivelmente devorado!"
630 IFI$="B"THENPRINT#1,"A passagem aqui esta bloqueada  por terra.":GOTO340
640 IFI$="C"THENPRINT#1,"Voce deu de cara com o carcerei-ro e ele o denunciou."
650 IFI$="D"THENPRINT#1,"Conseguimos sair do predio, mas ainda falta transpor o 
patio...":GOTO690
660 GOTO1430
670 REM
680 REM ♦♦♦♦♦ IMPRIME LABIRINTO ♦♦♦♦♦♦
690 IFMO=1THENPL=PL-1
700 IFMO=2THENPL=PL+1
710 IFMO=3THENPC=PC+1
720 IFMO=4THENPC=PC-1
730 IFED=6613 OR ED=6677 OR ED=6741 THEN VPOKEED,6 ELSE VPOKEED,0
740 I$=PO$(PC,PL):ED=BASE(10)+PC*2+PL*64+3:VPOKEED-33,1:VPOKEED-31,1:VPOKEED+31,1:
VPOKEED+33,1:VPOKEED,14
750 VPOKEED-32,VAL("&H"+MID$(I$,1,1))
760 VPOKEED+32,VAL("&H"+MID$(I$,2,1))
770 VPOKEED+1,VAL("&H"+MID$(I$,3,1))
780 VPOKEED-1,VAL("&H"+MID$(I$,4,1))
790 X(6)=0:X(8)=0:SOUND8,0:GOTO340
800 REM
810 REM ♦♦ MOSTRA OBJETOS NO LOCAL ♦♦♦
820 PRINT#1,"Aqui tem: ";:I$=CHR$(PC+60)+CHR$(PL+60)
830 M=0:FORN=0TONS
840 IFI$=LEFT$(SU$(N),2)THENPRINT#1,MID$(SU$(N),3);" ";:M=1
850 NEXT:IFM=0THENPRINT#1,"Nada Importante";
860 GOTO340
870 REM
880 REM ♦♦MOSTRA OBJETOS COM JOGADOR♦♦
890 PRINT#1,"Voce tem: ";:I$="**":GOTO830
900 REM
910 REM ♦♦♦ ENTRA COMANDO ESCRITO ♦♦♦♦
920 I$=INKEY$:IFI$=""THEN920
930 PSET(I*8+16,8),15
940 IFASC(I$)=8ANDI>0THENI=I-1:FR$=LEFT$(FR$,I):LINE(8*I+16,8)-(8*I+23,15),15,BF:
GOTO920
950 IFASC(I$)=13THEN1010
960 Q=STICK(0):IFQ<>0THENGOSUB1390:GOTO 420
970 IF I$>="a" AND I$<="z" THEN I$=CHR$(ASC(I$)-32)
980 IF(I$<"A"ORI$>"Z")ANDI$<>" "THEN920
990 PRINT#1,I$;:FR$=FR$+I$:I=I+1:IFI=30THEN1010
1000 GOTO920
1010 GOSUB1390:IFFR$=""THENGOTO340
1020 FORN=LEN(FR$)TO1STEP-1:IFMID$(FR$,N,1)=" "THENNEXT
1030 FR$=LEFT$(FR$,N)
1040 FORN=1TOLEN(FR$)
1050 IFMID$(FR$,N,1)<>" "THENNEXT
1060 FORM=0TONV
1070 IFVE$(M)=LEFT$(FR$,N-1)THENI$=CHR$(M+50):GOTO1100
1080 NEXTM
1090 PRINT#1,"O que e' ";LEFT$(FR$,N);" ?":GOTO340
1100 IFLEN(FR$)=N-1THEN1230 ELSE FR$=MID$(FR$,N+1):FORN=1TOLEN(FR$)
1110 IFMID$(FR$,N,1)<>" "THENNEXT
1120 FORM=0TONS
1130 IFFNS$(M)=LEFT$(FR$,N-1)THENI$=I$+CHR$(M+50):GOTO1150
1140 NEXTM:GOTO1090
1150 IFLEN(FR$)=N-1THEN1230 ELSE FR$=MID$(FR$,N+1)
1160 FORN=LEN(FR$)TO1STEP-1
1170 IFMID$(FR$,N,1)<>" "THENNEXT
1180 FORM=0TONS
1190 IFFNS$(M)=MID$(FR$,N+1)THENI$=I$+CHR$(M+50):GOTO1230
1200 NEXTM:PRINT#1,"O que e' ";MID$(FR$,N+1);" ?":GOTO340
1210 REM
1220 REM ♦♦♦ CODIFICA ACAO EM I$♦♦♦
1230 P$=CHR$(PC+60)+CHR$(PL+60)
1240 IFLEN(I$)<>1THENGOSUB1520
1250 FORN=0TOAS
1260 IFI$=AC$(N)THEN1330
1270 NEXT
1280 IFLEN(I$)=1THEN1320
1290 FORN=AS+1TONA
1300 IFLEFT$(I$,1)=AC$(N)THEN1330
1310 NEXT
1320 PRINT#1,"Isto nao e possivel.":GOTO340
1330 ON(N+1)GOSUB1620,1630,1630,1650,1660,1660,1660,1670,1680,1700,1720,1730,1740,
1770,1790,1700,1800,1820,1840,1860,1890,1910,1930,1940,1970,1990,2010,2030,2060,1630
1340 IF N<30 THEN 340
1350 ON(N-29)GOSUB1630,1620,2100,2160,2170,2180,2190,2200,2960,2230,2240,2260,2270,
2280,2310,2330,2370,2450,2520,2610,2650,2740,2760,2920,2940
1360 GOTO340
1370 REM
1380 REM ♦ APAGA 3 LINHAS SUPERIORES ♦
1390 LINE(0,8)-(255,23),15,BF
1400 PSET(0,8),15:RETURN
1410 REM
1420 REM ♦♦♦♦♦♦♦ FINAL DE JOGO ♦♦♦♦♦♦♦♦
1430 SOUND7,56:PLAY"T200O2L8S0M8000F2F4.FF2G+4.GG4.FF4.EF2"
1440 FORN=1TO6000:NEXT:GOSUB1390:PRINT#1,"Quer jogar novamente (S/N) ?"
1450 I$=INKEY$
1460 IFI$="S"ORI$="s"THENRUN
1470 IFI$="N"ORI$="n"THENNEW
1480 IFI$="W"THEN340
1490 GOTO1450
1500 REM
1510 REM ♦♦ VERIFICA OBJETOS CITADOS ♦♦
1520 J=ASC(MID$(I$,2,1))-50:IFLEFT$(SU$(J),2)=P$ OR LEFT$(SU$(J),2)="**" OR 
LEFT$(SU$(J),2)=".." OR LEFT$(I$,1)=">" OR LEFT$(I$,1)="9" THEN 1540
1530 I=J:GOTO1560
1540 IF LEN(I$)<3 THEN RETURN
1550 I=ASC(MID$(I$,3,3))-50:IF LEFT$(SU$(I),2)=P$ OR LEFT$(SU$(I),2)="**" OR 
LEFT$(SU$(I),2)=".." THEN RETURN
1560 PRINT#1,"Nao estou vendo ";FNS$(I):GOTO340
1570 REM
1580 REM ♦♦ DESAPARECE OBJETO CITADO ♦♦
1590 SU$(J)="  "+FNS$(J):RETURN
1600 REM
1610 REM ♦♦♦♦ SUBROTINAS DAS ACOES ♦♦♦♦
1620 PRINT#1,"Mais do que ja estao ?":RETURN
1630 PRINT#1,"Esta' bem. Ficou em tiras."
1640 X(1)=0:X(0)=0:SU$(1)="**"+FNS$(1):GOTO 1590
1650 PRINT#1,"Ok, mas e' um desperdicio.":GOTO 1590
1660 PRINT#1,"Ok, nao parecia ser muito util  mesmo...":GOTO 1590
1670 PRINT#1,"Ok, mas nao sei porque fez isso.":GOTO 1590
1680 PRINT#1,"As ";MID$(SU$(J),3);" transformaram-se numa ";FNS$(2);"!"
1690 SU$(2)="**"+FNS$(2):GOTO 1590
1700 PRINT#1,"Ok, e ela vai ate' o fundo."
1710 X(0)=1:SU$(J)=P$+FNS$(J):RETURN
1720 PRINT#1,"Nao da',a ";FNS$(I);" e' de alvenaria.":RETURN
1730 PRINT#1,"Ok...":RETURN
1740 IFX(1)=0 OR P$<>"CC" THEN PRINT#1,"Nada ocorreu.":RETURN
1750 PRINT#1,"A chave veio junto com ela!"
1760 SU$(3)="**"+FNS$(3):RETURN
1770 PRINT#1,"Nao estava boa... Talvez sem    tempero."
1780 GOTO 1590
1790 PRINT#1,"Voce e' doente? Necessita de um psiquiatra? Nao vou faze-lo.":
RETURN
1800 PRINT#1,"Ficou muito arrumada..."
1810 SU$(J)=P$+FNS$(J):RETURN
1820 PRINT#1,"Ok. Acho que agora vai funcionar"
1830 X(2)=1:GOTO 1590
1840 PRINT#1,"Encaixou perfeitamente."
1850 X(3)=1:GOTO 1590
1860 IFP$<>"?F" AND P$<>"B@" THEN PRINT#1,"Nao vejo nenhuma porta.":
RETURN
1870 IFP$="B@" THEN PRINT#1,"Nao ha' espaco para coloca-lo.":RETURN
1880 X(4)=1:PRINT#1,"Coube sob ela.":SU$(J)=P$+FNS$(J):RETURN
1890 PRINT#1,"Ele o abafou!":SU$(J)=P$+FNS$(J):SU$(I)="JJ"+FNS$(I)
1900 PO$(PC,PL)="0000":VPOKEED-32,0:GOTO3240
1910 SOUND7,7:SOUND8,16:SOUND6,0:SOUND13,0:SOUND12,50:FORQ=0TO1400:NEXT
1920 PRINT#1,"O local ficou cheio de fumaca e voce morreu asfixiado!":GOTO 1430
1930 PRINT#1,"Ok...":X(5)=1:GOTO1590
1940 SOUND7,56:SOUND8,14:SOUND1,5:FORQ=0TO255:SOUND0,Q:NEXT:SOUND8,0
1950 PRINT#1,"Voce conseguiu! desativou o     alarme!"
1960 PO$(PC,PL)="1000":SU$(I)="JJ"+FNS$(I):VPOKEED-1,0:GOTO1590
1970 PRINT#1,"Agora ela  esta' pronta para    funcionar."
1980 X(6)=1:RETURN
1990 SOUND7,56:PLAY"V13L32AO7BO2CO5DO1EO8FO4G":FORQ=0TO1000:NEXT
2000 PRINT#1,"Entrou em curto!":PO$(PC,PL)="0011":VPOKEED-32,0:SU$(I)="JJ"+
FNS$(I):GOSUB1590:GOTO2970
2010 IFX(2)=0 THEN PRINT#1,"Nao funciona...":RETURN
2020 PRINT#1,"Esta' acesa.":X(7)=1:RETURN
2030 IFX(6)=0 THEN PRINT#1,"Nao quer ligar...":RETURN
2040 PRINT#1,"Esta' ligada.":X(8)=1
2050 SOUND7,56:SOUND1,15:SOUND8,16:SOUND13,14:SOUND12,10:RETURN
2060 IFX(3)=0 THEN PRINT#1,"Acho que esta' quebrado... Nao  funciona de modo
 algum.":RETURN
2070 IFX(5)=0 THEN PRINT#1,"Falta alguma coisa para se ouviralgo no gravador
...":RETURN
2080 BEEP:PLAY"O3L4S0M5000C2CDE2.EFEDCD2.FF2GFE2CEDCCO2BO3C","O6L4V7E2DCD2.
EFEFED2.FF2EDE2DCDDEDC"
2090 PRINT#1,"Toca uma musica suave... Da'    vontade de dormir...":X(9)=1:
RETURN
2100 IFP$<>"B@" AND P$<>"?F" THEN PRINT#1,"Onde esta' a porta?":RETURN
2110 IFP$="?F" OR X(8)=0 OR X(6)=0 THEN PRINT#1,"Ela esta' desligada.":RETURN
2120 SOUND7,56:SOUND8,15:SOUND9,15:SOUND1,2:SOUND3,7:SOUND0,255:SOUND2,255:FOR
Q=1TO500:NEXT:SOUND1,0:SOUND3,5
2130 FORQ=1TO1000:NEXT:BEEP
2140 PRINT#1,"A ";FNS$(J);" caiu em pedacos."
2150 PO$(PC,PL)="0011":VPOKEED-32,0:RETURN
2160 PRINT#1,"Ok...":X(6)=0:SOUND8,0:RETURN
2170 PRINT#1,"Esta' fora.":X(2)=0:X(7)=0:SU$(J)="**"+FNS$(J):RETURN
2180 PRINT"Ok...":X(5)=0:X(9)=0:SU$(J)="**"+FNS$(J):RETURN
2190 PRINT#1,"Ok... Mas o que voce vai fazer  com ela?":X(3)=0:X(9)=0:SU$(J)=
"**"+MID$(SU$(J),3):RETURN
2200 SOUND7,7:SOUND6,10:SOUND8,16:SOUND13,12:SOUND12,10:FORQ=0TO2500:NEXT:
SOUND8,0:VPOKEED+32,0
2210 PRINT#1,"Um buraco foi aberto."
2220 PO$(PC,PL)="0010":GOTO1590
2230 PRINT#1,"Esta' no corpo. Tem um caimento perfeito!":RETURN
2240 IFX(0)=0THENPRINT#1,"Voce foi direto para o fundo.   Morte instantanea...":
GOTO1430
2250 GOTO3010
2260 PRINT#1,"Nao era pura! Voce morreu conta-minado.":GOTO1430
2270 PRINT#1,"Voce ficou bebado e entregou-se.Voce nao tem inteligencia alguma":
GOTO 1430
2280 IFP$="CC" THEN PRINT#1,"Abriu!";:PO$(PC,PL)="1100":VPOKEED-1,0:GOTO3240
2290 IFP$="EB" THEN PRINT#1,"Abriu de novo!":PO$(PC,PL)="0610":VPOKEED-1,0:GOTO3240
2300 PRINT#1,"Nao estou vendo grades.":RETURN
2310 IFP$="B@" OR P$="?F" THEN PRINT#1,"Esta' trancada.":RETURN
2320 PRINT#1,"Nao ha' nenhuma porta por perto.":RETURN
2330 IFLEN(I$)=2 THEN PRINT#1,"A quem?":RETURN ELSE IF I<>22 AND I<>25 AND 
I<> 30 THEN PRINT#1,"Voce esta' louco? Por que nao   fala com pessoas?":RETURN
2340 IFI$<>">2H" OR P$<>"CC" THEN PRINT#1,"Ouviu o que disse mas nada fez.":RETURN
2350 PRINT#1,"Ele satisfez seu pedido e saiu, deixando a chave la' fora..."
2360 SU$(I)="CD"+FNS$(I):SU$(J)=P$+FNS$(J):RETURN
2370 IF I$="?>S" THEN GOTO 1990
2380 IF I$="?>N" THEN GOTO 1910
2390 IF I$="?=N" THEN GOTO 1890
2400 IF I$="?4O" THEN GOTO 1700
2410 IF J<22 AND J<>2 THEN PRINT#1,"Voce perdeu o objeto.":GOTO1590
2420 IF J>21 THEN PRINT#1,"Voce nao e' tao forte assim...":RETURN
2430 IF P$<>"CC" THEN PRINT#1,"Nada aconteceu...":RETURN
2440 IF LEFT$(SU$(22),2)="CD" THEN PRINT#1,"Encostou num objeto la' fora.   Nao da'
 para ver o que e'.":X(1)=1:RETURN ELSE PRINT#1,"Nada aconteceu, ainda...":RETURN
2450 IF I<>9 THEN PRINT#1,"Com o que ?!":RETURN
2460 IF J>21 THEN PRINT#1,"Nao da' para faze-lo.":RETURN
2470 IF J=10 AND X(4)=1 THEN GOTO2490
2480 PRINT#1,"Se desfez em cinzas...":GOTO1590
2490 SOUND7,7:SOUND6,30:SOUND8,16:SOUND13,5:SOUND12,30:VPOKEED-32,0
2500 FORQ=0TO2000:NEXT
2510 PRINT#1,"O ";FNS$(28);" abriu uma passagem!":PO$(PC,PL)="0011":RETURN
2520 IF J>21 THEN PRINT#1,"Nao da'":RETURN
2530 Q=0:FORN=0TONS:IFLEFT$(SU$(N),1)="*"THENQ=Q+1
2540 NEXT
2550 IFQ>5THENPRINT#1,"Nao da' para pegar mais nada.":RETURN
2560 IF LEFT$(SU$(J),1)="*" THEN PRINT#1,"Voce ja' esta' carregando este  objeto.":
RETURN
2570 SU$(J)="**"+FNS$(J):PRINT#1,"Ok."
2580 IF J=2 THEN X(0)=0
2590 IF J+10 THEN X(4)=0
2600 RETURN
2610 IF LEFT$(SU$(J),1)<>"*" THEN PRINT#1,"Voce nao carrega ";FNS$(J):RETURN
2620 PRINT#1,"Esta' no chao."
2630 SU$(J)=P$+FNS$(J)
2640 RETURN
2650 IF I<>22 AND I<>25 AND I<>30 AND I<>32 THEN PRINT#1,"Acho que a
 prisao afetou seu QI.":RETURN
2660 IF I$="CCR" THEN PRINT#1,"Os caes devoraram seu braco.    Assim fica impossivel
 a fuga.":GOTO1430
2670 IF I$="C2K" THEN PRINT#1,"Ele aceitou e deu dinheiro em troca a voce!":
SU$(5)="**"+FNS$(5):GOTO1590
2680 IF I$="C7H" THEN PRINT#1,"Ele aceitou e deixou voce passar":SU$(5)="IG"+FNS$(5):
SU$(22)="JJ"+FNS$(22):VPOKEED+32,0:PO$(PC,PL)="1040":GOTO3240
2690 IF I$="C7P" THEN PRINT#1,"Ele nao era subornavel. Voce foimorto.":GOTO 1430
2700 IF I$="CDP" THEN PRINT#1,"Ele aceitou e foi embora!":PO$(PC,PL)="1001":
VPOKEED+1,0:GOSUB3240:GOTO1590
2710 IF LEFT$(SU$(J),1)<>"*" THEN PRINT#1,"Mas voce nao carrega esse objeto!":
RETURN
2720 PRINT#1,"Ele aceitou, mas nada aconteceu."
2730 GOTO1590
2740 IF J<>22 AND J<>25 AND J<>30 AND J<>32 THEN PRINT#1,"Seu lugar
 nao e' aqui, e' no    manicomio.":RETURN
2750 PRINT#1,"Voce foi morto antes que pudessefazer algo.":GOTO 1430
2760 IF J=7 THEN PRINT#1,"E' eletrica e muito potente.":RETURN
2770 IF J=8 THEN PRINT#1,"E' de 1,5 V.":RETURN
2780 IF J=9 THEN PRINT#1,"A caixa esta' cheia.":RETURN
2790 IF J=11 THEN PRINT#1,"E' bem grosso.":RETURN
2800 IF J=14 THEN PRINT#1,"E' uma fita de musica.":RETURN
2810 IF J=15 THEN PRINT#1,"E' de fitas cassete.":RETURN
2820 IF J=19 THEN PRINT#1,"E' de borracha.":RETURN
2830 IF J=20 THEN PRINT#1,"E' pinga, e das boas!":RETURN
2840 IF J=23 THEN PRINT#1,"E' feita de tijolos.":RETURN
2850 IF J=24 THEN PRINT#1,"Sao de aco muito resistente.":RETURN
2860 IF J=26 THEN PRINT#1,"E' de 110V.":RETURN
2870 IF J=28 THEN PRINT#1,"Voce se queimou! Nao devia examina-lo!":GOTO 1430
2880 IF J=29 THEN PRINT#1,"E' muito fundo. Nao da' para verseu final.":RETURN
2890 IF J=32 THEN PRINT#1,"Sao caes policiais.":RETURN
2900 IF J=22 OR J=25 OR J=30 THEN PRINT#1,"Voce foi morto... Ele nao gosta de
 ser examinado.":GOTO 1430
2910 PRINT#1,"E' comum.":RETURN
2920 IF J<>22 AND J<>25 AND J<>30 AND J<>32 THEN PRINT#1,"So' uma
 pessoa com sua mentali- dade diria tal coisa.":RETURN
2930 PRINT#1,"Voce foi morto. Ele nao gosta deameacas.":GOTO 1430
2940 IF J<22 THEN PRINT#1,"Ok... Esta' feito...":GOTO1590
2950 PRINT#1,"Nao da'.":RETURN
2960 PRINT#1,"Ok..."
2970 SOUND7,7:SOUND8,16:SOUND13,0:SOUND6,28:SOUND12,20:RETURN
2980 GOTO 2960
2990 BEEP:PLAY"V15L1O3E","V15L1O3B":FORE9=0TO2000:NEXT:BEEP
3000 RETURN
3010 GOSUB1390:PRINT#1,"Voce saiu por uma passagem se-  creta! Voce escapou de
 ALCATRAZ!":SOUND7,56
3020 PLAY"T120L4O5V9EEFGGFEDCCDEE.D8D2EEFGGFEDCCDED.C8C2":GOTO3020
3030 READX,Y
3040 FORN=0TO65:READA,B:LINE(X,Y)-(A,B):X=A:Y=B:NEXT
3050 LINE(20,114)-(208,114)
3060 FORN=1TO8:READA
3070 PAINT(A,80):NEXT
3072 COLOR1:PSET(104,117),15:PRINT#1,"A FUGA IMPOSSIVEL":COLOR8
3075 PSET(12,8),15:PRINT#1,"Programa de Wilson F. Martins"
3080 PSET(28,170),15:PRINT#1,"Tecle SPACO para comecar."
3090 IFSTRIG(0)=0THEN3090
3095 LINE(0,8)-(255,15),15,BF:LINE(28,170)-(255,177),15,BF
3100 FORN=0TO9:VPOKE6370+N*35,0
3110 SOUND7,7:SOUND8,16:SOUND6,25:SOUND13,0:SOUND12,20
3120 FORM=0TO100:NEXTM,N:RETURN
3130 DATA 10,41,18,3C,3C,19,40,01
3140 DATA 10,10,10,10,10,10,10,10
3150 DATA44,78,44,78,16,114,28,114,36,103,36,114,44,114,44,78
3160 DATA 48,78,48,114,72,114,64,106,64,106,56,106,56,78,48,78
3170 DATA 72,78,72,114,96,114,88,106,80,106,80,86,88,86,96,78,72,78
3180 DATA 124,78,96,114,108,114,116,103,116,114,124,114,124,78
3190 DATA 124,78,132,86,136,86,136,114,144,114,144,86,148,86,156,78,124,78
3200 DATA 156,78,156,114,164,114,164,98,172,114,180,114,172,98,180,98,172,78,
156,78
3210 DATA208,78,180,114,192,114,200,103,200,114,208,114,208,78
3220 DATA 208,78,240,78,224,106,232,106,240,114,208,114,224,86,216,86,208,78
3230 DATA 43,49,73,123,127,159,207,220
3240 SOUND7,56:PLAY"O4V13L32CFB":RETURN
3250 REM
3260 REM ♦ DADOS DO LABIRINTO ♦
3270 DATA 1001,1010,1001,1100,1100,1009,1100,1100,1100,1100,1010,10C1,1100,1010
3280 DATA 0011,0011,0101,1100,1010,0011,1001,1010,1011,1011,0011,0101,1010,0011
3290 DATA 0011,0011,1101,1100,0110,0011,5011,0101,0110,0011,0011,1011,0011,0011
3300 DATA 0011,0011,1001,1000,1010,8011,0001,1100,1100,0010,0011,0011,0011,0011
3310 DATA 0111,0101,0010,0011,0011,0011,0011,1101,1100,0612,0011,0101,0010,0011
3320 DATA 1001,1010,0011,0011,0011,0011,0001,1102,1110,6611,0011,1011,0011,0111
3330 DATA 0011,0011,0111,0011,0101,0110,0101,1340,1111,6611,0011,0101,0100,1010
3340 DATA 0011,0011,1001,7000,1010,1101,1100,0100,1010,6111,0011,1001,1100,0B10
3350 DATA 0011,0011,0011,5011,0101,1100,1100,1110,0011,1001,0110,0011,1001,0110
3360 DATA 0111,0101,0110,0101,1100,1100,1100,1100,0110,01A1,11DA,0110,0101,1110
3370 REM
3380 REM ♦♦♦ SUBSTANTIVOS ♦♦♦
3390 DATA JJCOMIDA,JJTIRAS,JJCORDA,JJCHAVE,DCLENCOL,IGDINHEIRO,AELANTERNA,"E?SERRA",
"D?PILHA",EEFOSFOROS,AGJORNAL,CBCOBERTOR,<GAGUA,AEREVOLVER,<BFITA,>@GRAVADOR,
G@PA,>DOSSO,"D?BARALHO",FAROUPA,GCBEBIDA,CFESPELHO
3400 DATA CCGUARDA,DCCAMA,..GRADES,CBPRESIDIARIO,B@TOMADA,..PORTA,"?EFOGO",ICPOCO,
G>CARCEREIRO,IETERRA,EGCAES,AAALARME,A>LUZ
3410 REM
3420 REM ♦♦♦ VERBOS ♦♦♦
3430 DATA RASGUE,AMARRE,PUXE,COMA,COLOQUE,LIGUE,CORTE,TIRE,CAVE,DISPARE,VISTA,ENTRE,
PECA,JOGUE,QUEIME,PEGUE,SOLTE,DE,MATE,EXAMINE,AMEACE,QUEBRE,BEBA,ABRA
3440 REM
3450 REM ♦♦♦ ACOES ♦♦♦
3460 DATA 23,24,26,27,2<,2=,2D,2E,33,34O,34I,34J,44,52,5C,64O,66I,"6:8","6:A",
6<M,6=N,6>N,6@A,6GT,69L,6>S,78,79,7A,86,84,83,8M9,99L,"9:8",9@A,"9:A",":QB",";?",
<E,=O,H>,HF,IJ5,IM
3470 DATA >,?,@,A,B,C,D,E,F,G
3480 DATA 00,00,00,00,00,00,00,00
3490 DATA 01,01,01,FF,10,10,10,FF
3500 DATA 18,18,18,18,18,18,18,18
3510 DATA 18,18,3C,5A,99,18,24,24
3520 DATA 02,02,02,02,3E,3E,22,22
3530 DATA 00,81,FF,FF,02,06,00,00
3540 DATA FF,FF,FF,FF,FF,FF,FF,FF
3550 DATA 08,28,3A,7A,7E,7E,3E,1C
3560 DATA 07,0F,05,07,07,00,00,00
3570 DATA 18,18,18,18,18,18,18,18
3580 DATA 18,3C,7E,FF,E7,C3,C3,C3
3590 DATA 06,0E,1F,7D,DF,F6,BB,EF
3600 DATA 18,18,3C,5A,99,18,24,24
3610 DATA 00,00,00,00,00,00,00,00
3620 DATA 18,18,3C,5A,99,18,24,24
3630 DATA 00,00,00,00,00,00,00,00
3640 DATA E6,E6,E6,E6,E6,E6,E6,E6
3650 DATA 10,40,10,40,10,40,10,40
3660 DATA 10,D0,10,10,10,10,10,10
3670 DATA E0,E0,E0,E0,F0,E0,E0,E0
3680 DATA 10,10,10,C0,10,10,10,10
3690 DATA 10,10,10,10,10,10,10,10
3700 DATA 60,60,60,80,80,80,90,90
3710 DATA 10,10,10,10,10,10,10,10
3720 DATA 70,70,70,70,70,70,70,70
3730 DATA 90,D0,80,60,F1,F1,F1,F1
3740 DATA 90,90,90,90,91,91,91,91
3750 DATA 10,D0,F0,F0,F0,F0,F0,F0
3760 DATA 00,00,00,00,00,00,00,00
3770 DATA F0,60,10,F0,10,F0,10,F0

<< Anterior Home Próxima >>

MARMSX/CURSOS/Basic