Revista MSX Micro 03
Fevereiro de 1987
Programas: Duelo Espacial, Desenhista,
Jogos: Magical Tree, Highway Star, Comic Bakery, Thezeus
Errata
O programa Senha publicado em MSX Micro número 1, saiu com alguns erros.
(OC) Acredita que a errata saiu errada? Saiu como PRINT #1; onde o correto é PRINT #1,.
Duelo Espacial
Artigo Orignal: MSX Micro, Digitação: Wilson Pilon
Preparem-se para uma nova emoção nas profundezas do espaço. Cada jogador controla sua nave somente com o joystick numa tentativa de destruir seu oponente com uma arma laser que é acionada com o botão de tiro. Se você desaparecer na tela, aparecerá no lado oposto.
Há um tempo limite (60 segundos) para o combate e somente 20 cargas de laser para atirar. Se você usar todas as cargas, terá de fugir do adversário, senão poderá ser destruído.
Como alternativa, não pode se chocar com a outra nave, o que ocasiona a destruição de ambas sem nenhuma perda de pontos para ambos os lados.
No program, há um texto explicativo que aparecerá logo no início após o título. Ao iniciar o programa, você verá uma barra vermelha no alto da tela, que significa o tempo que você terá para jogar. Após o final do tempo, surgirá uma nova tela com os pontos marcados pelos dois jogadores. Durante o jogo, cada jogador é informado sobre quantas foram derrubadas. Sua posição deverá ser sempre à direita do seu oponente, já que os tiros do canhão laser só funcionam no sentido direita para esquerda.
(OC) Este programa está extremamente bugado na revista.
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem Única | duelo.bas |
Listagem
1 '************** 2 '* * 3 '* DUELO * 4 '* * 5 '* ESPACIAL * 6 '* * 7 '* MSX * 8 '* * 9 '************** 10 GOSUB 1870 20 T=251:P1=0:P2=0:B1=20:B2=20 30 SCREEN 2,2:STRIG(1)OFF:STRIG(2)OFF:SP RITE OFF 40 SPRITE$(0)=S$(0) 50 FOR A=1 TO 80 60 X=RND(1)*255:Y=RND(1)*191 70 PSET(X,Y) 80 NEXT 90 ON INTERVAL=15 GOSUB 590:INTERVAL OFF 100 ON SPRITE GOSUB 1600 110 ON STRIG GOSUB ,860,730 120 LINE (50,0)-(T-1,5),8,BF 130 SPRITE$(2)=S$(3) 140 PRESET(9,0):PRINT#1,"TEMPO" 150 PRESET (20,183):PRINT#1,"JOGADOR 1"; P1:PRESET(150,183):PRINT#1,"JOGADOR 2";P 2 160 Y1=RND(1)*191:X1=20:Y2=RND(1)*191:X2 =220 170 STRIG(1)ON:STRIG(2)ON:SPRITE ON:INTE RVAL ON 180 S1=STICK(1) 190 S2=STICK(2) 200 ON S1 GOSUB 330,340,350,360,370,380, 390,400 210 ON S2 GOSUB 410,490,500,510,520,530, 540,550 220 PUT SPRITE 0,(X1,Y1),7,0 230 PUT SPRITE 1,(X2,Y2),12,2 240 GOTO 180 250 : 260 : 270 : 280 : 290 ' MOVE JOGADOR 1 300 : 310 : 320 : 330 Y1=Y1-3:RETURN 340 SPRITE$(0)=S$(0):X1=X1+3:Y1=Y1-3:RET URN 350 SPRITE$(0)=S$(0):X1=X1+3:RETURN 360 SPRITE$(0)=S$(0):X1=X1+3:Y1=Y1+3:RET URN 370 Y1=Y1+3:RETURN 380 SPRITE$(0)=S$(1):Y1=Y1+3:X1=X1-3:RET URN 390 SPRITE$(0)=S$(1):X1=X1-3:RETURN 400 SPRITE$(0)=S$(1):X1=X1-3:Y1=Y1-3:RET URN 410 Y2=Y2-3:RETURN 420 : 430 : 440 : 450 ' MOVE JOGADOR 2 460 : 470 : 480 : 490 SPRITE$(2)=S$(2):X2=X2+3:Y2=Y2-3:RET URN 500 SPRITE$(2)=S$(2):X2=X2+3:RETURN 510 SPRITE$(2)=S$(2):X2=X2+3:Y2=Y2+3:RET URN 520 Y2=Y2+3:RETURN 530 SPRITE$(2)=S$(3):X2=X2-3:Y2=Y2+3:RET URN 540 SPRITE$(2)=S$(3):X2=X2-3:RETURN 550 SPRITE$(2)=S$(3):X2=X2-3:Y2=Y2-3:RET URN 560 : 570 : 580 : 590 'ATUALIZA TEMPO 600 : 610 : 620 : 630 IF T<50 THEN GOTO 1710 640 IF X1<0 THEN X1=255 ELSE IF X2<0 THE N X2=255 650 IF Y1<0 THEN Y1=191 ELSE IF Y2<0 THE N Y2=191 660 IF Y1>191 THEN Y1=0 ELSE IF Y2>191 T HEN Y2=0 670 IF X1>255 THEN X1=0 ELSE IF X2>255 T HEN X2=0 680 T=T-.5:LINE(T-.5,0)-(T,5),1,BF 690 RETURN 700 : 710 : 720 : 730 ' TIRO DO JOGADOR 1 740 : 750 : 760 : 770 IF B1=0 THEN RETURN ELSE B1=B1-1 780 IF SPRITE$(2)=S$(2) THEN GOSUB 1130: RETURN ELSE GOSUB 1140:RETURN 790 : 800 : 810 : 820 'TIRO DO JOGADOR 2 830 : 840 : 850 : 860 IF B2=0 THEN RETURN ELSE B2=B2-1 870 IF SPRITE$(0)=S$(0) THEN GOSUB 1050: RETURN ELSE GOSUB 1060:RETURN 880 RETURN 890 : 900 : 910 : 920 'DATA PARA SPRITES 930 : 940 DATA 0,128,192,224,240,254,195,97,48 ,31,63,127,192,128,0,0,0,0,0,0,0,0,0,128 ,192,254,192,128,0,0,0,0 950 DATA 0,0,0,0,0,0,0,1,3,127,3,1,0,0,0 ,0,0,1,3,7,15,127,195,134,12,248,252,254 ,3,1,0,0 960 DATA 0,0,48,152,204,102,51,31,15,31, 51,102,204,152,48,0,0,0,0,0,48,120,108,2 30,227,230,108,120,48,0,0,0 970 DATA 0,0,0,0,0,12,30,54,103,199,103, 54,30,12,0,0,0,0,6,12,25,51,102,204,248, 240,248,102,51,25,12,0 980 : 990 : 1000 : 1010 ' ROTINA DE TIRO 1020 'TIRO DO JOGADOR 1 1030 : 1040 : 1050 IF X1<2 AND (Y1=Y2 OR Y1>Y2-7 AND Y 1<Y2 OR Y1 > Y2 AND Y1<Y2+8) THEN LINE ( X1+16,Y1+10)-(X2+8,Y1+20),9:GOTO 1400 EL SE LINE (X1+15,Y1+10)-(255,Y1+10),9:LINE (X1+15,Y1+10)-(255,Y1+10),1:RETURN 1060 IF X1>X2 AND (Y1=Y2 OR Y1>Y2-7 AND Y1<Y2 OR Y1>Y2 AND Y1<Y2+8) THEN LINE (X 1,Y1+10)-(X2+B,Y1+10),9:GOTO 1400 ELSE L INE(X1,Y1+10)-(0,Y1+10),9:LINE (X1,Y1+10 )-(0,Y1+10),1:RETURN 1070 : 1080 : 1090 ' ROTINA DE 1100 'TIRO DO JOGADOR 2 1110 : 1120 : 1130 IF X2<X1 AND (Y2=Y1 OR Y2>Y1-8 A ND Y2<Y1 OR Y2>Y1 + 6) THEN LINE (X2+16, Y2+10)-(X1+8,Y2+10),9:GOTO 1210 ELSE LIN E(X2+15,Y2+10)-(255,Y2+10),1:RETURN 1140 IF X2>X1 AND (Y2=Y1 OR Y2>Y1 - 8 AN D Y2 <Y1 OR Y2>Y1 AND Y2<Y1+6) THEN LINE (X2,Y2+10)-(X1,Y2 + 10),9:GOTO 1210 ELS E LINE(X2,Y2+10)-(0,Y2+10),9:LINE (X2,Y2 +10)-(0,Y2+10),1:RETURN 1150 : 1160 : 1170 : 1180 'MORTE DO PRIMEIRO 1181 ' JOGADOR 1190 : 1200 : 1210 STRIG(1)OFF:INTERVAL OFF:SOUND 8,0: SOUND 7,55:SOUND 6,30:SOUND 12,50:SOUND 11,0:SOUND 13,1:SOUND 8,16 1220 FOR A=1 TO 10 1230 R=RND(1)*50 1240 LINE (X1+8,Y1+8)-STEP (R,-50),7 1250 R=RND(1)*50 1260 LINE (X1+8,Y1+8)-STEP(R,50),7 1270 R=RND(1)*50 1280 LINE(X1+8,Y1+8)-STEP(-R,-50),7 1290 R=RND(1)*50 1300 LINE (X1+8,Y1+8)-STEP(-R,50),7 1310 NEXT 1320 P2=P2+1:GOTO 30 1330 : 1340 : 1350 : 1360 ' MORTE DO SEGUNDO 1370 ' JOGADOR 1380 : 1390 : 1400 STRIG(2)OFF:INTERVAL OFF:SOUND 8,0: SOUND 7,55:SOUND 6,30:SOUND 12,50:SOUND 11,0:SOUND 13,1:SOUND 8,16 1410 FOR A=1 TO 10 1420 R=RND(1)*50 1430 LINE(X2+8,Y2+8)-STEP(R,50),12 1440 R=RND(1)*50 1450 LINE(X2+8,Y2+8)-STEP(-R,50),12 1460 R=RND(1)*50 1470 LINE(X2+8,Y2+8)-STEP(R,-50),12 1480 R=RND(1)*50 1490 LINE(X2+8,Y2+8)-STEP(-R,-50),12 1500 NEXT 1510 P1=P1+1:GOTO 30 1520 : 1530 : 1540 : 1550 ' COLISAO DO SPRITE 1560 : 1570 : 1580 : 1590 P2=P2+1:GOTO40 1600 STRIG(1)OFF:STRIG(2)OFF:INTERVAL OF F:SPRITE OFF:FOR A=1TO50 1610 CIRCLE(X1+16,Y1+16),A,9,,,1.3 1620 NEXT 1630 GOTO 30 1640 : 1650 : 1660 : 1670 'FORA DO TEMPO 1680 : 1690 : 1700 : 1710 STRIG(1)OFF:STRIG(2)OFF:INTERVAL OF F 1720 SOUND 7,&B111000:SOUND 8,0:SOUND 9, 0:SOUND 10,0:SOUND 13,1:SOUND 12,190:SOU ND 11,0 1730 SOUND 1,2:SOUND 0,100:SOUND 3,2:SOU ND 2,110:SOUND 5,2:SOUND 4,105:SOUND 6,1 1740 SOUND 8,16:SOUND 9,16:SOUND 10,16 1750 SCREEN 0:LOCATE 10,6:PRINT"TUDO EM CIMA!!" 1760 IF P1>P2 THEN PRINT:PRINT"VOCE VENC EU, JOGADOR 1 !" ELSE IF P2>P1 THEN PRIN T :PRINT "VOCE VENCEU, JOGADOR 2 !" ELSE IF P1=P2 THEN PRINT:PRINT"HOUVE EMPATE !" 1770 PRINT:PRINT"SEUS PONTOS, JOGADOR 1 :";P1:PRINT"SEUS PONTOS, JOGADOR 2 :";P2 1780 PRINT:PRINT "PRESS. QUALQUER TECLA P/ CONTINUAR" 1789 IF INKEY$<>"" THEN 1789 1790 IF INKEY$="" THEN 1790 ELSE RUN 1800 : 1810 : 1820 : 1830 : 1840 : 1850 : 1860 : 1870 COLOR 15,1,1:SCREEN 3,2:KEYOFF 1880 OPEN"grp:"AS#1 1890 R=RND(-TIME) 1900 DIM S$(3):DEFINT A-Z 1910 FOR A=0 TO 3 1920 FOR B=1 TO 32 1930 READ C:A$=A$+CHR$(C):NEXT 1940 SPRITE$(A)=A$:S$(A)=A$:A$="" 1950 NEXT 1960 COLOR 4:PRESET(50,20):PRINT #1,"DUE LO" 1970 COLOR 13:PRESET(10,100):PRINT#1,"ES PACIAL" 1980 SOUND 7,62 1990 PLAY"v13o4l8ed+ed+eo3bo4dco3a4.ceab 4.eg+o3bo4c4.o3eo4ed+ed+eo3bo4dco3a4.cea b4.eo4co3ba1" 2000 FOR A=0 TO 1900:NEXT 2010 FOR A=1 TO 180 2020 LINE(RND(1)*255,RND(1)*191)-STEP(10 ,10),RND(1)*14+1,BF 2030 NEXT 2040 SCREEN 0:WIDTH 40:COLOR 15 2050 PRINT "DUELO ESPACIAL":PRINT 2060 PRINT"O objetivo do jogo e simples: ":PRINT "Destrua o outro jogador antes que ele o destrua.":PRINT 2070 PRINT"Cada jogador possui movimento s para qualquer direcao, mas so po de atirar horizontalmente":PRINT 2080 PRINT"Ambos os jogadores tem 20 car gasde laser":PRINT 2090 PRINT"Sua nave pode ate sair da tel a e apare-cer no lado oposto.":PRINT 2100 PRINT"Caso haja colisao, os dois p er-dem ":PRINT 2110 PRINT"O tempo e mostrado por uma ba rra no al- to da tela.":PRINT 2120 PRINT"Press. qualquer tecla, e que venca o me-lhor!" 2129 IF INKEY$<>"" THEN 2129 2130 IF INKEY$="" THEN 2130 ELSE SCREEN 2 2140 RETURN
Desenhista
Artigo Original: MSX Micro, Digitação: Wilson Pilon
Utilize os excelentes recursos gráficos que este programa oferece além de todas as cores disponíveis do computador MSX. Há um cursor que permite a você o movimento por toda tela. Este cursor se torna um símbolo, representando o módulo do desenho, isto é, cada módulo possui seu próprio formato de cursor que aparece depois do cursor sair do módulo selecionado. Assim é possível saber o módulo que está sendo usado.
No início o programa pergunta se há alguma tela para carregar. Pressionando "N" ou "Não", ele entrará com a tela de desenho, pressionando F1, você pode mover o cursor sem desenhar. Para voltar ao desenho pressione F2. Selecione o módulo posicionando o cursor sobre o módulo escolhido e aperte a barra de espaço. O moviemento do cursor é feito pelas setas.
São cinco os módulos de desenho:
Preencher o interior da figura - (FILL) no painel.
No módulo círculo, pressione F3 para marcar o centro da circunferência a ser desenhada, com um ponto. Mova o cursor no sentido horizontal quanto mais você se afastar do ponto marcado, maior será o desenho. Pressione o círculo. Se quiser uma elipse, o raio de aspecto pode ser aumentado pressionando F1 ou F2. Observe o aspecto através de um módulo no lado inferior direito da tela, que exibe estas modificações.
Para desenhar uma linha, mova o cursor para seu início e pressione F3, depois pressione F4 quando chegar até o final da linha. Se não fizer isto, ou seja, mover o cursor horizontalmente, será desenhada apenas uma linha.
Para preencher o interior da figura, é necessário que seja a mesma cor e possua todos os lados conectados. Se não for, mova o cursor para o módulo de cor, encontrado no lado inferior direito da tela, ao lado do módulo de modificações. O módulo no início do programa, se encontra com a cor branca no seu interior. Mova o cursor e posicione sobre o centro do módulo e pressione a barra de espaço, cada vez que pressionar, será exibida uma nova cor. Quando encontrar a cor referente, saia do módulo e vá para o módulo encontrado ao lado esquerdo FILL. Após centralizar o cursor no módulo e pressionar a barra de espaço, vá para o interior da figura e pressione F1.
Para desenhar em várias cores diferentes, simplesmente vá ao módulo de cor (siga as instruções acima referente ao módulo) e após isto, continue normalmente o programa.
Para mudar a cor da tela, vá para o módulo de cor e siga as instruções anteriores.
Após isto, posicione o cursor sobre o módulo e pressione a barra de espaço. Ao sair do módulo, pressione F1 e toda a tela ficará na cor escolhida. É necessário que você saiba a localização dos módulos, pois a tela é totalmente preenchida pela nova cor.
Para retornar ao normal, pressione a barra de espaço fora dos módulos. Fazendo isto o cursor não terá nenhuma ligação com os módulos e você poderá desenhar randomicamente. F1 você move o cursor sem desenhar e F2 volta a desenhar.
O movimento do cursor é feito através das setas que se encontram no lado direito do seu micro.
Observação: Se você pressionar F3 quando o cursor estiver normal, limpará a tela.
Para salvar a tela, posicione o cursor sobre o módulo TPE e pressione a barra de espaço. Gradualmente sua informação da tela será armazenada para uso futuro. Bons desenhos!
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem Única | deseno.bas |
Listagem
50 CLS:FORP=1TO10 60 KEYOFF:PRINT" J[A[Y[A[R[T";:NEX TP:LOCATE 2,7 70 INPUT"ALGUM QUADRO P/ CARREGAR";LD$ 80 IF LD$="" OR LD$="NAO" OR LD$="N" THE N 110 90 GOSUB 2060 100 JOK=1:GOTO130 110 COLOR15,4,4:SCREEN2,0:COLOR15,4,4:PC =15:DIMZX$(5) 120 ' AREA DE GRAFICOS 130 GOSUB440 140 IFJOK=1THEN250ELSE150 150 ' 160 OPEN"grp:"AS#1 220 PSET(14,30):PRINT#1,"TECLAS." 225 FOR I=0 TO 400 226 NEXT 230 PLAY"o3a32g32a2gbfbf-20e60d8d-2d8r64 d4","o5a32g32a2g8f8f-20e60d8d-2d8r64d4" 240 LINE(7,5)-(200,70),4,BF:CLOSE#1:JOK= 1 250 XX=128:YY=96:PX=1 260 PUTSPRITE0,(128,96),PC,0 270 ON KEY GOSUB 940,960,1860 280 KEY(1)ON:KEY(2)ON:KEY(3)ON:DC=3 290 ONSTRIG GOSUB 980 300 STRIG(JK)ON 310 DR=STICK(JK):IFDR=0THEN290 320 ONDRGOTO330,340,350,360,370,380,390, 400 330 YY=YY-1:GOTO410 340 XX=XX+1:YY=YY-1:GOTO410 350 XX=XX+1:GOTO410 360 XX=XX+1:YY=YY+1:GOTO410 370 YY=YY+1:GOTO410 380 XX=XX-1:YY=YY+1:GOTO410 390 XX=XX-1:GOTO410 400 XX=XX-1:YY=YY-1 410 PUTSPRITE0,(XX,YY),PC,0 420 IFPX=1THENPSET(XX+5,YY+5),CL:GOTO310 430 GOTO310 440 ' 450 REM SCREEN2,0:COLOR15,4,4 460 AR=1.4 470 CIRCLE(225,174),8,9,,,AR 480 LINE(30,0)-(225,0),5:LINE(30,192)-(2 25,192),5:LINE(5,30)-(5,162),5:LINE(255, 30)-(255,162),5 490 A$="r3d4l3u4r3c9r2c15r3d2g2u4d2f3" 500 B$="c9u1r2c15u4r3d4u2l3r4c9r2d1c15u3 d4u1r3d1u4" 510 C$="r32d3o32u30" 520 D$="r3l3d4r4c9r2c15u5c9r3d1c15r3d2g2 u4d2f2" 530 E$="d4r3c9r3c15u5c9r3d1c15d4u4f4u4" 540 F$="r8d6l8u6" 550 G$="r3l2d6c9r4u1" 560 H$="r3d3l3u3d6c9r5u1c15u4d5r3l3u3r2l 2u3r3" 570 I$="r3l3d4u2r2c9r4u2c15d5c9r3u1c15r3 l3u5c9r5d1c15d4r3" 580 CL=15:C1=1 590 FORP=1TO164STEP32 600 LINE(P+14,165)-(P+14+30,185),9,BF 610 NEXTP 620 LINE(180,170)-(200,180),15,BF 630 LINE(209,164)-(242,185),7,B 640 DRAW"bm17,170xa$;xb$;" 650 DRAW"bm20,177xd$;" 660 DRAW"bm50,170xa$;xb$;" 670 DRAW"bm53,177xe$;" 680 DRAW"bm83,170xa$;xb$;" 690 DRAW"bm90,177xf$;" 700 DRAW"bm120,170xg$;c4r1u5l1c15xh$;" 710 DRAW"bm150,170xi$;" 720 ' 730 RESTORE:FORP=1TO8:READO 740 ZX$(1)=ZX$(1)+CHR$(O) 750 NEXTP:SPRITE$(0)=ZX$(1) 760 DATA195,129,0,28,20,28,129,195 770 ' 780 FORP=1TO8:READZ1 790 ZX$(2)=ZX$(2)+CHR$(Z1) 800 NEXTP:SPRITE$(1)=ZX$(2) 810 DATA195,195,36,24,24,36,195,195 820 ' 830 FORP=1TO8:READZ2 840 ZX$(3)=ZX$(3)+CHR$(Z2) 850 NEXTP:SPRITE$(2)=ZX$(3) 860 DATA8,8,8,8,247,8,8,8 870 ' 880 FORI=1TO8:READZ3:ZX$(4)=ZX$(4)+CHR$( Z3):NEXTI:SPRITE$(3)=ZX$(4) 890 DATA255,129,129,157,149,157,129,255 900 ' 910 FORY=1TO8:READZ4:V$=V$+CHR$(Z4):NEXT Y:SPRITE$(4)=V$ 920 DATA255,129,255,3,15,24,24,24 930 RETURN 940 ' 950 PX=0:YY=YY-1:XX=XX-1:PC=1:RETURN360 960 ' 970 PX=1:YY=YY-1:XX=XX-1:PC=15:RETURN360 980 ' 990 ' 1000 IF(XX>15ANDXX<45)AND(YY>165ANDYY<18 5)THENSN=1:GOSUB1920:GOTO1200:RETURN270 1010 ' 1020 IF(XX>47ANDXX<77)AND(YY>165ANDYY<18 5)THENID=0:SN=2:GOSUB1920:KEY(1)OFF:KEY( 2)OFF:KEY(5)OFF:KEY(3)ON:KEY(4)ON:GOTO15 40:RETURN270 1030 ' 1040 IF(XX>79ANDXX<109)AND(YY>165ANDYY<1 85)THENID=1:SN=3:GOSUB1920:KEY(1)OFF:KEY (2)OFF:KEY(5)OFF:KEY(3)ON:KEY(4)ON:GOTO1 540:RETURN270 1050 ' 1060 IF(XX>142ANDXX<172)AND(YY>165ANDYY< 185)THENFL=1:SN=4:GOSUB1920:FORK=2TO5:KE Y(K)OFF:NEXTK:KEY(1)ON:GOTO1540:RETURN27 0 1080 STRIG(JK)ON 1090 IF(XX>175ANDXX<205)AND(YY>165ANDYY< 185)THEN1100ELSE1150 1100 ' 1110 BEEP:CL=CL+1:IFCL>15THENCL=1 1120 LINE(180,170)-(200,180),CL,BF 1130 LINE(205,165)-(205,185),9 1140 ONDCGOTO1200,1550,270 1150 ' 1160 IF(XX>111 AND XX<141)AND(YY>165ANDY Y<185)THENGOSUB1950 1170 ' 1180 FORK=1TO5:KEY(K)OFF:NEXT K 1190 FORK=1TO5:KEY(K)OFF:NEXTK:FL=0:PRES ET(CX,CY):PLAY"o3b32","o4c32","o4e32":PU TSPRITE0,(XX,YY),PC,0:RETURN270 1200 'ROTINA DO CIRCULO 1210 DC=1:STRIG(JK)ON:PRESET(CX,CY) 1220 ONKEYGOSUB1440,1490,1370,1380 1230 KEY(1)ON:KEY(2)ON:KEY(3)ON:KEY(4)ON 1240 DR=STICK(JK):IFDR=0THEN1240ELSE1250 1250 ONDRGOTO1260,1270,1280,1290,1300,13 10,1320,1330 1260 YY=YY-1:GOTO1340 1270 XX=XX+1:YY=YY-1:GOTO1340 1280 XX=XX+1:GOTO1340 1290 XX=XX+1:YY=YY+1:GOTO1340 1300 YY=YY+1:GOTO1340 1310 XX=XX-1:YY=YY+1:GOTO1340 1320 XX=XX-1:GOTO1340 1330 XX=XX-1:YY=YY-1 1340 IFPOINT(XX+4,YY+5)=1THENSK=15ELSESK =1 1350 PUTSPRITE0,(XX,YY),SK,1 1360 GOTO1240 1370 PRESET(CX,CY):CX=XX+4:CY=YY+5:PSET( CX,CY),1:RETURN1240 1380 'DESENHA CIRCULO 1400 CIRCLE(CX,CY),ABS(XX+4-CX),CL,,,AR 1410 RETURN1240 1420 ' 1440 ' 1450 AR=AR-.1:IFAR<.1THENAR=1.4ELSE1460 1460 LINE(210,166)-(241,182),4,BF 1470 CIRCLE(225,174),8,9,,,AR 1480 RETURN1240 1490 ' 1500 AR=AR+.1:IFAR>6THENAR=1.4ELSE1510 1510 LINE(210,166)-(241,182),4,BF 1520 CIRCLE(225,174),8,9,,,AR 1530 RETURN1240 1540 ' 1550 DC=2:STRIG(0)ON:PRESET(CX,CY) 1560 ONKEYGOSUB1700,,1740,1770 1570 DR=STICK(JK):IFDR=0THEN1570 1580 ONDRGOTO1590,1600,1610,1620,1630,16 40,1650,1660 1590 YY=YY-1:GOTO1670 1600 XX=XX+1:YY=YY-1:GOTO1670 1610 XX=XX+1:GOTO1670 1620 XX=XX+1:YY=YY+1:GOTO1670 1630 YY=YY+1:GOTO1670 1640 XX=XX-1:YY=YY+1:GOTO1670 1650 XX=XX-1:GOTO1670 1660 XX=XX-1:YY=YY-1 1670 IFPOINT(XX+4,YY+5)=1THENSK=15ELSESK =1 1680 PUTSPRITE0,(XX,YY),SK,SN 1690 GOTO1570 1700 ' 1710 IFFL<>1THENRETURN1580ELSE1720 1720 PAINT(XX+4,YY+5),CL,CL 1730 RETURN1580 1740 ' 1750 PRESET(MX,MY):MX=XX+4:MY=YY+5:PSET( MX,MY),1 1760 RETURN1570 1770 'DESENHA LINHA OU 1775 ' QUADRADO 1780 IFID=1THEN1820ELSE1790 1790 'LINHA 1800 PRESET(MX,MY):LINE(MX,MY)-(XX+4,YY+ 5),CL:XX=XX:YY=YY:JT=0 1810 RETURN1680 1820 'QUADRADO 1830 PRESET(MX,MY):LX=XX+4:LY=XX+5:LINE( MX,MY)-(XX+4,YY+5),CL,B:XX=XX:YY=YY:JT=0 1840 RETURN1680 1850 'ROTINA DE TROCA 1855 ' DE COR 1860 ' REINICIO DO 1865 ' DO PROGRAMA 1870 CLS:RESTORE 1880 FORM=0TO5 1890 SPRITE$(M)=" " 1900 NEXTM 1910 ERASEZX$:GOTO110 1920 ' 1930 PLAY"v5t120o6c18c18d18c7a7f7" 1940 RETURN 1950 'ARMAZENA QUADROS 1960 ' 1970 LINE(5,0)-(255,192),4,B 1980 BEEP 1990 OPEN"art"FOROUTPUTAS#1 2000 FORP=0TO4704STEP256 2010 FORC=PTOP+256 2020 PRINT#1,VPEEK(C);",";VPEEK(8192+C) 2030 NEXTC,P 2040 CLOSE#1 2050 RETURN 2060 ' CARREGA DA FITA 2070 COLOR15,4,4:SCREEN2 2080 OPEN"art" FOR INPUT AS #1 2090 FORP=0TO4704STEP256 2100 FORC=PTOP+256 2110 INPUT#1,VP,VC 2120 VPOKEC,VP:VPOKE8192+C,VC 2130 NEXTC,P 2140 CLOSE#1 2150 RETURN:' O FIM!!
Software
Wordstar em cartão ROM para MSX
Inglaterra - A versão doméstica do famoso processador de textos da Micropro já está sendo comercializada em cartão ROM para a linha MSX pela softwarehouse Cumana. O Poket Wordstar já se encontra à disposição dos usuários ingleses desde o início do ano e, faz parte de um projeto da Micropro que também inclui, para breve, o lançamento de um outro cartão, capaz de expandir a memória RAM dos micros MSX. Essa sofisticada tecnologia tem, no entanto, uma aparência muito simples lembrando mais um cartão de crédito, já que os chips vêm encapsulados por uma fina camada de plástico endurecido.
(OC) Apesar de existirem evidencias de que existiu esta versão do Pocket Wordstar para MSX, não encontrei nada além de algumas citações na MSX Computing inglesa, nada de ROM. Referências a versões para ZX-Spectrum e CPC também foram encontradas.
I Ching
Produção Independente, para MSX, Apresentação: Fita
Se chineses da era pré-cristã imaginassem que nos dias atuais o computador substituiria o mais conhecido oráculo de adivinhação e profecia, certamente o idealizariam de forma que a elaboração do software não desse tanto trabalho para ser programado. Mas se levarmos em conta que I Ching foi escrito na China nos idos de mais ou menos 3000 a.C., e ainda hoje é considerado como o mais antigo dos livros, onde se concentra toda a sabedoria que a cultura chinesa desenvolveu e acumulou durante vários séculos, podemos dizer que está tudo empatado e que valeu a pena.
O método de I Ching pelo computador consiste em se formular mentalmente uma pergunta, para em seguida pressionarmos RETURN para que os dados (aqui são dados mesmo, e não instruções para computador) octogonais sejam lançados. Não veremos os dados, mas ouviremos o som deles rolando, então aparece na tela a resposta obtida pelo hexagrama que está contido na memória da máquina, de acordo com o "resultado" dos dados.
Em sendo assim eliminamos as cansativas consultas a tabelas, códigos, etc..
As "respostas" serão sempre em forma de toques, vislumbres verbais, muito mais uma sábia e delicada orientação do que uma "resposta" propriamente falando, por isto não valem a pena aquelas perguntas que exijam um sim ou não como resposta. Um oráculo é para ser consultado, nunca inquirido.
Só para ilustrar, perguntamos qual seria o melhor caminho para a vida, e a "resposta" está abaixo:
A Fraternidade: A união e a confraternização trazem sucesso. Procurando a companhia dos outros, aumentam as oportunidades de se realizar coisas importantes. Deixando de lado os interesses individuais, os mal-entendidos serão superados.
Referência de Listagem
Listagem | Arquivo |
---|---|
i-Ching | i-ching.bas |
Wordstar (MSX-DOS) | start.bat |
Games
Magical Tree
Nota 5
Este é um jogo em que o nosso herói, um guerreiro apache, tem como objetivo vencer uma escalada de uma árvore de 2000 metros de altura e, ao mesmo tempo enfrentar obstáculos como corujas, bichos perturbadores, relâmpagos e crisálidas. Mas, para consolo do guerreiro apache existem várias maneiras de se fazer pontos recolhendo-se os frutos da árvore, os cocares, as pedras preciosas, as facas, flechas e, com a morte da coruja e da crisálida. Além disso, ainda há uma bonificação ao se passar de estágio, o que é representado por meio de portais gigantes. O games consiste, basicamente, de dois desafios principais: vencer os animais que se colocam no caminho do guerreiro e, depois dos portais, escapar aos relâmpagos que são fatais. Existe ainda a simulação da sensação de dia e noite, dando uma boa aparência de realidade. Porém, o principal prazer consiste em matar a curiosidade, descobrindo o que é que existe no topo da gigantesca árvore. É nada mais, nada menos, que um forte apache com um chefe de tribo e uma índia, que se encontram na muralha do forte.
Dica: Depois de pegar as pedras preciosas, desça um pouco, fazendo o buraco mágico sair de sua visão e, então, volte pois os frutos estarão novamente no mesmo lugar, existindo a possibilidade de se repetir o processo.
Highway Star
Nota 4
Uma pacata cidadezinha é transformada, de repente, em pista de corrida. Seu carro, chamado Tomatinho, tem que evitar uma turma do barulho que minou certos pontos da pequena cidade e, com seus tratores tentarão esmagá-lo. Para manter seu carro, você terá ao seu dispor postos de gasolina para evitar que seu motor venha a fundir e explodir. O gráfico do jogo é excepcionalmente detalhado, sendo ótimo, principalmente se você é fã de Rally-X dos fliperamas. Corrida Maluca é muito bom para testar seu desempenho. Além disso, óleos lubrificantes e sacos de dinheiro estarão espalhados pela cidade. A cidadezinha não é composta apenas por ruas, mas, também por viadutos e, nesse aspecto, o detalhe impressiona.
Seu objetivo real é pegar as bandeirinhas brancas que se encontram pela cidade, sendo mostradas, no mapa ao lado, uma de cada vez. Estas fazem um total de cinco necessárias para a passagem de fase e, são represetnadas por um ponto branco, enquanto você é representado por um ponto vermelho. Existe ainda um indicador de combustível, no qual deve-se ficar de olho, para não dizer depois que o carro explodiu sem motivo. Dica: Depois de pegar a quarta bandeirinha, abasteça bem o carro e faça o caminho mais curto para a bandeirinha final, quando então fará bastante pontos pois, o combustível restante também conta ao seu favor. Outra dica: Decore o caminho mais fácil até as bandeirinhas em cada fase, se possível, porque elas estarão sempre nos mesmos lugares. Isto evitará muitas confusões e choques com os carros do comando negro.
Comic Bakery
Nota 3
Padeiro Maluco é um jogo que não pode ser considerado muito interessante, mesmo contando com um gráfico que apesar de simples pode ser avaliado como bom. O objetivo deste game é manter ligadas as chaves de força das esteiras do forno de pões e, algumas vezes, botar um guaxinim para dormir com um tiro de soporífero, a única arma à disposição do padeiro. O nosso personagem ainda tem, também, uma outra opção: a de dar pulos para salvar-se. Em cima do vídeo, aparece uma planta - em tamanho reduzido - indicando se a esteira desligou, a posição do padeiro em relação à esteira e, até um caminhãozinho que está do lado de fora, que quando termina o tempo do padeiro, parte para entregar a mercadoria. O maior inimigo, neste jogo, é o guaxinim que não só desliga as esteiras, destrói o pão ou outro produto, como também pode tirar o padeiro de ação, diminuindo suas vidas de reserva. Além dele, o segundo inimigo é o tempo, que corre.
O game é composto por dois cenários, sendo o primeiro a padaria e o segundo, a lanchonete onde existem quatro crianças esperando, no mínimo, quatro especialidades do padeiro. Se estas forem em número inferior e, você ainda tiver vidas extras, perderá uma para poder ir para a segunda fase. Mas, caso não tenha mais nenhuma vida extra, o jogo estará terminado para você. A cada passagem de fase, tome cuidado, pois os guaxinins ficam mais espertos, driblando seus tiros de soporífero e, em caso de terminar sua munição, a única opção será a fuga. Quanto a lanchonete, o padeiro aparece entrando com um carrinho de pães, e entrega quatro às crianças, sendo o restante convertido em pontos. Se você conseguir mais de cinco, surgirá uma coruja para parabenizá-lo pelo cumprimento da tarefa, além de ganhar um "nice" (bônus). Detalhe: repare nos pés das crianças, porque elas ficam balançando debaixo da mesa.
O som é razoável, mas não existe uma boa resposta dos tiros para cima. Importante: não dispare feito um louco, já que a cada tiro, o soporífero enfraquece, precisando de tempo para voltar à potência anterior. Existe ainda um indicador de quantidade de munição, que são azuis na parte de cima do vídeo.
Dica: Fique longe da fornalha que esteja com uma boa quantidade de pães, já que os guaxinins em cima das esteiras só destróem os pães se você estiver na mesma tela, mas, não se esqueça de verificar as esteiras.
Theseus
Nota 4
Um excelente "action game". Neste jogo o autor conseguiu, usando linguagem de máquina, unir gráficos bem elaborados com vários recursos sonoros, obtendo uma dosagem de diversão e emoção muito equilibrada.
O objetivo de nosso herói fica em conseguir pegar uma chave, um anel e abrir o acesso para entrar e encontrar sua namorada. Nós vamos ajudá-lo, mas só temos um guerreiro por cada jogo, e é preciso muito cuidado porque dificuldade é o que não falta.
Para começar, o placar, além do score e do tempo (em segundos), marca a capacidade de vida de Theseus, que começa em 600, e em qualquer vacilo, já era. Os perigos são os cubos (brancos, amarelos, azuis e vermelhos), as mortais piscinas de "transículas" águas vermelhas e os abomináveis insetos gigantes verdes. Qualquer encostadinha ou mergulho num destes obstáculos é a morte, pois em duas ínfimas frações de segundos, a capacidade de vida vai a zero.
A única arma do nosso herói é seu salto superpotente, que alcança todas as subidas e descidas exigidas pelos labirintos.
Todos os objetos recolhidos, anel, chave, bem como bandeirinhas amarelas, dão pontos. A única exceção fica para as estrelas brancas de seis pontas, que dão mais 127 números de vida para Theseus todas as vezes que for alcançada. E quando passamos de uma para outra fase, ganhamos mais 100 números.
Com o tempo, ocorre o inverso de muitos jogos, pois já que só temos uma vida, conforme subimos de nível (e consequentemente de dificuldade), o tempo aumenta. O score máximo é 99.999 pontos, o que é muito difícil, pois as dificuldades são diversas.
Merece destauqe a morte de Theseus, quando esta ocorre é cheia de charme. Quando ele vai caindo, seu boné fica no ar, para em seugida cair em cima dele.
Os controles são: Joystick = movimenta o boneco com a haste indo para a direita ou esquerda, empurrando para cima, acontece o salto ou "high jump". Teclado = as setas movimentam e "space" dá o salto.
Referência de Listagem
Listagem | Arquivo |
---|---|
Magical Tree | magitree.bas |
Highway Star | hwaystar.bas |
Comic Bakery | cbakery.bas |
Theseus | theseus.rom |
Nenhum comentário:
Postar um comentário