1 REM *******************************
2 REM *      PARA LINHA APPLE       *
3 REM *                             *
4 REM *     PALACIO DE CRISTAL      *
5 REM *******************************
6 REM
7 REM *   INICIALIZA PALAVRA '&'    *
10 DATA201,084,208,015,032,177,000,032,248,230,138,072,032,183,000,201,044,240,003,076,201,222,032,177,000,032,248,230
20  FOR I=768 TO 833:READ P:POKE I,P:NEXT I
30 DATA104,134,003,134,001,133,000,170,160,001,132,002,173,048,192,136,208,004,198
40 DATA001,240,007,202,208,246,166,000,208,239,165,003,133,001,198,002,208,241,096
50 POKE 1013,76:POKE 1014,0:POKE 1015,3
60 TEXT:HOME
70 GOSUB 2000
100 DIM FC(5,7):DIM FC$(5)
105 FC$(1)="NORTE":FC$(2)="SUL":FC$(3)="LESTE":FC$(4)="OESTE"
110 FOR B=1 TO 4:FOR I=1 TO 6:READ FC(B,I):NEXT:NEXT
115 GOTO 155
116 REM *                             *
117 REM * DESENHA SALAS DO LABIRINTO  *
118 REM *                             *
120 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0 TO 69,29 TO 209,29 TO 209,129 TO 69,129 TO 69,29:HPLOT 209,29 TO 279,0:HPLOT 209,129 TO 279,159:HPLOT 69,129 TO 0,159:RETURN
125 RETURN
130 HPLOT 109,9 TO 169,9 TO 159,19 TO 119,19 TO 109,9:HPLOT 119,19 TO 119,9: HPLOT 159,19 TO 159,9:RETURN
135 HPLOT 119,139 TO 159,139 TO 169,149 TO 109,149 TO 119,139:HPLOT 119,139 TO 119,149:HPLOT 159,139 TO 159,149:RETURN
140 HPLOT 19,39 TO 49,49 TO 49,139:HPLOT 19,149 TO 19,39:HPLOT 19,139 TO 49,139:HPLOT 19,49 TO 49,49:RETURN
145 HPLOT 119,59 TO 159,59 TO 159,129 TO 119,129 TO 119,59 TO 129,69 TO 149,69 TO 149,119 TO 129,119 TO 129,69:HPLOT 149,69 TO 159,59:HPLOT 149,119 TO 159,129:HPLOT 129,119 TO 119,129:RETURN
150 HPLOT 229,49 TO 259,39 TO 259,149:HPLOT 229,139 TO 229,49:HPLOT 229,49 TO 259,49:HPLOT 229,139 TO 259,139:RETURN
151 REM *                             *
152 REM * GERA PASSAGENS ENTRE SALAS  *
153 REM *                             *
155 DIM S$(6,6)
165 FOR A=1 TO 5:FOR X=1 TO 5:FOR Y=1 TO 5
167 & T10 * A + 10 * X + 10 * Y,10
170 IF A <> 5 AND RND(1) < .80 THEN S$(X,A)=S$(X,A)+"O":GOTO 180
175 S$(X,A)=S$(X,A)+"X"
180 IF MID$(S$(X,A-1),(Y-1)*6+1,1)="O" THEN S$(X,A)=S$(X,A)+"O":GOTO 190
185 S$(X,A)=S$(X,A)+"X"
190 IF Y-2 < 0 THEN 200
195 IF MID$(S$(X,A),(Y-2)*6+4,1)="O" THEN S$(X,A)=S$(X,A)+"O":GOTO 205
200 S$(X,A)=S$(X,A)+"X"
205 IF Y <> 5 AND RND(1) < .8 THEN S$(X,A)=S$(X,A)+"O":GOTO 215
210 S$(X,A)=S$(X,A)+"X"
215 IF X <> 5 AND RND(1) < .8 THEN S$(X,A)=S$(X,A)+"O":GOTO 225
220 S$(X,A)=S$(X,A)+"X"
225 IF MID$(S$(X-1,A),(X-1)*6+5,1)="O" THEN S$(X,A)=S$(X,A)+"O":GOTO 235
230 S$(X,A)=S$(X,A)+"X"
235 NEXT:NEXT:NEXT
240 X = INT (RND (1) * 3) + 2:Y = INT (RND (1) * 3) + 2:A = INT (RND (1) * 3) + 2
245 RD = INT (RND (1) * 6) + 1: ON RD GOTO 250,255,260,265,270,275
250 A=5:P1$=LEFT$(S$(X,A),(Y-1)*6):L=29-LEN(P1$):P2$=RIGHT$(S$(X,A),L):S$(X,A)=P1$+"O"+P2$:GOTO280
255  A=1:P1$=LEFT$(S$(X,A),(Y-1)*6+1):L=29-LEN(P1$):P2$=RIGHT$(S$(X,A),L):S$(X,A)=P1$+"O"+P2$:GOTO 280
260 Y=5:P1$=LEFT$(S$(X,A),(Y-1)*6+3):L=29-LEN(P1$):P2$=RIGHT$(S$(X,A),L):S$(X,A)=P1$+"O"+P2$:GOTO 280
265 Y=1:P1$=LEFT$(S$(X,A),(Y-1)*6+2):L=29-LEN(P1$):P2$=RIGHT$(S$(X,A),L):S$(X,A)=P1$+"O"+P2$:GOTO 280
270 X=5:P1$=LEFT$(S$(X,A),(Y-1)*6+4):L=29-LEN(P1$):P2$=RIGHT$(S$(X,A),L):S$(X,A)=P1$+"O"+P2$:GOTO 280
275 X=1:P1$=LEFT$(S$(X,A),(Y-1)*6+5):L=29-LEN(P1$):P2$=RIGHT$(S$(X,A),L):S$(X,A)=P1$+"O"+P2$:GOTO 280
280 SX=X:SY=Y:SA=A
290 VTAB 23:PRINT "QUALQUER TECLA PARA COMECAR"
300 IF PEEK(-16384) < 127 THEN 300
310 POKE -16368,0
1000 X = INT (RND (1) * 5) + 1:Y = INT (RND (1) * 5) + 1:A = INT (RND (1) * 5) + 1:FC=1:GOTO 1220
1010 HOME:VTAB 22:HTAB 18:PRINT FC$(FC):A$="":D=0:IF LS=1 THEN PRINT X,Y,A
1020 VTAB 22:PRINT "TEMPO :";T:FOR TEMPO=1 TO 80
1025 IF PEEK(-16384) > 127 THEN 1030
1027 NEXT:T=T+1:VTAB 22:PRINT "TEMPO :";T:GOTO 1020
1030 GET A$
1035 IF A$ = "*" THEN LS = 1
1040 IF A$ = "F" THEN 1300
1050 IF A$ = "C" THEN D = 1
1060 IF A$ = "B" THEN D = 2
1070 IF A$ = "N" THEN D = 3
1080 IF A$ = "S" THEN D = 4
1090 IF A$ = "L" THEN D = 5
1100 IF A$ = "?" THEN 1290
1110 IF A$ = "O" THEN D = 6
1120 IF A$ = "V" THEN 1280
1130 IF D = 0 THEN 1010
1135 T=T+1
1140 IF MID$(S$(X,A),(Y-1)*6+D,1) <> "O" THEN PRINT CHR$(7): GOTO 1010
1150 ON D GOTO 1160,1170,1180,1190,1200,1210 
1160 A=A+1:GOTO 1220
1170 A=A-1:GOTO 1220
1180 Y=Y-1:GOTO 1220
1190 Y=Y+1:GOTO 1220
1200 X=X+1:GOTO 1220
1210 X=X-1
1220 IF X > 5 OR X < 1 OR Y > 5 OR Y < 1 OR A > 5 OR A < 1 THEN PRINT "VOCE GANHOU":& T100,100:& T100,50:& T100,50:& T75,66:& T100,66:& T75,66:& T60,255:GOTO 3000
1230 HGR:HCOLOR=3:HPLOT0,0:CALL 62454:HCOLOR=0:GOSUB 120
1240 FOR I=1 TO 6:IF MID$(S$(X,A),(Y-1)*6+I,1)="X" THEN NEXT:GOTO 1010
1250 R=FC(FC,I)+1
1260 HCOLOR=0:ON R GOSUB 125,130,135,140,145,150
1270 NEXT:GOTO 1010
1280 INPUT "QUE DIRECAO 1-N 2-S 3-L 4-O";FC:IF FC <1 OR FC >4 THEN 1280
1285 GOTO 1220
1286 REM *        PERDIDO ?     *
1290 INVERSE:HTAB 18:PRINT SX;"  ";SY;"  ";SA:NORMAL:GOTO 1220
1295 REM *   FIM POR DESISTENCIA   *
1300 TEXT:HOME:END
1400 REM *                      *
1410 REM *      INSTRUCOES      *
1420 REM *                      *
2000 VTAB 12:HTAB 14:INVERSE:PRINT "PALACIO DE CRISTAL":NORMAL:VTAB 22:INPUT "QUER INSTRUCOES ?";Y$: IF LEFT$(Y$,1) <> "S" THEN RETURN
2010 HOME:VTAB 2:PRINT "O  OBJETIVO DO JOGO E' ACHAR A SAIDA DE":PRINT:PRINT "UM PALACIO COM 5 ANDARES E 25 SALAS POR":PRINT:PRINT "ANDAR. OU SEJA,UM LABIRINTO ONDE APENAS"
2020 PRINT:PRINT "UMA SALA CONTEM A SAIDA, E  VOCE DEVERA":PRINT:PRINT "ENCONTRA-LA NO MENOR TEMPO POSSIVEL.":PRINT:PRINT "OS COMANDOS SAO:"
2030 PRINT:HTAB 6:INVERSE:PRINT "C";:NORMAL:PRINT "-CIMA";:HTAB 17:INVERSE:PRINT "S";:NORMAL:PRINT "-SUL"
2040 PRINT:HTAB 6:INVERSE:PRINT "B";:NORMAL:PRINT "-BAIXO";:HTAB 17:INVERSE:PRINT "L";:NORMAL:PRINT "-LESTE"
2050 PRINT:HTAB 6:INVERSE:PRINT "N";:NORMAL:PRINT "-NORTE";:HTAB 17:INVERSE:PRINT "O";:NORMAL:PRINT "-OESTE"
2060 PRINT:HTAB 6:INVERSE:PRINT "F";:NORMAL:PRINT "-FIM";:HTAB 17:INVERSE:PRINT "V";:NORMAL:PRINT "-VISAO"
2070 VTAB 23:INVERSE:PRINT "ESPACO";:NORMAL:PRINT " PARA CONTINUAR"
2080 IF PEEK(-16384) < 127 THEN 2080
2090 POKE -16368,0:HOME:INVERSE:PRINT "V";:NORMAL:PRINT " O COMPUTADOR PERGUNTARA EM QUE DIRE-":PRINT:PRINT "CAO VOCE DESEJA OLHAR."
2100 PRINT:PRINT "POR FAVOR AGUARDE ENQUANTO E GERADO  ":PRINT:PRINT "NOVO LABIRINTO":PRINT:PRINT:RETURN
2500 REM *                      *
2510 REM *   MISSAO CUMPRIDA    *
2520 REM *                      *
3000 TEXT:HOME:VTAB 5:HTAB 16:PRINT "PARABENS !!!"
3010 PRINT:PRINT "VOCE CONCLUIU SUA MISSAO EM ";T;" SEGUNDOS"
3030 VTAB 20:INPUT "QUER JOGAR NOVAMENTE?";Y$
3040 IF LEFT$(Y$,1) = "S" THEN RUN
9990 NORMAL
9999 DATA1,2,4,0,5,3,1,2,0,4,3,5,1,2,3,5,4,0,1,2,5,3,0,4