Lista de Ações


  As tabelas a seguir decodificam as ações de AC$ em palavras e apresentam o respectivo tratamento, indicando qual linha é chamada na instrução ON GOSUB.

Ações de verbos e substantivos
 N   I$  Ação                    Goto
-------------------------------------
00   23  RASGUE TIRAS            1620
01   24  RASGUE CORDA            1630
02   26  RASGUE LENCOL           1630
03   27  RASGUE DINHEIRO         1650
04   2<  RASGUE JORNAL           1660
05   2=  RASGUE COBERTOR         1660
06   2D  RASGUE BARALHO          1660
07   2E  RASGUE ROUPA            1670
08   33  AMARRE TIRAS            1680
09  34O  AMARRE CORDA POCO       1700
10  34I  AMARRE CORDA CAMA       1720
11  34J  AMARRE CORDA GRADES     1730
12   44  PUXE CORDA              1740
13   52  COMA COMIDA             1770
14   5C  COMA OSSO               1790
15  64O  COLOQUE CORDA POCO      1700
16  66I  COLOQUE LENCOL CAMA     1800
17  6:8  COLOQUE PILHA LANTERNA  1820
18  6:A  COLOQUE PILHA GRAVADOR  1840
19  6<M  COLOQUE JORNAL PORTA    1860
20  6=N  COLOQUE COBERTOR FOGO   1890
21  6>N  COLOQUE AGUA FOGO       1910
22  6@A  COLOQUE FITA GRAVADOR   1930
 N   I$  Ação                    Goto
-------------------------------------
23  6GT  COLOQUE ESPELHO LUZ     1940
24  69L  COLOQUE SERRA TOMADA    1970
25  6>S  COLOQUE AGUA ALARME     1990
26   78  LIGUE LANTERNA          2010
27   79  LIGUE SERRA             2030
28   7A  LIGUE GRAVADOR          2060
29   86  CORTE LENCOL            1630
30   84  CORTE CORDA             1630
31   83  CORTE TIRAS             1620
32  8M9  CORTE PORTA SERRA       2100
33  99L  TIRE SERRA TOMADA       2160
34  9:8  TIRE PILHA LANTERNA     2170
35  9@A  TIRE FITA GRAVADOR      2180
36  9:A  TIRE PILHA GRAVADOR     2190
37  :QB  CAVE TERRA PA           2200
38   ;?  DISPARE REVOLVER        2960
39   <E  VISTA ROUPA             2230
40   =O  ENTRE POCO              2240
41   H>  BEBA AGUA               2260
42   HF  BEBA BEBIDA             2270
43  IJ5  ABRA GRADES CHAVE       2280
44   IM  ABRA PORTA              2310

 
Ações de verbo
 N   I$  Ação                    Goto
-------------------------------------
45    >  PECA                    2330
46    ?  JOGUE                   2370
47    @  QUEIME                  2450
48    A  PEGUE                   2520
49    B  SOLTE                   2610
50    C  DE                      2650
51    D  MATE                    2740
52    E  EXAMINE                 2760
53    F  AMEACE                  2920
54    G  QUEBRE                  2940


  O programa gerador da tabela acima, desenvolvido em C, pode ser baixado aqui.



  Sub-rotinas das Ações

  É importante observar para as sub-rotinas a seguir, que o vetor X(n) é utilizado como um flag para verificar o estado de alguns objetos. Eis a lista:
X(0) -> A corda está no poço ?
X(1) -> A corda está presa à chave ?
X(2) -> A pilha está na lanterna ?
X(3) -> A pilha está no gravador ?
X(4) -> O jornal está sobre a porta ?
X(5) -> A fita está no gravador ?
X(6) -> A serra está na tomada ?
X(7) -> A lanterna está acesa ?
X(8) -> A serra está ligada ?
X(9) -> O gravador está ligado ?
  Valor: 0 = não, 1 = sim.


  Sub-rotinas de ação:

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


<< Anterior Home Próxima >>

MARMSX/CURSOS/Basic