100 REM ********************************
110 REM *     PARA LINHA TRS-80        *
120 REM *           INTRUSO            *
130 REM ********************************
140 REM
150 REM ***        INSTRUCOES        ***
160 REM
170 CLS:PRINT@ 23,"  I N T R U S O  ":PRINT "SUA META E' CRIAR UM CAMINHO POR ONDE EMPURRARA' O INTRUSO (*) ATE' A ARMADILHA DO CANTO SUPERIOR ESUUERDO."
180 PRINT "TECLE 'F' PARA INICIAR NOVO JOGO."
190 PRINT "PARA CIMA........DIGITE (Z)":PRINT "PARA BAIXO.......DIGITE (X)"
200 PRINT "PARA DIREITA.....DIGITE (>)"
210 PRINT "PARA ESQUERDA....DIGITE (<)":PRINT "PARA PARAR.......DIGITE A TECLA OPOSTA";
220 PRINT TAB(19) "QUALQUER TECLA PARA JOGAR";
230 IF INKEY$="" THEN 230
240 REM
250 REM *** DESENHA A TELA ***
260 REM
270 CLS:CLEAR 200:RANDOM:P=15840:PP=191:C=15858:CC=42:FOR X=0 TO 4:PRINT CHR$(183);:NEXT:FOR X=5 TO 63:PRINT CHR$(153);:NEXT:Y=127:FOR T=1 TO 7: FOR A=166 TO 153 STEP-13:PRINT@ Y, CHR$(A);:Y=Y+64:NEXT A:NEXT T
280 FOR X=1023 TO 961 STEP-1:POKE X+15360,166:NEXT:Y=960:FOR T=1 TO 6: FOR A=166 TO 153 STEP-13:PRINT@ Y, CHR$(A);:Y=Y-64:NEXT A:NEXT T:FOR Y=192 TO 64 STEP-64:PRINT@ Y,CHR$ (183);:NEXT:POKE P,PP:POKE C,CC
290 REM
300 REM *** VERIFICA TECLADO ***
310 REM
320 T=T+1:AS=INKEY$:IF A$="" THEN 330 ELSE N=ASC(A$):IF N=70 THEN 730 ELSE IF N=90 THEN F=1 ELSE IF N=88 THEN F=2 ELSE IF N=46 THEN F=3 ELSE IF N=44 THEN F=4
330 ON F GOTO 500  ,570  ,620  ,670
340 ON RND(4) GOTO 380  ,400  ,420  ,440
350 REM
360 REM *** MOVIMENTOS DO INTRUSO ***
370 REM
380 C=C-64:IF PEEK(C)=191 THEN 390  ELSE IF PEEK(C)=183 THEN 720  ELSE IF PEEK(C)<>32 THEN 390  ELSE POKE C+64,32:POKE C,CC:GOTO 320
390 C=C+64:GOTO 320
400 C=C+64:IF PEEK(C)=191 THEN 410  ELSE IF PEEK(C)=183 THEN 720  ELSE IF PEEK(C)<>32 THEN 410  ELSE POKE C-64,32:POKE C,CC:GOTO 320
410 C=C-64:GOTO 320
420 C=C+1:IF PEEK(C)=191 THEN 430  ELSE IF PEEK(C)=183 THEN 720  ELSE IF PEEK(C)<>32 THEN 430  ELSE POKE C-1,32:POKE C,CC:GOTO 320
430 C=C-1:GOTO 320
440 C=C-1:IF PEEK(C)=191 THEN 450  ELSE IF PEEK(C)=183 THEN 720  ELSE IF PEEK(C)<>32 THEN 450  ELSE POKE C+1,32:POKE C,CC:GOTO 320
450 C=C+1:GOTO 320
460 REM
470 REM *** MOVIMENTOS DO JOGADOR ***
480 REM ***        TECLA Z        ***
490 REM
500 IF DE<>0 THEN 510  ELSE H=P-64:IF PEEK(H)=42 THEN 530  ELSE IF PEEK(H)<>32 AND PEEK(H)<>191 THEN 510  ELSE P=H:POKE P,PP:SU=1:GOTO 340
510 DE=0:SU=0:ES=0:DI=0:F=0:GOTO 340
520 DE=0:SU=0:ES=0:DI=0:GOTO 340
530 J=C-64:IF PEEK(J)=183 THEN 720  ELSE IF PEEK(J)<>32 THEN 520  ELSE C=J:  POKE C,CC:P=H:POKE P,PP:SU=1:GOTO 340
540 REM
550 REM ***        TECLA X        ***
560 REM
570 IF SU<>0 THEN 510  ELSE H=P+64:IF PEEK(H)=42 THEN 580  ELSE IF PEEK(H)<>32 AND PEEK(H)<>191 THEN 510  ELSE P=H:POKE P,PP: DE=1:GOTO 340
580 J=C+64:IF PEEK(J)=183 THEN 720  ELSE IF PEEK(J)<>32 THEN 520  ELSE C=J: POKE C,CC:P=H:POKE P,PP:DE=1:GOTO 340
590 REM
600 REM ***     SETA A DIREITA    ***
610 REM
620 IF ES<>0 THEN 510  ELSE H=P+1:IF PEEK(H)=42 THEN 630  ELSE IF PEEK(H)<>32 AND PEEK(H)<>191 THEN 510  ELSE P=H:POKE P,PP: DI=1:GOTO 340
630 J=C+1:IF PEEK(J)=183 THEN 720  ELSE IF PEEK(J)<>32 THEN 520  ELSE C=J: POKE C,CC:P=H:POKE P,PP:DI=1:GOTO 340
640 REM
650 REM ***     SETA A ESQUERDA     ***
660 REM
670 IF DI<>0 THEN 510  ELSE H=P-1:IF PEEK(H)=42 THEN 680  ELSE IF PEEK(H)<>32 AND PEEK(H)<>191 THEN 510  ELSE P=H:POKE P,PP: ES=1:GOTO 340
680 J=C-1:IF PEEK(J)=183 THEN 720  ELSE IF PEEK(J)<>32 THEN 520  ELSE C=J: POKE C,CC:P=H:POKE P,PP:ES=1:GOTO 340
690 REM
700 REM ***     FIM DO JOGO     ***
710 REM
720 PRINT@ 260,"DEMOROU "T" UNIDADES DE TEMPO"
730 PRINT@ 324,"JOGA DE NOVO (S/N)"
740 G$=INKEY$:IF G$="" THEN 740 ELSE IF G$="S" THEN 270  ELSE IF G$="N" THEN END ELSE 740

