10   REM *******************************
20   REM *                             *
30   REM *   CRAM PARA LINHA TRS-80    *
40   REM *                             *
50   REM *******************************
60   REM
70   REM *******************************
80   REM *       INICIALIZACAO         *
90   REM *******************************
100  GOSUB 1100
110  DEFINT A - Z
120  GOSUB 810
130  C=0:I=0:J=2
140  REM *******************************
150  REM *       COMECO DO JOGO        *
160  REM *******************************
170  GOSUB 620
180  REM *******************************
190  REM *            LOOP             *
200  REM *******************************
210  REM
220  REM *******************************
230  REM *    MOVIMENTO PARA DIREITA   *
240  REM *******************************
250  I=I+1
260  IF POINT(I,J) THEN GOTO 720
270  SET(I,J)
280  IF INKEY$="" THEN 250
290  C=C+1
300  X=USR(8305)
310  REM *******************************
320  REM *     MOVIMENTO PARA BAIXO    *
330  REM *******************************
340  J=J+1
350  IF POINT(I,J) THEN GOTO 720
360  SET(I,J)
370  IF INKEY$="" THEN GOTO 340
380  C=C+1
390  X=USR(8319)
400  REM *******************************
410  REM *   MOVIMENTO PARA ESOUERDA   *
420  REM *******************************
430  I=I-1
440  IF POINT(I,J) THEN GOTO 720
450  SET(I,J)
460  IF INKEY$="" THEN GOTO 430
470  C=C+1
480  X=USR(8343)
490  REM *******************************
500  REM *     MOVIMENTO PARA CIMA     *
510  REM *******************************
520  J=J-1
530  IF POINT(I,J) THEN GOTO 720
540  SET(I,J)
550  IF INKEY$="" THEN GOTO 520
560  C=C+1
570  X=USR(8335)
580  GOTO 250
590  REM *******************************
600  REM *         DESENHA TELA        *
610  REM *******************************
620  CLS
630  FOR A=0 TO 127:SET(A,0):NEXT A
640  FOR A=0 TO 47:SET(127,A):NEXT A
650  FOR A=127 TO 0 STEP -1:SET(A,47): NEXT A
660  FOR A=47 TO 2 STEP -1:SET(0,A): NEXT A
670  AS=INKEY$
680  RETURN
690  REM *******************************
700  REM *         FIM DO JOGO         *
710  REM *******************************
720  GOSUB 1380 :IF C<10 THEN B$="! " ELSE B$="!"
730  PRINT @476, B$ ; C ; " !";
740  IF C=1 THEN C$="VOLTA" ELSE C$= "VOLTAS"
750  PRINT @540, "!"; C$ ; "!";
760  IF C>20 THEN GOSUB 1480
770  IF C>30 THEN GOSUB 1480 :GOSUB 1480
780  FOR A=1 TO 1500:NEXT:GOTO 130
790  REM *******************************
800  REM *            TITULOS          *
810  REM *******************************
820  CLS
830  FOR A=1 TO 15
840  PRINT TAB(6+A*2) "C R A M"
850  NEXT A
860  GOSUB 1380 :GOSUB 1380 :PRINT CHR$(23):
870  FOR B=1 TO 1500:NEXT B
880  CLS
890  PRINT TAB(8) "BENVINDO AO JOGO < CRAM > !"
900  PRINT TAB(8) "LIGUE O SEU MICRO A UM AMPLIFICADOR"
910  PRINT:PRINT "VOCE QUER INSTRUCOES?"
920  A$=INKEY$:IF A$ = "" THEN GOTO 920
936  IF A$="N" THEN GOTO 1070
940  IF A$<>"S" THEN GOTO 920
950  REM *******************************
960  REM *         INSTRUCOES          *
970  REM *******************************
980  PRINT:PRINT TAB(8) "O OBJETIVO DO JOGO E' VIRAR O MAIOR NUMERO"
990  PRINT TAB(6) "DE VEZES POSSIVEL NA TELA. CADA VEZ QUE VOCE"
1000 PRINT TAB(6) "QUISER MUDAR A DIRECAO DA LINHA QUE SE MOVE,"
1010 PRINT TAB(6) "USE QUALQUER TECLA EXCETO <SHIFT> OU <BREAK>."
1020 PRINT TAB(6) "O JOGO TERMINA QUANDO A LINHA BATER EM ALGUMA"
1030 PRINT TAB(6) "LINHA JA' DESENHADA. AO FINAL DO JOGO VOCE "
1040 PRINT TAB(6) "VERA' O NUMERO DE VEZES QUE CONSEGUIU DESVIAR."
1050 PRINT:PRINT TAB(14) "TECLE <ENTER> PARA COMECAR ..."
1060 A$=INKEY$:IF A$="" THEN GOTO 1060
1070 CLS
1080 RETURN
1090 REM *******************************
1100 REM *  INICIALIZA ROTINA DE SOM   *
1110 REM *     (A$ = 22 ESPACOS)       *
1120 REM *******************************   
1130 AA$="                      "
1140 QA!=VARPTR (AA$)
1150 QB!=PEEK(QA!+1)+PEEK(QA!+2)*256
1160 REM *******************************
1170 REM *    PARA VERSAO CASSETTE     *
1180 REM *    MUDAR LINHA 1220 PARA    *
1190 REM *    POKE 16526,PEEK(QA+1):   *
1200 REM *    POKE 16527,PEEK(QA+2)    *
1210 REM *******************************
1220 DEFUSR=QB!
1230 FOR A!=QB! TO QB!+21
1240 B!=A!:IF B!>32767 THEN B!=B!-65536
1250 READ Q:POKE B!,Q
1260 NEXT A
1270 RETURN
1280 REM *******************************
1290 REM *     LINGUAGEM DE MAQUINA    *
1300 REM *      PARA ROTINA DE SOM     *
1310 REM *******************************
1320 DATA 205,127,10,76,69,62,1
1330 DATA 211,255,16,254,69,62,16
1340 DATA 211,255,16,254,13,32,239,201
1350 REM *******************************
1360 REM *      SOM DO FIM DO JOGO     *
1370 REM *******************************
1380 FOR A=1 TO 3 
1390 X = USR(8319)
1400 X = USR(8343) 
1410 X = USR(8335) 
1420 X = USR(8305)
1430 NEXT A
1440 RETURN
1450 REM *******************************
1460 REM *    SOM MAIS DE 20 VOLTAS    *
1470 REM *******************************
1480 X = USR(32383)
1490 X = USR(32383)
1500 X = USR(14479)
1510 X = USR(13719)
1520 X = USR(27287)
1530 X = USR(12966)
1540 X = USR(13719)
1550 X = USR(27287)
1560 X = USR(27287)
1570 X = USR(27287)
1580 RETURN 

