Revista MSX Micro 02
Janeiro de 1986
Programas: Perigo Espacial, Aprendendo a Somar, Aprenda a Desenhar Gráficos, Sistemas Gráficos,
Jogos: Hyper Sports I, Moon Patrol, Simulador de Vôo, Super Cobra, Mr.Chin, Ghostbusters
Errata
Número 01: O programa Senha publicado no primeiro número da revista saiu com um erro na linha 1030. Onde se lê NEXT X, é NEXT I.
MSX News
Pacotes Gráficos Chegam ao Mercado
Inglaterra - Novo pacote gráfico comercializado pela Kuma, tradicional fabricante de software para o padrão MSX. Seu "Colour Fantasia" custa dez libras (cento e quarenta mil, trezentos e quarenta e dois cruzeiros), e possibilita criar uma variação de cores muito maior que as dezesseis cores padrão dos micros MSX.
James Bond na Trilha do MSX
Inglaterra - A produtora Domark acaba de lançar em versão MSX um game baseado no último filme de James Bond, "A view to a kill", com o quase octagenário Roger Moore, no papel do agente 007. O game, que já estava disponível para os micros da linha Commodore e Spectrum, deve chegar rapidamente ao território brasileiro, através das mãos da pirataria que não perdoa qualquer das famílias de microcomputadores existentes por aqui.
Perigo Espacial
Artigo Original: Frederico de Morais, Revisão: Wilson Pilon
Vagarosamente a nava se move no espaço em direção à estação. Esta deveria ser mais uma suave viagem com piloto automático. Mas tudo mudou depois da chegada dos terríveis vilões do espaço. Agora, o sistema solar está cheio de destroços mecânicos, imensos pedaços de ferro-velho encontram-se sem direção e são levados pela tração dos astros.
Porém, você tem uma missão: acitar o perigo que lhe cerca, guiar a nave com segurança através do espaço e levá-la até o centro da plataforma, na estação espacial. É preciso ter muito cuidado por que sua aproximação não deve ser muito rápida, e você tem a vantagem de poder contar com instrumentos que vão ajudá-lo a atingir seu objetivo.
No visor pode-se controlar sua velocidade e saber se ela está acima do normal ou se está OK. Por isso não esqueça de se guiar pelo visor!
Como o controle total da nave é seu, e ela está equipada com ponteiros que guiam para os lados direito e esquerdo, para baixo e para cima, para usá-los, basta pressionar apropriadamente o teclado.
Mas, lembre-se, apertando o ponteiro da esquerda, a nave irá para a direita e, teclando o ponteiro para baixo, ela subirá e vice-versa.
Outra opção é usar joystick, ideal para os que preferirem equipar melhor sua nave. Não esqueça porém, de um detalhe importante: na tela há uma barra horizontal vermelha que indica sua quantidade de combustível. Assim que acabar, automaticamente você perde o jogo. Boa aterrissagem.
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem Única | perigo.bas |
Listagem
10 REM ******************* 20 REM * PERIGO ESPACIAL * 30 REM * MSX * 40 REM * * 50 REM ******************* 60 REM 70 REM 80 OPEN "grp:" AS #1 90 ON STOP GOSUB 1690 100 STOP ON 110 ON SPRITE GOSUB 690 120 SPRITE ON 130 SCR=0 140 GOSUB 1600 150 COLOR 15,1,1 160 SCREEN 2,2 170 GOSUB 800 180 GOSUB 1290 190 GOSUB 1380 200 GOSUB 1450 210 REM INICIO 220 V=2 230 H=0 240 X=125 250 Y=0 260 F=140 270 FOR I=1 TO 4 280 X(I)=INT(200*RND(1)+20) 290 HS(I)=INT(RND(1)*8-4)*2:IF HS(I)=0 T HEN 290 300 NEXT 310 REM LOOP PRINCIPAL 320 IF STICK(Q)=3 THEN H=H-1:GOSUB 520 330 IF STICK(Q)=7 THEN H=H+1:GOSUB 520 340 IF STICK(Q)=5 THEN V=V+3:GOSUB 520 350 X=X+H 360 V=V-1 370 Y=Y-V 380 IF Y<=-20 OR Y>190 THEN V=-V 390 IF X<=-10 OR X>250 THEN H=-H 400 LINE (214,182)-(250,190),7,BF 410 DRAW "bm216,182" 420 IF V<-4 THEN PRINT #1,"ALTA" ELSE PRINT #1,"ok" 430 PUT SPRITE 0,(X,Y),10,0 440 FOR I=1 TO 4 450 X(I)=X(I)+HS(I) 460 IF X(I)<10 OR X(I)>240 THEN HS (I)=-HS(I) 470 PUT SPRITE I,(X(I),I*35),7,4 480 NEXT 490 IF X>185 AND X<197 AND Y>13 9 AND Y<144 THEN 580 500 GOTO 320 510 REM ROTINA COMBUSTIVEL 520 F=F-1 530 XF=24+INT(F/2)*2 540 DRAW "c7bm=xf;,180d9" 550 IF F<=0 THEN 690 560 RETURN 570 REM ATERRISAGEM 580 COLOR 15 590 SCR=SCR+F*10 600 DRAW "bm70,70" 610 PRINT #1,"OTIMO POUSO!" 620 DRAW "bm30,80" 630 PRINT#1,"PRESS. ESPACO P/ CONTINUAR" 640 DRAW"bm55,90" 650 PRINT#1,"SEUS PONTOS ";SCR 660 IF STRIG(0) THEN 180 670 GOTO 660 680 REM EXPLOSAO 690 FOR I=1 TO 10 700 CIRCLE (X+8,Y+8),RND(1)*20,RND(1)*15 ,,,.5+RND(1)*15 710 NEXT I 720 COLOR 15 730 DRAW "bm50,100" 740 PRINT#1,"PRESS. CTRL STOP E F5" 750 DRAW"bm50,110" 760 PRINT#1,"PARA JOGAR NOVAMENTE" 770 IF STRIG(0) THEN RUN 780 GOTO 770 790 REM nave 800 FOR I=1 TO 16 810 READ A$ 820 B$=B$+CHR$(VAL("&b"+LEFT$(A$,8))) 830 C$=C$+CHR$(VAL("&b"+RIGHT$(A$,8))) 840 NEXT I 850 SPRITE$(0)=B$+C$ 860 REM UFO ALIENIGENA 870 FOR I=1 TO 16 880 READ A$ 890 D$=D$+CHR$(VAL("&b"+LEFT$(A$,8))) 900 E$=E$+CHR$(VAL("&b"+RIGHT$(A$,8))) 910 NEXT I 920 SPRITE$(4)=D$+E$ 930 RETURN 940 DATA 1000001001000001 950 DATA 0100011111100010 960 DATA 0010101111010100 970 DATA 0001101001011000 980 DATA 0010101001010100 990 DATA 0110101001010110 1000 DATA 1111101001011111 1010 DATA 0110101111010110 1020 DATA 0010101001010100 1030 DATA 0001101001011000 1040 DATA 0000101111010000 1050 DATA 0000111111110000 1060 DATA 0000111001110000 1070 DATA 0001100000011000 1080 DATA 0011000000001100 1090 DATA 0111000000001110 1100 REM 1110 DATA 1111100000000001 1120 DATA 0011111000000001 1130 DATA 0000111100000011 1140 DATA 0000011110000011 1150 DATA 0000001111000111 1160 DATA 0000011111101110 1170 DATA 0000110001111100 1180 DATA 0001110001111100 1190 DATA 0011110001111000 1200 DATA 0011111111110000 1210 DATA 0111011111000000 1220 DATA 1110011100000000 1230 DATA 1110001111000000 1240 DATA 1100000111100000 1250 DATA 1000000001111100 1260 DATA 1000000000011111 1270 REM FUNDO DA TELA 1280 REM ESTRELAS 1290 R=RND(-TIME) 1300 CLS 1310 FOR I=1 TO 100 1320 J=256 * RND(1) 1330 K=181*RND(1) 1340 PSET(J,K),15 1350 NEXT 1360 RETURN 1370 REM COMBUSTIVEL E INDICADORES 1371 REM DE VELOCIDADE 1380 LINE(10,178)-(250,191),7,BF 1390 LINE(24,180)-(164,189),6,BF 1400 DRAW "bm170,182" 1410 COLOR 1 1420 PRINT#1,"VELOC." 1430 RETURN 1440 REM PLATAFORMA ESPACIAL 1450 DRAW"bm200,155" 1460 COLOR 4 1470 A$="r3g1l3e1" 1480 FOR J=0 TO 2 STEP 2 1490 DRAW"a=j;" 1500 GOSUB 1550 1510 NEXT 1520 DRAW"a0" 1530 COLOR 1 1540 RETURN 1550 FOR I= 68 TO 4 STEP -8 1560 DRAW "s=i;xa$;" 1570 NEXT 1580 DRAW "s0" 1590 RETURN 1600 CLS 1610 PRINT TAB(11);"PERIGO ESPACIAL" 1620 PRINT TAB(14);"" 1630 PRINT TAB(8);"JOYSTICK OU TECLADO" 1640 PRINT TAB(8);"PRESS. BOTAO DE TIRO" 1650 PRINT TAB(9);"OU BARRA DE ESPACO" 1660 IF STRIG(1) THEN Q=1: RETURN 1670 IF STRIG(0) THEN Q=0: RETURN 1680 GOTO 1660 1690 COLOR 15,4,7 1700 END
Aprendendo a Somar
Artigo Original: Randolpho Julião, Digitação: Wilson Pilon
Uma das características dos micros MSX é que eles chegaram ao mercado já preparados para serem usados como ferramenta de aprendizado e ensino. A prova disso, são as diversas softhouses que estão desenvolvendo software educacional para o micro, já estando prontos alguns e até uma linguagem Logo.
Eis aqui a contribuição para aumentar o acervo de softs educativos, um programa que apresenta questões de adição de duas parcelas.
O programa consiste no seguinte, uma conta de somar de duas parcelas é colocada no vídeo. Mais a esquerda estão três possíveis respostas para a adição, amrcadas pelas letras A, B e C. Um cursor na forma de u ma seta inclinada fica à disposição do usuário, podendo movê-lo livremente através das teclas de controle do joystick. O usuário coloca o cursor sobre a opção que achar correta e pressiona a tecla RETURN. Caso a respostas escolhida seja realmente certa, o programa, fazendo menção a um procedimento típico dos professores, indicará que a resposta está correta com uma marcação semelhante a um 'C' (√), ao som de uma pequena paródia conhecida.
Caso a resposta escolhida não seja a correta, primeiramente o programa, novamente fazendo menção a uma atitude típica dos professores, indicará o erro com uma marcação formada por uma sircunferência tangenciada por um traço (Q). Então a resposta correta se destacará através de cores e a indicação do cursor. Logo após a resposta certa se delocará, de forma animada com mudanças de cores e sons, para sua posição, sob as parcelas e traço de soma.
Note que o software (ou curseware?) aqui apresentado, não espera a resposta certa para avisar que o usuário acertou e pode continuar, ficando desta forma sujeito a um jogo de chutes. O programa corrige a resposta destacando-a com recursos do computador. Observe também que os problemas apresentados são bem simples, visando crianças em idade escolar.
O programa não tem ambição de fazer com que alguém aprenda a somar de uma hora para outra com o seu uso. Toda via objetiva fazer com que o usuário no mínimo, reflita sobre a resposta correta.
Por outro lado existe o risco do programa ser usado como um game para passar o tempo destinado a seu uso, ou que não seja bastante estimulante para que a criança se sinta encorajada a usá-lo. Mas isso é algo que pode ser discutido, quem sabe nesse espaco?
Detalhes Técnicos
O programa basicamente gera dois números randômicos A e B, obtém a soma, e gera três respostas sendo uma correta e as outras duas aleatórias, verificando a opção do usuário e a corrigindo caso esteja errada. No quadro 1 estão expostos os números das linhas das sub-rotinas do programa e uma explicação sobre o que faz cada uma.
Se você já rodou o programa, certamente notou o tamanho dos algarismos que compõem os números. Este tamanho e a mobilidade dos números foram conseguidos usando-se um recurso gráfico de máquina: "Os Sprites". Cada número é formado por dois blocos sprites, cada um com 8 posições programáveis como mostra o quadro 2.
O quadro 3 ilustra como foi desenhado o cursor. Caso você seja um professor ou esteja interessado no assunto, saiba que é simples implementar outras operações matemáticas básicas no programa (experimente trocar na linha 530 o sinal de adição '+' pelo sinal de multiplicação '*') e que num próximo número, além de outras operações, implementarei um range maior de números (3 ou 4 dígitos). Até a próxima!
Quadro 1 | |
1 | Cor do fundo, abre a tela gráfica para escrita, define os arrays. Vai para a tela, define o tamanho do sprite |
10-13 | Gera os números randômicos para as vinte primeiras somas |
30-130 | Dados para formar os dígitos. Cada duas linhas são os dados para dois sprites que formarão um dígito de 0 a 9. Exemplo: As linhas 30 e 35 formam o dígito 0 |
170 | Dados para formar o cursor |
190 | Imprime a marcação das opções 'A)', 'B)', 'C)' |
200 | Transfere os dados data para os ARRAYS, que podem ser acessados pela rotina de impressão dos números |
210-290 | Rotina que testa as setas do JOYSTICK, move o cursor e da entrada em opção |
500-600 | Pega dois dígitos do ARRAY, soma-os e os imprime através dos dígitos sprites |
630-665 | Gera e imprime três respostas, sendo uma delas a resposta correta da soma |
666 | Desvia para a rotina de escolha da opção (210) e acerta parâmetros para o teste de resposta |
667 | Testa-se a resposta desviando para 800. Caso esteja certa, ou para a linha 850 caso esteja errada |
670 | Apaga SPRITES, pega próximo dígito e continua |
671-673 | Caso 20 somas já tenham sido executadas o programa vira para esta rotina e o usuário será questionado se quer continuar |
680 | Sub-rotina que imprime os dígitos |
700-790 | Sub-rotina que forma os dígitos em SPRITES |
800-849 | Rotina que trata a resposta correta da soma |
850-899 | Rotina de correção da resposta errada da soma |
Quadro 2 | |||||||||
255 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 170 DATA 255,254,252,248,240,228,194,129
Formação do cursor através de SPRITES |
254 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | |
252 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | |
248 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | |
240 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |
228 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | |
194 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
129 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Quadro 3 | |||||||||
195 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 60 DATA 195,195,195,195,195,195,195,255 65 DATA 255,3,3,3,3,3,3,3
Formação de um dígito com SPRITES |
195 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
195 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
195 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
195 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
195 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
195 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
255 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
255 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem Única | somar.bas |
Listagem
1 '**************** 2 '* MSX * 3 '* -APRENDENDO- * 4 '* - A SOMAR - * 5 '* * 6 '* RANDOPLHO * 7 '* JULIAO * 8 '**************** 9 COLOR 1,1:CLEAR 2000:OPEN"grp:" FOR OU TPUT AS #1:LM=10:DIM AB(30),BA(30),C(30) :SCREEN 2,1:C=5 10 FOR I=1 TO 20 11 A=RND (-TIME): A=INT(A*10):IF A < 0 T HEN GOTO 510:ELSE AB(I)=ABS(A) 12 B=RND(-TIME):B=INT(B*10):IF B<0 THEN GOTO 520: ELSE BA(I)=ABS(B) 13 NEXT I:J4=1 30 DATA 255,255,255,195,195,195,195,195 35 DATA 195,195,195,195,195,255,255,255 36 DATA 15,15,15,15,3,3,3,3 37 DATA 3,3,3,3,3,3,3,3 40 DATA 255,255,255,3,3,3,3,255 45 DATA 255,192,192,192,192,255,255,255 50 DATA 255,255,255,3,3,3,3,255 55 DATA 255,3,3,3,3,255,255,255 60 DATA 195,195,195,195,195,195,195,255 65 DATA 255,3,3,3,3,3,3,3 70 DATA 255,255,255,192,192,192,192,255 75 DATA 255,3,3,3,3,255,255,255 80 DATA 192,192,192,192,192,192,192,255 85 DATA 225,195,195,195,195,255,255,255 90 DATA 255,255,255,3,3,3,3,3 95 DATA 3,3,3,3,3,3,3,3 100 DATA 255,255,255,195,195,195,195,255 110 DATA 255,195,195,195,195,255,255,255 120 DATA 255,255,255,195,195,195,195,255 130 DATA 255,3,3,3,3,255,255,255 170 DATA 255,254,252,248,240,228,194,129 190 COLOR 2:FOR I=1 TO 3:PRESET(5,(I-1)* 50+30),1:PRINT #1,CHR$(64+I);")":NEXT I 200 FOR J=1 TO LM:FOR I=1 TO 8:READ A:C$ (J)=C$(J)+CHR$(A):NEXT I:FOR I=1 TO 8:RE AD A:C1$(J)=C1$(J)+CHR$(A):NEXT I:NEXT J :I=1:SP$="": FOR I = 1 TO 8:READ A:SP$=S P$+CHR$(A):NEXT I:SPRITE$(3)=SP$:GOTO 50 0 210 PUT SPRITE 3,(X,Y),15,3 220 IF STICK(0)=1 AND Y>0 THEN Y=Y-1:GOT O 210:ELSE IF STICK(0)=5 AND Y<174 THEN Y=Y+1:GOTO 210 230 IF STICK(0)=7 AND X>8 THEN X=X-1:GOT O 210:ELSE IF STICK(0)=3 ANDX<80 THEN X= X+1:GOTO 210 240 IF INKEY$=CHR$(13) THEN RETURN 290 GOTO 220 500 C=-5:AC=0:NI=0:T=8:A=AB(J):B=BA(J) 530 D=A+B:SP=7:A1=(1+VAL(RIGHT$(STR$(A), 1))):SPRITE$(7)=C$(A1) 540 A2=(1+VAL(RIGHT$(STR$(A),1))):SPRITE $(8)=C1$(A2) 580 X=180:Y=20:GOSUB 680:IF A>9 THEN SP= SP+2:X=X-20:SPRITE$(SP)=C$(1+VAL(MID$(ST R$(A),2,1))):SPRITE$(SP+1)=C1$(1+VAL(MID $(STR$(A),2,1))):GOSUB 680 590 X=180:SP=SP+2:Y=Y+38:SPRITE$(SP)=C$( 1+VAL(RIGHT$(STR$(B),1))) 595 SPRITE$(SP+1)=C1$(1+VAL(RIGHT$(STR$( B),1))) 600 GOSUB 680:IF B>9 THEN SP=SP+2:X=X-20 :SPRITE$(SP)=C$(1+VAL(MID$(STR$(B),2,1)) ):SPRITE$(SP+1)=C1$(1+VAL(MID$(STR$(B),2 ,1))):GOSUB 680 630 AA= INT(RND(1)*10)-6:IF AA<1 THEN 63 0 640 SP=17:R=D:FOR I=1 TO 3:IF I<>AA THEN D=A+B+INT(RND(1)*10)-INT(RND(1)*10)ELSE D=R:PS=SP 645 IF AA<>I AND D=R THEN I=I-1:NEXT I 650 X=40:Y=(I-1)*50+30:GOSUB 700:SP=SP+2 :NEXT I 665 LINE(130,95)-(210,101),2,BF:LINE(130 ,79)-(146,84),4,BF:LINE(136,72)-(140,90) ,4,BF 666 X=70:Y=80:GOSUB 210:IF Y>129 THEN Y= 3:ELSE IF Y>79 THEN Y=2:ELSE Y=1 667 IF AA=Y THEN GOSUB 800:ELSE GOSUB 85 0 670 FOR I=4 TO 32:SPRITE$(I)="":NEXT I:J 4=J4+1:A=AB(J4):B=BA(J4):IF J4 <= 20 THE N GOTO 530 671 PRESET (90,180),1:PRINT#1,"QUER CONT INUAR (S/N)?" 672 IF INKEY$="N" THEN STOP ELSE IF INKE Y$<>"S" THEN 672 673 CLS:RESTORE:GOTO 10 675 STOP 680 PUT SPRITE SP,(X,Y),T,SP:PUT SPRITE SP+1,(X,Y+16),T,SP+1:RETURN 700 REM 730 A1=(1+VAL(RIGHT$(STR$(D),1))):SPRITE $(SP)=C$(A1) 740 A2=(1+VAL(RIGHT$(STR$(D),1))):SPRITE $(SP+1)=C1$(A2) 750 GOSUB 680:IF D>9 THEN SP=SP+2:X=X-20 :A3=(1+VAL(MID$(STR$(D),2,1))):A4=(1+VAL (MID$(STR$(D),2,1))):SPRITE$(SP)=C$(A3): SPRITE$(SP+1)=C1$(A4):GOTO 680 790 RETURN 800 LINE(60,(Y-1)*50+35)-(65,(Y-1)*50+45 ),7:LINE-(80,(Y-1)*50+25),7:Y1=Y 830 T=9:X=180:SP=PS:D=R:Y=106:GOSUB 700: T=8 835 PLAY"f8":PLAY"c8c8d8c8":PLAY"e8f8" 849 IF INKEY$="" THEN 849:ELSE Y=Y1:LINE (60,(Y-1)*50+35)-(65,(Y-1)*50+45),1:LINE -(80,(Y-1)*50+25),1:RETURN 850 CIRCLE(78,(Y-1)*50+42),10,9:LINE(58, (Y-1)*50+32)-(98,(Y-1)*50+52),9:Y1=Y 870 Y=AA:PUT SPRITE 3,(68,(Y-1)*50+45),1 5,3:D=R:SP=PS:Y=(AA-1)*50+30:X=40:FOR I= 2 TO 10: T=I:GOSUB 700:PLAY"b":SP=PS:X=4 0-I*15:FOR K=1 TO 40:NEXT K: NEXT I:X=18 0:SP=PS:Y=106:GOSUB 700:T=8 899 IF INKEY$="" THEN 899:ELSE Y=Y1:CIRC LE(78,(Y-1)*50+42),10,1:LINE(58,(Y-1)*50 +32)-(98,(Y-1)*50+52),1:RETURN
Aprenda a Desenhar Gráficos
Artigo Original: Frederico de Moraes, Digitação: Wilson Pilon
Ponha sua imaginação para funcionar, explore toda a sua criatividade com este programa que além de ensinar a desenhar gráficos também proporciona um aprofundamento neste assunto. A criação de gráficos pode transformar o uso de seu computador numa tarefa divertida, embora os programas não sejam aplicativos, nem você possa derrubar naves espaciais. O importante é que você poderá aprender muito sobre os comandos Basic, simplesmente executando-os.
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem 1 | graf1.bas |
Listagem 2 | graf2.bas |
Listagem 3 | graf3.bas |
Listagem 4 | graf4.bas |
Listagem
3 REM CIRCULOS & ELIPSES 4 REM 5 CLEAR 500,55296! : SCREEN 2: COLOR 15, 1 10 X=120:Y=96:S=60 15 FOR Z = 1 TO 15 STEP 2 20 FOR B = 1 TO S STEP 5 30 CIRCLE(X,Y),B,Z,,,1.4 40 NEXT:NEXT 50 CLS:GOTO 60 60 X=120:Y=96:S=50 70 FOR Z=1 TO 15 STEP 2 80 FOR B=S TO 1 STEP -2 90 CIRCLE(X,Y),B,Z,,,1.4 100 NEXT:NEXT 110 CLS:GOTO120 120 X=120:Y=96:S=75 130 FOR Z=1 TO 15 STEP 2 140 FOR B=1 TO S STEP 2 150 CIRCLE(X,Y),B,Z,,,2.4 160 NEXT:NEXT 170 CLS:GOTO 180 180 X=120:Y=96:S=100 190 FOR Z=1 TO 15 STEP 2 200 FOR B=1 TO S STEP 4 210 CIRCLE(X,Y),B,Z,,,.25 220 NEXT:NEXT 230 CLS:GOTO 240 240 X=120:Y=96:S=75 250 FOR Z=1 TO 15 STEP 2 260 FOR B=2 TO 1 STEP -3 270 CIRCLE(X,Y),B,Z,,,2.8 280 NEXT:NEXT 290 CLS:GOTO 300 300 X=120:Y=96:S=100 310 FOR Z=1 TO 15 STEP 2 320 FOR B=S TO 1 STEP -2 330 CIRCLE(X,Y),B,Z,,,.75 340 NEXT:NEXT 350 CLS:GOTO 360 360 X=120:Y=96:S=75 370 FOR START=0 TO 1 STEP .01 380 FOR B=1 TO S STEP 2 390 PI=4*ATN(1) 400 CIRCLE(X,Y),B,11,ST,PI,1.4 410 NEXT:NEXT 420 GOTO 450
Listagem
5 REM************** 10 SCREEN 2:COLOR 6,15,6:CLS 20 S=50 30 FOR R=0 TO S STEP 2:GOSUB 70:GOSUB 90 :GOSUB 110 40 CIRCLE(RND(1)*250,RND(1)*190),4,RND(1 )*15,.3,3.1,1.4 50 NEXT 60 GOTO 60 70 CIRCLE(RND(1)*250,RND(1)*190),R,RND(1 )*15,,,1.4 80 RETURN 90 CIRCLE(RND(1)*250,RND(1)*190),R,RND(1 )*15,,,2.9 100 RETURN 110 CIRCLE(RND(1)*250,RND(1)*190),R,RND( 1)*15,,,.2 120 RETURN
Listagem
5 REM**************** 10 SCREEN 2:COLOR 15,1,1 20 X=128:Y=96:R=45:C=15:SA=0:EA=6.2:AR=1 .4 30 PI=4*ATN(1):R1=R 40 FOR T=0 TO 360 STEP 13 50 TH=2*PI*T/260 60 X=130+R1*SIN(TH):Y=95+R1*COS(TH) 70 GOSUB 100 80 NEXT T 90 GOTO 90 100 CIRCLE (X,Y),R,C,SA,EA,AR:RETURN
Listagem
5 REM************** 10 SCREEN 2:COLOR 6,15,6:CLS 20 X=50:Y=145:S=40 30 FOR R=0 TO S STEP 2:GOSUB 70:GOSUB 90 :GOSUB 110:GOSUB 130:GOSUB 150 40 CIRCLE(X,Y),R,RND(1)*15+1 50 NEXT 60 GOTO 60 70 CIRCLE(X,Y-99),R,RND(1)*15+1 80 RETURN 90 CIRCLE(X+83,Y),R,RND(1)*15+1 100 RETURN 110 CIRCLE(X+83,Y-99),R,RND(1)*15+1 120 RETURN 130 CIRCLE(X+166,Y),R,RND(1)*15+1 140 RETURN 150 CIRCLE(X+166,Y-99),R,RND(1)*15+1 160 RETURN
Sistemas Gráficos
Artigo Original: Frederico de Moraes, Digitação: Wilson Pilon
Use sua imaginação e crie seus próprios quadros facilmente. Este é um impressionante sistema de gráficos que permite desenhar e armazenar em fita, quadros inventados por você mesmo.
O programa é dirigido pela representação da imagem, isto é, você escolhe com o cursor a opção que preferir e pressiona a barra de espaço para selecioná-la. As figuras estão em um painel do lado esquerdo da tela. A área destinada ao desenho está à direita do painel, ocupando quase três quartos da tela
As setas são usadas para mover o cursor, com formato de cruz. Para desenhar linha é preciso selecionar o símbolo referente a ela. Mova o cursor para onde quiser começar a desenhar, e pressiona ESPAÇO novamente. Comece a desenhar e então pressione ESPAÇO para parar.
As outras especialidades trabalham de modo parecido. Círculos e retângulos são desenhados marcado dois pontos na tela, elipses são desenhadas marcando três pontos, Quadrados, marcando dois pontos diagonais.
Versões preenchidas também são possíveis. Há uma opção "pincel" para linhas largas, e você pode adicionar uma grade no fundo da tela.
No estado atual, o programa desenha somente em duas cores. Há uma opção que modifica as cores da tela e do fundo, mas como isto é feito byte a byte, torna-se muito lento. Por causa deste problema é que o programa possui rotinas LOAD e SAVE (que usam um arquivo chamado 'CAS:PIC'. Esta é uma área onde o código de máquina viria como auxílio.
Há também a opção 'espelho' que pode ser usada para criar efeitos caleidoscópicos. Outras opções são: 'borracha', que apaga o que você quiser, e 'limpa a tela' que apaga toda a tela, deixando-a pronta para ser usada novamente.
Embora o programa tenha uma rotina básica para impressão, é necessário fazer a conversão corretametne para a impressora a ser utilizada.
Estes são os recursos que Sistemas Gráficos oferece:
No programa além do painel, há um menu que explicará todas as funções de Sistemas Gráficos.
Este programa ainda contém BUGs, alguns do próprio programa outros da digitação. Em breve estara 100% corrigido
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem Única | sisgra.bas |
Listagem
10 '*********************** 20 '* * 30 '* MSX * 40 '* * 50 '* SIST. GRAFICOS * 60 '* * 70 '* * 80 '* * 90 '*********************** 100 '* 110 GOTO 2150 120 '* 130 '* PINTURA COM O PINCEL 140 '* 150 PS=5 160 IF X+PS > 255 THEN PS=PS - 1 170 LINE (X+4,Y+3) - STEP(PS,0):RETURN 180 '* 190 '* MODELO SOBRE OS EIXOS X & Y 200 '* 210 PSET(X+3,Y+4):PSET(X+3,195-Y):PSET(2 56-(X-44),Y_4:PSET(256-(X-44),195-Y:RETU RN 220 '* 230 '* DETERMINA ACAO QUE SERA 235 '* EMPREGADA 240 PLAY "l24o5co6c" 250 '* 260 PLAY "l24o5co6c" 270 IF X+3>47 THEN GOTO 510 280 IF Y>112 THEN RETURN 290 '* 300 '* PROCESSO DE SELECAO DO MENU 310 '* 320 V=INT((X+3)/16):W=INT((Y+4)/16) 330 H=TBL(V,W) 340 '* 350 '* PROCESSO OBRIGATORIO 360 '* 370 IF H=6 THEN GOSUB 1720:RETURN 380 IF H=7 THEN RETURN 390 IF H=11 THEN GOSUB 1250:RETURN 400 IF H=12 THEN GOSUB 1350:RETURN 410 IF H=13 THEN GOSUB 1830:RETURN 420 IF H=14 THEN GOSUB 2080:RETURN 430 IF H=18 THEN GOSUB 1940:RETURN 440 IF H=19 THEN GOSUB 1670:RETURN 450 '* 460 '* MARCA INDICADOR DE OPCAO 470 '* E ATUALIZA IMAGEM DA TELA 480 '* 490 F=H 500 GOSUB 3230:RETURN 510 '* 520 '* PREPARA OU DISTRIBUI 530 '* ACAO ESPECIFICA 535 '* (NAO OBRIGATORIO) 540 '* 550 ON F GOSUB 630,630,1050,1130,1530,,, 830,830,1170,,,,,1580,1580,1650,,,1200 560 RETURN 570 '* 580 '* FIM DO PROCESSO DE SELECAO 590 '* 600 '* 610 '* ROTINAS DE DESENHO 620 '* 630 '* 640 '* DESENHA CIRCULOS 650 '* 660 '* DEFINE CENTRO DO CIRCULO E 670 '* AS COORDENADAS Y 680 '* 690 IF CF=0 THEN CF=1:C1=X+3:C2=Y+4:PUT SPRITE 1,(C1-1,C2-2),1:FOR I=1 TO 8:CSR( I,2)=0:NEXT:RETURN 700 FOR I=1 TO 8:CSR(I,2)=YG(I):NEXT 710 CF=0:PUT SPRITE 1,(0,209),1 720 IF C1-ABS(X+3-C1)<48 THEN PLAY"l24o2 ce":RETURN 730 CIRCLE(C1,C2),ABS(X+3-C1),,,,8/7 740 IF F<2 THEN RETURN 750 '* 760 '* VEJA SE O CIRCULO 770 '* ESTA PREENCHIDO 780 '* 790 IF POINT(C1,C2)=15 THEN PLAY "l24o3c e":RETURN 800 PAINT(C1,C2):RETURN 810 RETURN 820 '* 830 '* DESENHA ELIPSE 840 '* 850 '* A COORD. Y E OBSTRUIDA 855 '* PRIMEIRO 860 '* DO QUE O X. O INDICE 870 '* DE BASE E' 880 '* DETERMINADO E A ELIPSE 890 '* E DESENHADA 900 IF OV=0 THEN OV=1:O1=X+3:O2=Y+4:PUT SPRITE 1,(O1-1,O2-2),1:FOR I=1 TO 8:CSR( I,2)=0:NEXT:RETURN 910 '* 920 IF OV=1 THEN OV=2:R1=ABS(O2-X+3):PUT SPRITE 2,(X+2,Y+2),1,1:X =O1-3:Y=O2-4:F OR I=1 TO 8:CSR(I,2)=YG(I):CST(I,1)=0:NE XT:RETURN 930 R2=ABS(O2-Y+4):RD=R1 940 OV =0 950 IF R1<R2 THEN RD=R2 960 FOR I=1 TO 8:CSR(I,1)=XG(I):NEXT 970 PUT SPRITE 1,(0,209):PUT SPRITE 2,(0 ,209) 980 IF O1-RD<48 THEN PLAY"l24o2ce":RETUR N 990 CIRCLE(O1,O2),RD,,,,R2/R1 1000 '* 1010 '* PINTA A ELIPSE SE 1015 '* SE SELECIONADA 1020 '* 1030 IF F=8 THEN RETURN 1040 PAINT(O1,O2):RETURN 1050 '* 1060 '* DESENHA LINHA 1070 '* 1080 IF LF=0 THEN LF=1:L1=X+3:L2=Y+4:PUT SPRITE 1,(L1-1,L2-2),1:RETURN 1090 LINE(L1,L2)-(X+3,Y+4):LF=0:PUT SPRI TE 1,(0,209):RETURN 1100 '* 1110 '* PINTA AREA INCLUIDA 1120 '* 1130 PAINT(X+3,Y+4) 1140 RETURN 1150 '* 1160 '* LAPIS 1170 '* 1180 SWAP PU,PD 1190 RETURN 1200 '* 1210 '* PADROES 1220 '* 1230 SWAP MU,MD 1240 RETURN 1250 '* 1260 '* DESENHA GRADE EM SEGUNDO 1265 '* PLANO 1270 '* 1280 FOR I=0 TO 192 STEP 8 1290 LINE (48,I) - STEP (255,0) 1300 NEXT I 1310 FOR I=48 TO 256 STEP 8 1320 LINE (I,0)-STEP(0,191) 1330 NEXT I 1340 RETURN 1350 '* 1360 '* TELA INVERTIDA 1370 '* 1380 '* A TELA E INVERTIDA POR 1390 '* ALTERACAO DE COR E 1400 '* TABELA PADRAO 1410 '* DE BYTE A BYTE 1420 '* 1430 VDP(7)=FC 1440 VDP(7)=FC 1450 FOR I = 0 TO 6144 1460 IF VPEEK(I)=0 AND VPEEK(BASE(11)+I) =FC THEN VPOKE BASE(11)+I,BC:GOTO 1490 1470 IF VPEEK(I)=0 AND VPEEK(BASE(11)+I) =BC THEN VPOKE BASE(11)+I,FC:GOTO 1490 1480 VPOKE I,NOT(VPEEK(I)) AND 255 1490 NEXT 1500 SWAP BC,FC 1510 RETURN 1520 '* 1530 '* PINCEL 1540 '* 1550 SWAP BU,BD:RETURN 1560 REM * 1570 '* 1580 '* DESENHA QUADRADOS 1590 '* 1600 IF BF=0 THEN BF=1:B1=X+3:B2=Y+4:PUT SPRITE 1,(B1-1,B2-2),1,1:RETURN 1610 IF F=15 THEN LINE (B1,B2)-(X+3,Y+4) ,,B:BF=0:PUT SPRITE 1,(0,209):RETURN 1620 LINE (B1,B2) - (X+3,Y+4),,BF:BF=0:P UT SPRITE 1,(0,209):RETURN 1630 '* 1640 '* BORRACHA 1650 '* 1660 SWAP EU,ED:RETURN 1670 '* 1680 '* LIMPA TELA 1690 '* 1700 LINE (48,0)-(255,191),4,BF 1710 RETURN 1720 '* 1730 '* SALVA PARA DISCO (FITA:CAS:) 1740 '* 1750 OPEN "pic" FOR OUTPUT AS #2 1760 FOR I=48 TO 5836 STEP 256 1770 FOR J=I TO I+207 1780 PRINT #2,VPEEK(J);",";VPEEK(8192+J) 1790 NEXT J,I 1800 CLOSE #2 1810 RETURN 1820 '* 1830 '* CARREGA DO DISCO (P/FITA:CAS:) 1840 '* 1850 GOSUB 1700 1860 OPEN "pic" FOR INPUT AS #2 1870 FOR I=48 TO 5836 STEP 256 1880 FOR J=1 TO I+207 1890 INPUT #2,VP,VC 1900 VPOKE J,VP:VPOKE 8192+J,VC 1910 NEXT J,I 1920 CLOSE #2 1930 RETURN 1940 '* 1950 '* IMPRIME ROTINA 1960 '* 1970 LPRINT CHR$(27);"L";CHR$(208);CHR$( 0) 1980 FOR I=0 TO 183 STEP 8 1990 FOR J=48 TO 255 2000 B$="" 2010 FOR K=0 TO 7 2020 IF POINT(J,J+K)=FC THEN B$=B$+"1" E LSE B$=B$+"0" 2030 NEXT K 2040 NEXT J,I 2050 LPRINT CHR$(VAL("&B"+B$)) 2060 '* 2070 RETURN 2080 '* ABANDONA O PROGRAMA 2090 '* 2100 COLOR 15,4,4:SCREEN 0,0 2110 END 2120 '* 2130 '* INICIO DO PROGRAMA 2135 '* PRINCIPAL 2140 '* 2150 DEFINT A-Z:MAXFILES=2 2160 GOSUB 2840 2170 GOSUB 3350 2180 BC=4:FC=15 2190 COLOR FC,BC,BC 2200 SCREEN 2,0,0 2210 OPEN "grp:" AS #1 2220 GOSUB 3010 2230 '* 2240 '* DESENHA TELA PRINCIPAL 2250 '* 2260 LINE(0,0)-(47,111),,B 2270 FOR I=15 TO 31 STEP 16 2280 LINE(I,0)-(I,111) 2290 NEXT I 2300 FOR I=15 TO 120 STEP 16 2310 LINE(0,I)-(47,I) 2320 NEXT I 2330 CIRCLE(8,8),4:CIRCLE STEP(15,0),5,, ,,1/2:LINE STEP(12,-4)-STEP(7,7),,B 2340 CIRCLE(8,23),BC:PAINT(8,23):CIRCLE STEP(15,0),5,,,,1/2:LINE STEP(12,-4)-STE P(7,7),,BF:PAINT STEP(-15,-2) 2350 LINE (7,36)-STEP(0,8) 2360 LINE (4,35)-STEP(6,1),,BF 2370 LINE (21,36)-STEP(5,5) 2380 LINE (35,35)-STEP(8,8),,B 2390 LINE (35,35)-STEP(8,8) 2400 LINE (35,43)-STEP(8,-8) 2410 LINE (4,51) -STEP(7,4),,B 2420 LINE -STEP(-7,3),,BF 2430 FOR I=15 TO 31 STEP 4 2440 LINE(I,47)-STEP(0,15) 2450 LINE(15,32+I)-STEP(15,0) 2460 NEXT 2470 DRAW "bm35,50r6d6l6u6r6d3r3d6l6u3" 2480 LINE(4,66)-STEP(6,3),,BF 2490 LINE(4,71)-STEP(6,0) 2500 LINE(6,73)-STEP(2,3),,BF 2510 LINE(19,67)-STEP(8,8),,B 2520 LINE(19,67)-STEP(8,8):PAINT STEP(-3 ,-1) 2530 LINE(32,64)-STEP(15,15) 2540 LINE(47,63)-STEP(-15,15) 2550 LINE(32,95)-STEP(15,15),,BF 2560 PSET(6,84):PRINT#1,"S" 2570 LINE(35,83)-STEP(8,8),,B 2580 LINE(39,83)-STEP(0,8) 2590 LINE(35,87)-STEP(8,0) 2600 PAINT(6,100) 2610 PSET(21,100):PRINT#1,"Q" 2620 PSET(21,84):PRINT#1,"L" 2630 REM* 2640 X=48:Y=96:PU=-1:PD=0:EU=-1:ED=0:BU= -1:BD=0:MU=-1:MD=0 2650 STRIG(0) ON:ON STRIG GOSUB 220 2660 '* 2670 '* LOOP PARA O JOY-STICK 2680 '* E PINCEL, LAPIS E 2690 '* BORRACHA 2700 '* 2710 PUT SPRITE 0,(X,Y),1,0 2720 IF PD AND X>47 THEN PSET(X+3,Y+4) 2730 IF ED AND X>47 THEN PRESET(X+3,Y+4) 2740 IF BD AND X>47 THEN GOSUB 150 2750 IF MD AND X>47 THEN GOSUB 210 2760 IF STICK(0)=0 THEN 2760 2770 PUT SPRITE 0,(X,Y),1,0 2780 X=X+CSR(STICK(0),1):Y=Y+CSR(STICK(0 ),2) 2790 IF X<-3 THEN X=-3 2800 IF X>252 THEN X=252 2810 IF Y>187 THEN Y=187 2820 IF Y<-3 THEN Y=-3 2830 GOTO 2710 2840 '* 2850 '* INICIALIZA TABELAS 2860 '* 2870 '* 2880 RESTORE 3170 2890 DIM CSR(8,2) 2900 DIM TBL(3,7) 2910 DIM ER(8,8) 2920 DIM YG(8),XG(8) 2930 FOR I=1 TO 8 2940 FOR J=1 TO 2 2950 READ A:CSR(I,J)=A:IF JMOD2=0 THEN Y G(I)=1 ELSE XG(I)=A 2960 NEXT J,I 2970 FOR I=0 TO 2 2980 FOR J=0 TO 6 2990 READ TBL(I,J):NEXT J,I 3000 RETURN 3010 REM * 3030 REM * 3040 REM * 3050 RESTORE 3200 3060 FOR K=0 TO 1 3070 S$="" 3080 FOR I=0 TO 7 3090 READ A:S$=S$+CHR$(A) 3100 NEXT 3110 SPRITE$(K)=S$ 3120 NEXT K 3130 RETURN 3140 '* 3150 '* SECAO DE DADOS 3160 '* 3170 DATA 0,-1,1,-1,1,0,1,1,0,1,-1,1,-1, 0,-1,-1 3180 DATA 1,2,3,4,5,6,7,8,9,10,11,12,13, 14,15,16,18,18,19,20,21 3190 '* 3200 DATA 16,16,16,238,16,16,16,0 3210 DATA 64,224,64,0,0,0,0,0 3220 '* 3230 '* ATUALIZA IMAGEM FUNCAO 3240 '* 3250 IF F=21 THEN RETURN 3260 BF=0:CF=0:OV=0:LF=0 3270 PUT SPRITE 1,(0,209):PUT SPRITE 2,( 0,209) 3280 V1=V*16:W1=W*16 3290 FOR I=1 TO 14 3300 FOR J=1 TO 14 3310 IF POINT(V1+I,W1+J)=BC THEN C=FC EL SE C=BC 3320 PSET(32+I,96+J),C 3330 NEXT J,I 3340 RETURN 3350 '* 3360 '* TELA EXPLICATIVA 3370 '* 3380 SCREEN 0,0:KEY OFF 3390 PRINT TAB(5);"/// SISTEMA DE DESENH O///" 3400 PRINT TAB(5);"SELECIONA A OPCAO NA TELA" 3410 PRINT TAB(3);"POSICIONANDO O CURSOR SOBRE A" 3420 PRINT TAB(3);"OPCAO DE MENU E PERSS . A BARRA":PRINT TAB(11);"DE ESPACO" 3430 PRINT"1. CIRCULO: Press. espaco p/ definir":PRINT"centro, press. espaco p/ definir rad. e o desenho" 3450 PRINT"1. CIRCULO: Press. espaco p/ definir":PRINT"centro, press. espaco p/ definir rad. e o desenho" 3460 PRINT"2. CIRCULO PREENCHIDO: Como a cima" 3470 PRINT"3. LINHA: Press. espaco p/ o inicio da linha":PRINT"Press. de novo p/ desenha-la" 3480 PRINT"4. PINTURA: PRESS. ESPACO P/ PINTAR A AREA" 3490 PRINT"5. PINCEL: Press. p/ desenhar " 3500 PRINT"6. SAVE(S): Salva p/ disco." 3510 PRINT TAB(3);"E MUITO L-E-N-T-O" 3520 PRINT"7. ELIPSE: como CIRCULO, mas tambem definir o raio " 3530 PRINT"8. ELIPSE PREENCHIDO: Como ac ima" 3540 PRINT"9. LAPIS: Como Pincel" 3550 PRINT:PRINT"Mais..." 3560 R$=INKEY$:IF R$="" THEN 3560 3570 CLS 3580 PRINT"10. GRADE : Desenha grade" 3590 PRINT"11. REVERSO: Reverte p/ cor d a tela e":PRINT"fundo da tela - vagarosa mente" 3600 PRINT"12. LOAD: Carrega gravuras de novo. vagarosamente" 3610 PRINT"13. QUADRADO: Como para linha " 3620 PRINT"14. QUADRADO PREENCHIDO: Como acima" 3630 PRINT"15. ERASE: Como LAPIS" 3640 PRINT"16. IMPRIMIR: Grava a tela" 3650 PRINT"17. LIMPA tela" 3660 PRINT"18. ESPELHO: Como para LAPIS" 7000 PRINT:PRINT"Execute-me..." 8000 R$=INKEY$:IF R$="" THEN 8000 8010 RETURN
Games
Hyper Sports I
Nota 4
Este é mais um jogo de esportes, a exemplo de outros como Decathlon, com mais de um evento esportivo com scores de qualificação e recordes. Hyper Sports I reúne quatro provas que são: salto em altura, salto no cavalo, trampolim e barra. Em cada uma das provas você tem que alcançar uma pontuação mínima estabelecida pelo computador para atingir a qualificação e passar para a próxima prova. Para disputar o jogo, pode-se utilizar joystick ou as teclas de cursor, sendo que o melhor mesmo é usar o joystick, que permite melhor maneabilidade. A primeira prova, a do salto em altura, você ganha impulso correndo e ao chegar no momento do pulo, aperta o botão de tiro e o seu atleta executará o salto. Nesta prova, você tem três chances para conseguir o score mínimo. A próxima prova é a do salto no cavalo, onde os pontos são ganhos pelo salto, pelas cambalhotas no ar que você conseguir e pela queda, se você conseguir cair em pé. A dica nesta etapa, é você apertar novamente o botão de tiro, assim que estiver em cima do cavalo. Na prova do trampolim, você tem que pular e novamente, executar piruetas no ar com um tempo limite de 20 segundos.
Então, você chega a última prova, a da barra. Nesta o atleta tem que agarrar a barra, girar em torno dela, executar as cambalhotas e, cair em pé. A dica do salto no cavalo também vale para esta prova sendo que, mais uma vez, você tem três tentativas para conseguir alcançar o índice mínimo. Uma curiosidade: cada vez que falhar em uma das provas, o atleta demonstrará seu desapontamento bem como, se não conseguir cair em pé, ele rolará, ficando em pé logo depois.
Hyper Sports I é mais um bom jogo de esportes que não deve faltar no acervo do seu MSX
Moon Patrol
nota 5
Este jogo consiste em comandar um carro tanque pela superfície da lua, perseguindo e exterminando os possíveis invasores, que são de vários tipos.
Os discos voadores atiram mísseis que abrem crateras enormes na superfície da lua. Cuidado ao pular, porque caso você efetue o salto antes ou depois do momento certo, certamente irá acabar dentro do buraco.
Você inicia Patrulha Lunar com três vidas, se todas as suas vidas acabarem, recomece o jogo do ponto em que parou, bastando para isso pressionar a teclde espaço e o marcador volta do início.
A finalidade do jogo é fazer com que você percorra toda a superfície lunar, exterminando os inimigos e evitando o mais que puder os choques com as brechas e crateras.
O controle do seu tanque pode ser feito com o uso do joystick ou com o teclado do micro.
DICAS: Quando você deparar com uma rocha logo após uma cratera, dispare seu laser o mais próximo possível do buraco, mas antes de saltá-lo. Assim você elimina dois obstáculos de uma só vez. Outra dica útil está relacionada com a disputa contra os tanques inimigos. Ao enfrentar o tanque do computador dispare sempre dois tiros, pelo menos, dessa forma, você conseguirá anular o tiro disparado pelo inimigo e o próprio tanque antes que ele consiga disparar outro projétil.
Simulador de Vôo
Nota 5
A utilização dos microcomputadores como simuladores de aviões vem se tornando cada vez mais popular. Na versão da Gradiente para o MSX, você é um piloto que faz o trajeto entre Nova Iorque e Los Angeles. No caminho você encontrará 80 aeroportos pela sua frente, neles é possível aterrisar e também reabastecer. Os seus vôos podem ser feitos à noite ou de dia, com condições de tempo que variam. Há em Simulador de Vôo um set completo de instrumentos para você se guiar como um bom piloto.
Neste jogo há a simulação de uma batalha aérea da I Gerra Mundial, causando emoções incríveis.
Com tantos atrativos, é quase impossível resistir aos apelos deste jogo, que para quem gosta do assunto é uma ótima opção de lazer, sendo aconselhável que você tenha Simulador de Vôo em sua casa.
Minha memória não permite que me lembre qual era o simulador da Gradiente, então optei por colocar o 737 Flight Simulator atá achar o certo.
Super Cobra
Nota 5
Em Super Cobra você possui um esquadrão de oito helicópteros reservas e deve percorer cerca de 10 mil milhas para resgatar a preciosa presa de guerra. Cada fase representa um território de mil milhas. Na primeira etapa, surgem canhões que disparam contra você e mísseis que voam em sua direção. Nas milhas seguintes, começam a seguir projéteis teleguiados, bolas de fogo, granadas que se desprendem do teto e discos voadores que atiram constantemente em seu helicóptero, sem contar que quanto mais você progredir no jogo, mais estreitas ficarão as passagens entre as montanhas, edifícios e túneis, dificultando bastante suas manobras, pois um mínimo movimento equivocado poderá ser fatal.
Para complicar ainda mais a sua missão, o helicóptero vai gastando muito combustível durante a jornada. Para reabastecer, você deve atingir os tanques verdes espalhados pelo solo, senão o helicóptero cai e explode.
No alto da tela, existe uma faixa que indica a quantidade de combustível, o número de helicópteros reservas, a sua pontuação e o número de milhas ultrapassadas, além de surgir a indicação "Fuel Critical", avisando-o que seu combustível está num nível muito baixo. Quando você tiver vencido as 10 mil milhas, aparecerão sinais avisando da aproximação da presa de guerra.
Os gráficos desta versão para a linha são muito bons. Com resolução gráfica bem atraente, e bastante variação na cor das cavernas. O som é constante e os efeitos sonoros são satisfatórios, sem porém, serem muito importantes para a ação.
Ação é o que não falta neste jogo: ela é envolvente e exige muito treino, habilidade e atenção por parte do jogador, constituindo-se num desafio maior até mesmo para os jogadores mais experientes. O fato de você ficar atento o tempo todo, preocupar-se com o combustível e ainda atirar ou bombardear os inimigos que virão de baixo, por cima ou pela frente, contribuindo definitivamente para fazer de Super Cobra uma excelente opção para os possuidores do MSX, um sistema que está começando a invadir o país.
Os controles respondem bem à ação e a única dificuldade é que você só pode ter dois tiros ao mesmo tempo e soltar uma bomba de cada vez, obrigando você a atirar com moderação e ser certeiro nos disparos.
Enfim, se você gosta de jogos com missões suicidas, não perca esta chance, encare esse desafio o mais rápido que puder.
Mr Chin
Nota 4
O nosso personagem, o Mr Chin, é um chinês típico daqueles que se vestem como manda o figurino, com rabicho de cavalo trançado no alto da cabeça e tudo. Só que Mr Chin tem uma ingrata e difícil tarefa, a de equilibrar em sete postes tantos pratos quantos forem possíveis. No desenrolar desta missão, o atarefado chinesinho ainda enfrenta algumas dificuldades como por exemplo, uma velha, parecida com o corcunda de Notre Dame, que possui o péssimo hábito de atirar pratos no Mr Chin torcendo, inclusive, para que um deles quebre o seu pescoço. Mas, isso é só o início. Logo após se livrar da velha, aparecem samurais sobrevoando nosso simpático chinês e, que tentam cometer o hara-kiri. Se você conseguir livrar-se das dificuldades iniciais, verá que tem mais sete postes no andar seguinte bem como, mais pratos para apanhar e equilibrar. E, se Mr Chin se sair bem em mais esta função, ele será transportado para o terceiro andar onde encontrará mais postes e mais pratos. A sua obrigação fica, então, consideravelmente mais difícil, já que você terá que manter os pratos equilibrados em todos os três andares, o que não é nada fácil. Para este jogo, a melhor recomendação que se pode fazer é o uso do joystick, que torna mais fácil a movimentação de Mr Chin, já que o teclado tende a retardar um pouco as reações que podem causar a perda de alguns pontos. É mais um bom jogo para MSX, que exige a utilização de todos os reflexos do jogador.
Ghostbusters
Nota 4
Você já conhece a música. Certamente viu o filme e também leu o livro. Agora chegou a vez de Ghostbusters, o game. O jogo já se encontra convertido para micros MSX.
O game é bastante curioso, misturando elementos simples num contexto que requer astúcia e atenção. Dominá-lo não é tão difícil.
O objetivo do game é expulsar os fantasmas da cidade de Nova Iorque. No início de Ghostbusters, aparece na tela um mapa da cidade. Você controla os caçadores de fantasmas, percorrendo as ruas de Nova Iorque. Um fantasma amarelo rasteja na direção do Templo de Zuul, localizada no centro da cidade.
A todo momento esse local aparece na tela até começar a emitir luz vermelha para indicar que o fantasma está entrando em seu esconderijo.
A primeira parte desse jogo é muito simples. Passe por cima dos fantasmas para congelá-los e assim você pode escolher o melhor caminho para chegar até o Templo. Na segunda tela, você está viajando em seu carro por uma estrada. Durante essa viagem, os fantasmas que você havia congelado aparecem e terão de ser sugados. O próximo passo é pegar o fantasma, usando dois homens armados. Prenda os fantasmas entre correntes de enrgia, salte sobre essa armadilha e assim você terá dominado o fantasma.
Pegue o dinheiro pela captura do fantasma. Nesse meio tempo, a energia da cidade poderá ser alterada quando os fantasmas alcançam o Templo, seja rápido ou você falhará na captura.
Retorne a base no caso de perda de duas vidas ou se a energia das armas acabar. Dois caracteres (Gatekeeper e Keymaster) podem alcançar o Templo de Zuul. Caso haja dinheiro em maior quantidade do que no início do jogo, vá em frente, se não, é sinal de que você não teve muita sorte, pare por aqui.
A etapa seguinte implica em mover seus homens por sobre o Marshmallow Man. A ação se passa no alto do Templo, onde se vê Zuul começando a explodir. Recolha o bônus e aí se encerra o jogo.
Há várias possibilidades e muitos elementos para se fazer esse game ficar ainda mais emocionante.
Os gráficos de Ghostbusters são bem interessantes, o som é de boa qualidade. Enfim um jogo bastante original, que permite muitas variações.
Referência de Listagem
Listagem | Arquivo |
---|---|
Hyper Sports I | hypspo1.bas |
Moon Patrol | moonpatr.bas |
Simulador | sim737.bas |
Super Cobra | scobra.bas |
Mr.Chin | mrchin.bas |
Ghostbusters | ghost-b.bas |
Nenhum comentário:
Postar um comentário