terça-feira, junho 21, 2022

MSX Programas: Revista MSX Micro 06

Revista MSX Micro 06

1986

Programas: Caminho Assmbroso, Combinação, Astron

Jogos:  Yie-Ar Kung Fu, Rollerball, Le Mans.


Caminho Assombroso

Artigo Orignal: MSX Micro, Digitação: Wilson Pilon

Você pode guiar o monstro para que ele consiga chegar até a caverna através de velas que se movem e castelos? Atenção para as colisões, elas podem ser fatais. O objetivo deste jogo é que você alcance o retângulo que está à direita da tela e, onde está escrito "Final", sendo que a cada tela completa, você marca pontos e as velas tornam-se mais rápidas, aumentandoa dificuldade do jogo. Para completar o curso do monstro até sua caverna existe um tempo pré estabelecido, marcado por uma barra no alto da tela. Agora, só resta guiar seu monstro e boa sorte!


Referência de Listagem

ListagemArquivo
Listagem Únicaassomb.bas

Listagem

  
13 '    Inicio
20 '
30 KEY OFF
40 COLOR 15,4,15
50 SCREEN 2,2,0
60 FOR Y=1 TO 3:S$=""
70 FOR X=1 TO 32:READ D
80 S$=S$+CHR$(D):NEXT X
90 SPRITE$(Y)=S$:NEXT Y
100 DATA 103,159,89,185,95,187,44,71
110 DATA 0,0,0,0,0,0,0,0
120 DATA 230,249,154,157,250,221,52,226
130 DATA 0,0,0,0,0,0,0,0
140 DATA 0,2,3,2,127,255,170,254
150 DATA 0,0,0,0,0,0,0,0
160 DATA 0,160,224,160,235,255,53,63
170 DATA 0,0,0,0,0,0,0,0
180 DATA 1,1,1,1,1,1,39,31
190 DATA 0,0,0,0,0,0,0,0
200 DATA 192,192,192,192,196,196,245,254
210 DATA 0,0,0,0,0,0,0,0
220 LINE (250,90)-(255,110),2,BF
230 PUT SPRITE 4,(25,20),1,2
240 PUT SPRITE 7,(200,140),5,2
250 PUT SPRITE 6,(75,100),3,2
260 PUT SPRITE 8,(72,180),8,2
270 PUT SPRITE 5,(125,60),5,2
280 T=255:Z=.4:X=0:Y=181:P=(100):Q=100
290 SPRITE ON
300 ON SPRITE GOSUB 560
310 OPEN "grp:" FOR OUTPUT AS #1
320 PSET(210,80),1:PRINT#1,"Final"
330 LINE(0,0)-(255-T,10),1,BF
340 S=STICK(0)
350 T=T-Z/2:ZZ=Z*8
360 IF T<0 THEN GOSUB 500
370 IF S=1 THEN Y=Y-(Z*4):IFY<10 THEN Y=10
380 IF S=3 THEN X=X+(Z*4):IFX>245 THEN X=245
390 IF S=5 THEN Y=Y+(Z*4):IFY>181 THEN Y=181
400 IF S=7 THEN X=X-(Z*4):IFX<0 THEN X=0
410 PUT SPRITE 1,(X,Y),7,1
420 IF POINT(X+17,Y+8)=2 THEN GOSUB 590
430 PUT SPRITE 3,(150,Q+95),9,3
440 IF P<0 THEN ZZ=-ZZ
450 P=P+ZZ:Q=Q-ZZ
460 PUT SPRITE 2,(42,Q),1,3
470 PUT SPRITE 9,(90,P),7,3
480 PUT SPRITE 10,(169,P-100),11,3
490 GOTO 330
500 SCREEN 0:LOCATE 10,4:PRINT "Voce gastou o tempo!"
510 PLAY "l64cdcde"
520 LOCATE 10,10:PRINT "Voce marcou: ";S%
530 LOCATE 6,20:PRINT "Press. <RETURN> para jogar";
540 INPUT A$:IF A$<>"" THEN A$="":GOTO 540
550 RUN
560 SPRITE OFF
570 SCREEN 0:LOCATE 10,8:PRINT "C r a s h !!"
580 GOTO 510
590 S%=S%+1:Z=Z+.5:X=0:Y=181
600 PLAY "l64cdcdecd"
610 RETURN
Única

Combinação

Artigo Original: MSX Micro, Digitação: Wilson Pilon

Este é mais um game do tipo senha. O micro gera uma sequência de cinco cores, que não são reveladas a você. O objetivo é descobrir esta sequência.

Para facilitar o trabalho, nenhuma cor será usada duas vezes na mesma sequência. Além disso, o computador indica a proximidade a que se chega da resposta certa. No decorrer do jogo, ele irá imprimir um quadrado branco para cada cor certa, no lugar certo. Caso a sequência esteja correta, serão impressos cinco quadrados brancos e a senha no alto da tela. Se a cor estiver certa, mas, no lugar errado, será impresso, então, um quadrado preto. A posição dos quadrados pretos e brancos não tem relação com a sequência das cores na tela. A escolha das cores será feita pelo número que ela possui. A mensagem "erro, por favor redigite" aparecerá se forem pressionadas letras, em vez de números ou então, escolhida uma cor que já tenha sido selecionada.

Linhas

  • 50 → Simula um valor aleatório.
  • 6→ Dimensiona as variáveis de controle.
  • 7→ Abre a tela para resolução gráfica.
  • 90 → Envia para a sub-rotina de apresentação do texto.
  • 120-31→ Loop para executar a escolha das 5 cores da senha.
  • 13→ É atribuído um valor randômico a R.
  • 140-21→ Através do valor de R, será dada a cor determinada.
  • 220-30→ Rotina para não ocorrer a duplicidade de cores.
  • 450-69→ Rotina onde você forma a sequência de cores.
  • 630-66→ Rotina de controle para não ocorrer duplicidade na escolha de cores.
  • 710-73→ Verifica se há cor certa no lugar certo. Se houver, envia para sub-rotina que irá imprimir o quadrado branco.
  • 740-78→ Verifica se há cor certa no lugar errado. Se houver, envia para sub-rotina que irá imprimir o quadrado preto.
  • 79→ Envia par verificação se as 5 cores estão certas.
  • 800-82→ Sub-rotina que imprime os quadrados brancos.
  • 830-85→ Sub-rotina que imprime os quadrados pretos.
  • 86→ Verifica se você acertou a senha. Se acertou, imprime o aviso.
  • 1040-108→ Outro jogo? se não quiser, fim.
  • 1080-125→ Apresentação do programa.

Referência de Listagem

ListagemArquivo
Listagem Únicacombin.bas

Listagem

  
10 '************************
20 '*                      *
30 '*      COMBINACAO      *
40 '*                      *
50 '*        MSX  5        *
60 '*                      *
70 '************************
80 A=RND(-TIME)
90 DIM R(5),P(5)
100 OPEN"grp:"AS#1
110 Y1=170:Y2=182
120 GOSUB 1110
130 COLOR 1,14,14
140 SCREEN 2
150 FOR N=1 TO 5
160 R=INT(RND(1)*8)+1
170 IF R=1 THEN R(N)=9
180 IF R=2 THEN R(N)=10
190 IF R=3 THEN R(N)=3
200 IF R=4 THEN R(N)=4
210 IF R=5 THEN R(N)=12
220 IF R=6 THEN R(N)=6
230 IF R=7 THEN R(N)=7
240 IF R=8 THEN R(N)=13
250 IF N=1 THEN 340
260 IF N=2 THEN 300
270 IF N=3 THEN 310
280 IF N=4 THEN 320
290 IF N=5 THEN 330
300 IF R(2)=R(1) THEN 160 ELSE 340
310 IF R(3)=R(2) OR R(3)=R(1) THEN 160 ELSE 340
320 IF R(4)=R(3) OR R(4)=R(2) OR R(4)=R(1) THEN 160 ELSE 340
330 IF R(5)=R(4) OR R(5)=R(3) OR R(5)=R(2) OR R(5)=R(1) THEN 160 ELSE 340
340 NEXT N
350 PRESET(10,5):PRINT#1,"Cor"
360 C=1
370 FOR N=20 TO 160 STEP 20
380 PRESET(10,N),15
390 READ D
400 PRINT#1,C:LINE(40,N)-(45,N+8),D,BF
410 C=C+1
420 NEXT N
430 DATA 9,10,3,4,12,6,7,13
440 FOR ZZ=1 TO 14
450 X1=86:X2=184:Y2=Y2-12
460 PRESET(75,185),14
470 PRINT#1,"Escolha 5 cores"
480 FOR N=1 TO 5
490 RESTORE 570
500 P$=INKEY$:IF P$="" THEN 500
510 BEEP:BEEP:BEEP
520 LINE(75,185)-(230,192),14,BF
530 FOR J=1 TO 8
540 READ D
550 IF P$=CHR$(48+J) THEN P(N)=D:RESTORE 570:GOTO 610
560 NEXT J
570 DATA 9,10,3,4,12,6,7,13
580 RESTORE 570
590 PRESET(75,185),14
600 PRINT#1,"Redigite":GOTO 500
610 IF N=1 THEN 700
620 IF N=2 THEN 660
630 IF N=3 THEN 670
640 IF N=4 THEN 680
650 IF N=5 THEN 690
660 IF P(2)=P(1) THEN 590 ELSE 700
670 IF P(3)=P(2) OR P(3)=P(1) THEN 590 ELSE 700
680 IF P(4)=P(3) OR P(4)=P(2) OR P(4)=P(1) THEN 590 ELSE 700
690 IF P(5)=P(4) OR P(5)=P(3) OR P(5)=P(2) OR P(5)=P(1) THEN 590 ELSE 700
700 LINE(X1,Y1)-(X1+8,Y1+8),P(N),BF
710 X1=X1+15
720 NEXT N
730 Y1=Y1-12
740 FOR N=1 TO 5
750 IF P(N)=R(N) THEN GOSUB 830
760 NEXT N
770 IF P(1)=R(2) OR P(1)=R(3) OR P(1)=R(4) OR P(1)=R(5) THEN GOSUB 860
780 IF P(2)=R(1) OR P(2)=R(3) OR P(2)=R(4) OR P(2)=R(4) THEN GOSUB 860
790 IF P(3)=R(1) OR P(3)=R(2) OR P(3)=R(4) OR P(3)=R(5) THEN GOSUB 860
800 IF P(4)=R(1) OR P(4)=R(2) OR P(4)=R(3) OR P(4)=R(5) THEN GOSUB 860
810 IF P(5)=R(1) OR P(5)=R(2) OR P(5)=R(3) OR P(5)=R(4) THEN GOSUB 860
820 GOTO 890
830 LINE(X2,Y2)-(X2+8,Y2+8),15,BF
840 X2=X2+16
850 RETURN
860 LINE(X2,Y2)-(X2+8,Y2+8),1,BF
870 X2=X2+16
880 RETURN
890 IF P(1)=R(1) AND P(2)=R(2) AND P(3)=R(3) AND P(4)=R(4) AND P(5)=R(5) THEN GOTO 920
900 NEXT ZZ
910 GOTO 950
920 PRESET(40,185),14
930 PRINT#1,"Otimo, voce conseguiu !";ZZ
940 GOTO 970
950 PRESET(75,185),14
960 PRINT#1,"Voce Perdeu !"
970 X1=86:Y1=3
980 FOR N=1 TO 5
990 LINE(X1,Y1)-(X1+8,Y1+8),R(N),BF
1000 X1-X1+15
1010 NEXT N
1020 LINE(77,1)-(163,12),15,BF
1030 LINE(76,0)-(164,13),15,BF
1040 FOR J=1 TO 2500:NEXT J
1050 LINE(0,185)-(255,192),14,BF
1060 PRESET(65,185),14
1070 PRINT#1,"Outra Vez ?<S/N>"
1080 A$=INKEY$:IFA$="" THEN GOTO 1080
1090 IF A$="S" OR A$="s" THEN RUN
1100 IF A$="N" OR A$="n" THEN CLS:END
1110 SCREEN 0:COLOR 15,4,4
1120 KEYOFF
1130 CLS:LOCATE 10,12
1140 PRINT"C O M B I N A C A O"
1150 LOCATE 10,13
1160 PRINT"-------------------"
1170 LOCATE 15,22:PRINT"MSX Micro"
1180 FOR J=1 TO 1999:NEXT
1190 PRINT
1200 CLS
1210 PRINT TAB(1);"### COMBINACAO ###"
1220 PRINT
1230 PRINT"  O computador ira gerar uma sequencia de 5 cores."
1240 PRINT:PRINT"  Nenhuma das cores sera repetida !!"
1250 PRINT:PRINT:PRINT"  Voce tem 14 tentativas para encontrar a sequencia."
1260 PRINT:PRINT"  O computador dira a voce se voce tem:"
1270 PRINT:PRINT"A-> A cor certa no lugar certo, por um quadrado branco"
1280 PRINT:PRINT"B-> A cor certa no lugar errado, por um quadrado negro"
1290 PRINT:PRINT"    Press. <RETURN> p/ continuar";
1300 INPUT Z$:IF Z$<>"" THEN 1300
1310 CLS:RETURN
Única

Astron

Artigo Orignal: MSX Micro, Digitação: Wilson Pilon

Este programa tem por finalidade determinar os ângulos fundamentais de certos astros.

Como você sabe, os navegadores em alto-mar só podem contar com as estrelas e o sol para se orientar.

Para determinarmos altura de um astro, por exemplo, usa-se um instrumentos chamado sextante:

Visualização do ângulo

Pela altura do astro pode um navegador verificar se está em um ponto P1, P2 ou P3.

Todas as medidas para orientação de um navegador baseiam-se em um sistema de coordenadas celestes, cujos eixos formam a esfera celeste.

Ao ângulo formado entre o NORTE e a direção em que é observado o astro, chamamos azimute (A) do astro.

O azimute é contado a partir do NORTE na direção dos ponteiros de um relógio de 0 a 360 graus e seu valor é fundamental para um navegador.

A elevação é o ângulo medido do horizonte ao zênite (eixo vertical da esfera de -90 a +90 graus).

Existem portante duas maneiras de se orientar pelo céu:

  • Identificar o astro (Mercúrio, Vênus, etc.).
  • Verificar o azimute e elevação (coordenadas celestes).
  • Rodar nosso programa e descobrir em que cidade se encontra.

Ou repetir a identificação do asto, e definir a ascenção reta e declinação do astro, para em seguida determinar o ponto onde você se encontra.

Ascenção reta e declinação são respectivamente a latitude e longitude marcadas na esfera celeste.

É possível também fazer o procedimento inverso, ou seja, definida uma cidade, descobrir as coordenadas para identificar um astro (Vênus, por exemplo) num determinado dia.

Aproveite ao máximo o programa e passe a observar o céu!

Referência de Listagem

ListagemArquivo
Listagem Únicaastron.bas

Listagem

  
1 '   Aguardando termino da digitacao

610 RETURN
Única

Games

Yie-Ar Kung Fu

Nota 4

Lute com mestres especialistas em campos específicos da arte do Kung Fu que atacam o nosso herói Lee usando bastões, fogo, correntes, estrelas mortais, etc.. Além dos duelos em que só haverá um único sobrevivente (que espera-se seja você), nosso herói deverá passar por diversos estágios nos quais enfrentará obstáculos como vasos, tijolos, tamancos atirados contra Lee.

Você também conhecerá o nome de seus oponentes que são Wang, Tao, Chen, Lang e Wu e, se não for ferido nenhuma vez receberá um bônus de 5000 pontos. Os gráficos, como é tradição da linha MSX, são excelentes eo som também é muito bom, apesar de que na segunda versão estes dois itens encontram seu auge. Este é mais um daqueles games que se recomenda aos aficcionados para terem em casa, sendo interessante, no entanto, a realização de uma pequena pesquisa, pois, já existem no país versões de alguns outros jogos como Yie-Ar Kung Fu II, Faixa Preta (J. Chan) e Kung Fu Master.

Dica: Para eliminar seus oponentes mantenha uma distância curta, mas, quanto ao Sr.Wu (o último mestre) mantenha-se distante e somente dê golpes aéreos (joystick para cima, com o botão sendo pressionado duas vezes).


Rollerball

Nota 4

O comedor insaciável de fichas dos fliperamas, agora na tela de sua televisão em uma versão especial de quatro andares, tendo como atração o caça-bônus, já que não oferece níqueis, mas, bonificações.

O objetivo deste jogo é fazer o máximo de pontos com uma única bola, escolhendo-se o nível de dificuldade, e ocasionando um aumento de velocidade. É um game inteligente e ativo, principalmente para os que querem jogar no nível "PRO" com a possibilidade de escolha do número de jogadores.

Em termos de gráficos, Rollerball é um dos melhores do gênero com ótimo acompanhamento sonoro, além de ser mais daqueles que não podem faltar na sua coleção.


Le Mans

Nota 4

Este é mais um game de corridas, onde você é um piloto que deverá completar um percurso de 10 voltas no tempo máximo de 24 minutos, concorrendo com outros 19 corredores.

No momento da largada, seu carro estará na sexta colocação e você só terá o trabalho de acelerar para que consiga alcançar melhores colocações, marcando pontos a cada ultrapassagem bem-sucedida, volta completa ou conseguindo-se uma volta de vantagem sobre os outros pilotos.. Mas, cuidado! Seu carro poderá ser penalizado, caso fique na lanterna. Por outro lado, se você conseguir chegar ao final da corrida com algum combustível na reserva, existe um prêmio em forma de bônus para premiar sua economia e habilidade. Boa sorte e boa corrida!


Referência de Listagem

ListagemArquivo
Yie-Ar kung Fuyear1.bas
Rollerballroller.bas
Le Manslemans.bas

Nenhum comentário:

Postar um comentário