Primeira mensagem de 2010... um jogo??
Submitted by robson on qui, 14/01/2010 - 23:39
Meio parado por causa do mestrado (que está no fim, diga-se de passagem), resolvi tirar as teias de aranha e voltei a programar em BASIC para TRS Color. Para isso usei o emulador Mocha, disponível aqui (quem sabe eu também não faça um, hein?)
O programa que fiz é um jogo clássico: nibbles, snakes ou o "jogo da cobrinha", famoso dos donos de celulares da Nokia ou dos programadores BASIC da época do QuickBasic. Ele, junto com o jogo Gorilla.bas, fizeram muito sucesso.
O jogo utiliza-se das setas de direção esquerda e direita para mudar a direção da cobra (ela se movimenta sozinha). O meu melhor score foi 911 pontos. Consegue superar?
O código fonte pode ser baixado aqui. Segue a listagem para quem ficou curioso:
10 SCREEN 0,0
15 CLS0
16 REM DESENHA O CENARIO
20 FOR I=0 TO 63
30 SET(I,0,4)
40 SET(I,31,4)
50 NEXT I
60 FOR J=0 TO 31
70 SET(0,J,4)
80 SET(63,J,4)
90 NEXT J
100 SCORE=0
170 REM DECISAO DO MOVIMENTO
180 REM 1-> ESQUERDA, 2-> DIREITA
190 REM 3-> PARA BAIXO, 4-> PARA CIMA
200 DATA 3,4,4,3,2,1,1,2
210 DIM DX(4,2)
240 REM INICIALIZACAO DO ARRAY
250 FOR I=1 TO 4
260 FOR J=1 TO 2
270 READ DX(I,J)
280 NEXT J,I
290 REM PX E PY SAO A POSICAO DA CABECA
300 PX=31
310 PY=15
315 REM DIR CONTEM A DIRECAO
320 DIR=RND(4)
370 I$=INKEY$
380 D=0
390 IF I$=CHR$(8) THEN D=1
400 IF I$=CHR$(9) THEN D=2
405 REM SE ESCOLHEU DIRECAO, MUDE CNF. O ARRAY
410 IF D<>0 THEN DIR=DX(DIR,D)
415 REM DE ACORDO COM A DIRECAO, MOVIMENTE A CABECA
420 IF DIR=1 THEN PX=PX-1
430 IF DIR=2 THEN PX=PX+1
440 IF DIR=3 THEN PY=PY+1
450 IF DIR=4 THEN PY=PY-1
490 REM P CONTEM A COR DA PROX. POSICAO DA CABECA
500 P=POINT(PX,PY)
505 REM SE P FOR DIFERENTE DE ZERO (VAZIO), SAI
510 IF P <> 0 THEN 700
520 SET(PX,PY,8)
525 REM AUMENTA O SCORE
530 SCORE=SCORE+1
535 REM ESCREVE O SCORE NA TELA
540 PRINT@449,"SCORE:"+CHR$(128)+STR$(SCORE);
545 REM VOLTA PARA O LACO PRINCIPAL
550 GOTO 370
690 REM SIMPLESMENTE SAI DO PROGRAMA...
700 END
jan14
Robsonfranca.eti.br 

