Revista MSX Micro 05
1986
Programas: Sistema de Manutenção de Veículos, Arquivos Domésticos
Jogos: Antartic Adventure, Sky Jaguar, Disk Warrior.
Sistema de Manutenção de Veículos
Artigo Orignal: MSX Micro, Digitação: Wilson Pilon
Muitas vezes por falta de controle das peças, você se encontra em sérias dificuldades com seu carro no meio de uma viagem, no caminho para o trabalho ou em passeio com a família no fim de semana.
Algumas peças de automóveis necessitam, periodicamente ser trocadas após certo tempo de uso como uma medida de precaução e para maior segurança no uso do veículo.
Com o sistema de manutenção de veículos, você terá um banco de dados com as peças, vida útil, quilometragem inicial e atual do carro. A partir daí, o programa gerenciará os dados e fornecerá uma listagem de todos os componentes que estiverem com a vida útil vencida. Além disso, uma revisão geral de tempos em tempos é aconselhável e, para isso existe um plano de revisão que avisa quando o carro alcança a quilometragem adequada. O programa tem um menu principal com as seguintes opções:
Deve-se, então, entrar com a quilometragem atual, com as peças e suas respectivas quilometragens e, se ainda quiser, criar um plano de revisão. Em seguida, grave o arquivo na fita. Quando rodar novamente, troque a quilometragem atual e, caso o plano de revisão tenha sido ultrapassado (aparecerá uma mensagem no final da opção 5), atualize-o. Desta forma, de maneira simples e confiável, você terá uma relação de todas as peças que estão a ponto de lhe deixar na mão. O sistema de manutenção de veículos permite a inclusão de 150 peças do seu carro.
Estrutura
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem Única | veicul.bas |
Listagem
1 ' ************************ 2 ' ** ** 3 ' ** Manutencao ** 4 ' ** de Veiculos ** 5 ' ** ** 6 ' ** Wagner Ramos dos ** 7 ' ** ** 8 ' ** Santos ** 9 REM ************************ 10 DIM A%(150,30) 12 KEY OFF 20 A%(1,0)=0:I=0 22 GOSUB 50005:SCREEN 0 25 GOTO 1000 500 R$="":INPUT R$ 550 RETURN 600 PRINT"* *" 610 RETURN 1000 COLOR 1,10:CLS 1005 LOCATE 0,1:PRINT STRING$(17,"*");"Menu";STRING$(17,"*") 1007 LOCATE 0,2:GOSUB 600 1010 LOCATE 0,3:PRINT"* 1. Entrada da Km Atual *" 1020 LOCATE 0,4:GOSUB 600 1025 LOCATE 0,5:PRINT"* 2. Inclusao de Pecas *" 1030 LOCATE 0,6:GOSUB 600 1032 LOCATE 0,7:PRINT "* 3. Busca e Cancelamento *" 1034 LOCATE 0,8:GOSUB 600 1036 LOCATE 0,9:PRINT "* 4. Plano de Revisao *" 1038 LOCATE 0,10:GOSUB 600 1040 LOCATE 0,11:PRINT "* 5. Listagem dos Componentes *" 1041 LOCATE 0,12:PRINT"* Vencidos *" 1042 LOCATE 0,13:GOSUB 600 1044 LOCATE 0,14:PRINT "* 6. Gravacao do Arquivo *" 1046 LOCATE 0,15:GOSUB 600 1047 LOCATE 0,16:GOSUB 600 1048 LOCATE 0,17:GOSUB 600 1049 LOCATE 8,17:PRINT"Tecle a sua opcao" 1050 LOCATE 0,18:GOSUB 600 1060 LOCATE 0,19:PRINT STRING$(38,"*") 1070 LOCATE 26,17:GOSUB 500 1080 ON VAL (R$) GOSUB 2000,3000,4000,5000,6000,7000 1100 GOTO1000 2000 REM **km atual** 2001 COLOR 15,5 2010 CLS:LOCATE 0,12:PRINT "Confirma mudanca de KM atual(s/n) ";:GOSUB500 2011 IF R$="N" THEN RETURN 1000 2012 IF R$="S" THEN 2015 2013 GOSUB 2010 2015 CLS:LOCATE 0,9:PRINT "Entre com a KM atual";:GOSUB 500 2016 IF LEN (R$)>6 THEN 2015 2017 X=1:K=6:I=0 2018 GOSUB 18000 2020 PRINT:PRINT:PRINT"A KM esta correta (s/n)";:GOSUB 500:PRINTR$:IF R$="S" THEN RETURN 2030 GOTO 2015 3000 REM **Inclusao de Pecas** 3001 COLOR 5,15 3005 CLS:LOCATE 0,12:PRINT"Confirma inclusao de pecas (S/N) ";:GOSUB 500:IF R$<> "S" THEN RETURN 3010 CLS 3012 IF A%(1,0)=150 THEN GOSUB 50000:RETURN 3015 I=A%(1,0)+1:A%(1,0)=I 3080 REM 3100 GOSUB 3500 3200 GOSUB 3700 3300 GOSUB 3800 3450 LOCATE 5,19:PRINT"Outro lancamento (S/N) ";:GOSUB500 3452 IF R$="S" THEN GOTO 3460 3455 GOSUB 3950:RETURN 3460 I=I+1:A%(1,0)=I 3470 GOTO 3100 3500 REM **Definicao da Peca** 3510 CLS:PRINT"Entre com a descricao:":GOSUB500 3512 IF LEN (R$)>18 THEN CLS:GOTO 3510 3515 X=1:K=18 3520 GOSUB18000 3530 RETURN 3700 REM **Vida Util** 3710 LOCATE 0,6:PRINT"Entre com a vida util da peca:":GOSUB 500 3712 IF LEN (R$)>6 THEN CLS:GOTO 3710 3720 X=19:K=24:GOSUB18000 3730 RETURN 3800 REM**km Inicial** 3810 LOCATE 0,12:PRINT"Entre com a KM inicial:":GOSUB 500 3812 IF LEN (R$)>6 THEN CLS:GOTO 3810 3820 X=25:K=30:GOSUB18000:RETURN 3950 REM**Tela da Ficha** 3955 CLS:LOCATE 14,0:PRINT "Ficha ";I 3956 PRINT 3970 X=1:K=18:GOSUB 19000:PRINT:PRINT"Peca -> ";C$ 3980 X=19:K=24:GOSUB 19000:PRINT:PRINT"Vida util :";C$ 3982 X=25:K=30:GOSUB 19000:PRINT:PRINT"KM Inicial :";C$ 3983 BT=I 3985 X=1:K=6:I=0:GOSUB19000:PRINT:PRINT"KM Atual :";C$ 3986 I=BT 3987 IF AC=1 THEN LOCATE 0,18:PRINT"Press. <return> p/ continuar":GOSUB 500:RETURN 3990 LOCATE 0,19:PRINT" 'C' - Cancelar 'F' - FIM" 3992 LOCATE 0,20:PRINT" 'A'- Avancar 'V'- Voltar" 3995 LOCATE 17,23:GOSUB 500:IF R$="C" THEN GOSUB 30000 3996 IF R$="F" THEN RETURN 3997 IF R$="A" THEN GOSUB 40100 3998 IF R$="V" THEN GOSUB 40000 3999 GOTO 3950 4000 REM **Busca e Cancelamento** 4001 COLOR 1,7 4010 CLS:LOCATE 0,6:PRINT"Entre com a peca:":GOSUB 500 4100 FOR I=1 TO A%(1,0):X=1:K=18 4120 GOSUB 19000:IF MID$(C$,1,LEN(R$))=R$ THEN 4160 4130 NEXT I 4140 CLS:LOCATE 10,12:PRINT"Peca nao encontrada":LOCATE 4,20:PRINT"Press. <return> p/ continuar";:GOSUB 500:RETURN 4160 CLS:GOSUB3950:RETURN 5000 REM **Plano de Revisao** 5005 COLOR 15,12 5010 CLS 5015 PRINT 5020 LOCATE 0,10:PRINT"Deseja fazer um plano de revisao (S/N)?":LOCATE 17,11:GOSUB 500:IF R$<>"S" THEN RETURN 5030 CLS:PRINT:PRINT"Em que intervalo de KM devera ser":PRINT"feita a revisao?":GOSUB 500 5032 IF LEN (R$)>6 THEN 5030 5035 X=7:K=12:I=0 5040 GOSUB 18000 5050 PRINT:PRINT:PRINT"Qual a KM inicial do plano de revisao?":GOSUB 500 5052 IF LEN (R$)>6 THEN 5050 5055 X=13:K=18:I=0 5060 GOSUB 18000 5070 RETURN 6000 REM **Listagem dos componentes estourados** 6005 X=1:K=6:I=0:GOSUB 19000:KA=VAL(C$) 6010 FOR I=1 TO A%(1,0) 6020 X=25:K=30:GOSUB19000:KI=VAL(C$) 6025 X=19:K=24:GOSUB19000:VU=VAL(C4$) 6030 IF KA=KI>=VU THEN AC=1:GOSUB3950 6035 AC=0 6040 NEXT I 6045 X=13:K=18:I=0 6050 GOSUB 19000:KIPR=VAL(C$) 6055 X=7:K=12:I=0 6060 GOSUB 19000:PR=VAL(C$) 6065 IF KA=KIPR>=PR THEN CLS:LOCATE 6,10:PRINT"Atencao!!! Revisao geral":LOCATE 0,21:PRINT"Press. <return> p/continuar":GOSUB 500 6400 CLS:LOCATE 0,10:PRINT"Caso alguma peca seja trocada":PRINT:PRINT"lembre-se de cancelar a ficha":PRINT:PRINT:PRINT"Press. <return> p/continuar":GOSUB 500:RETURN 7000 REM***Gravacao** 7010 CLS:LOCATE 0,10:PRINT"Prepare o gravador e press.<return>":PRINT"ou entao press. <c> para desistir e":PRINT"voltar ao menu":GOSUB 500:IF R$<>""THEN RETURN 7020 CLS:LOCATE 11,10:PRINT"Gravando registros" 7030 CSAVE"manut" 7040 RETURN 1000 18000 REM**string para numero** 18010 FOR J=X TO K 18020 IF MID$(R$,J-X+1,1)="" THEN 18050 18030 A%(I,J)=ASC(MID$(R$,J-X+1,1)) 18050 NEXT J 18060 RETURN 19000 REM ** Numero para String ** 19005 C$="" 19010 FOR J=X TO K 19020 C$=C$+CHR$(A%(I,J)) 19030 NEXT J 19040 RETURN 30000 REM ** Cancelamento ** 30005 CLS:LOCATE 11,10:PRINT"cancelando a ficha" 30010 A$(1,0)=A%(1,0)-1:FOR F=1 TO 40:A%(I,F)=0:NEXT F:FOR X=I TO A%(1,0) + 1:FOR GG=1 TO 30:A%(X,GG)=A%(X+1,GG):NEXT GG:NEXT X:RETURN 40000 REM ** Voltar ** 40005 IF I=1 THEN RETURN 40010 I=I - 1 40020 RETURN 40100 REM ** Avancar ** 40110 IF I >= A%(1,0) THEN RETURN 41120 I=I+1 41130 RETURN 50000 CLS:COLOR 1,12:LOCATE 2,11:PRINT"Arquivo cheio. Press. <return>";:GOSUB 500:RETURN 50005 SCREEN 2:COLOR 15,4,7 50006 OPEN "grp:"FOR OUTPUT AS #1 50010 CLS 51000 PLAY "afdcef5d-cfga1l4" 51100 PRESET(38,90) 51110 PRINT#1,"Manutencao de veiculos" 52000 FOR I=1 TO 4000 52100 NEXT 53000 RETURN
Arquivo Doméstico
Artigo Original: MSX Micro, Digitação: Wilson Pilon
O seu livro de endereços está uma bagunça? Você perdeu números de telefone? Esqueceu datas de aniversário? Este versátil sistema de armazenamento permitirá organizar todas as informações importantes que você necessita.
O arquivo doméstico permite a criação e atualização de arquivos, como lista de nomes e números de telefones, aniversários e datas importantes, receitas e ingredientes, agenda, etc. O programa também permite o acesso a cada registro ou então, listar o arquivo inteiro. Além disso, será exibido um menu para seleção de uma das oito funções:
Linhas
Referência de Listagem
Listagem | Arquivo |
---|---|
Listagem Única | arquivo.bas |
Listagem
1 REM ***************** 2 REM * * 3 REM * ARQUIVO * 4 REM * * 5 REM * DOMESTICO * 6 REM * * 7 REM * -MSX- * 8 REM * * 9 REM ***************** 100 REM 110 REM 120 REM 130 REM 140 REM 150 REM 160 CLEAR3000 170 BEEP 180 DIMR$(500),N$(500) 190 COLOR1,15 200 CLS 205 ' 210 REM Imprime Menu 215 ' 220 LOCATE9,1 230 PRINT"Arquivo Domestico" 240 LOCATE0,4 250 PRINT"1. Inserir novos registros ":PRINT 260 PRINT"2. Corrigir registros":PRINT 270 PRINT"3. Exibir registros na tela ":PRINT 280 PRINT"4. Listar registros na impressora ":PRINT 290 PRINT"5. Procurar registros ":PRINT 300 PRINT"6. Ordenar registros ":PRINT 310 PRINT"7. Carregar da fita ":PRINT 320 PRINT"8. Salvar para a fita ":PRINT 330 LOCATE0,21 340 PRINT"Selecione numero da opcao" 350 REM 360 A$=INKEY$ 370 IFA$=""THEN360 380 ' 390 IFA$<"1"ORA$>"8"THEN360 400 ONVAL(A$)GOTO420,610,1210,1330,1440,1860,1980,2120 405 ' 410 REM Novo Registro 415 ' 420 CLS 430 LOCATE0,6 440 INPUT"Este e um novo arquivo ";Q$ 450 IFLEFT$(Q$,1)="s"ORLEFT$(Q$,1)="S"THENJ=1ELSEJ=J+1 460 CLS 470 LOCATE0,3 480 PRINT" Entre com os registros - tecle 'FIM' para terminar" 490 PRINT:PRINT 500 LINEINPUT"Nome do registro? ";N$(J) 510 IFN$(J)="FIM"ORN$(J)="fim"THEN580 520 PRINT 530 LINEINPUT"Informacao ? ";R$(J) 540 IFR$(J)="FIM"ORR$(J)="fim"THEN580 550 PRINT:PRINT 560 J=J+1 570 GOTO500 580 J=J-1 590 GOTO200 595 ' 600 REM Corrigir Registros 605 ' 610 CLS 620 N=0 630 LOCATE0,3 640 INPUT"Nome do registro ";T$ 650 PRINT:PRINT 660 M=1 670 IFT$=N$(M)THEN N=M:GOTO740 680 M=M+1 690 IF M <= J THEN670 700 IFN<>0THEN720 710 PRINT"Nome do registro ";T$;" nao encontrado" 720 GOSUB2290 730 GOTO200 740 PRINTN$(N):PRINT 750 PRINTR$(N):PRINT 760 INPUT"Este registro ";Q$ 770 IFLEFT$(Q$,1)="S"ORLEFT$(Q$,1)="s"THEN800 780 GOTO680 785 ' 790 REM Menu da correcao de registro 795 ' 800 CLS 810 LOCATE0,4 820 PRINT"1. Deleta registro ":PRINT 830 PRINT"2. Corrige nome do registro ":PRINT 840 PRINT"3. Corrige informacao ":PRINT 850 PRINT"4. Adiciona informacao ":PRINT 860 LOCATE0,14 870 PRINT"Selecione opcao... ":PRINT 880 A$=INKEY$ 890 IFA$=""THEN880 900 BEEP 910 IFA$"1"ORA$>"4"THEN880 920 ONVAL(A$)GOTO940,1050,1100,1150 930 REM deleta registro 940 FORM=NTOJ 950 N$(M)=N$(M+1) 960 R$(M)=R$(M+1) 970 NEXTM 980 N$(J)="" 990 R$(J)="" 1000 J=J-1 1010 PRINT"Registro deletado" 1020 GOSUB2290 1030 GOTO200 1040 REM Corrige Nome 1050 INPUT"Novo nome ";N$(N) 1060 PRINT:PRINT"Nome trocado " 1070 GOSUB2290 1080 GOTO200 1085 ' 1090 REM Corrige Informacao 1095 ' 1100 INPUT"Nova informacao ";R$(N) 1110 PRINT:PRINT"Informacao trocada " 1120 GOSUB2290 1130 GOTO200 1135 ' 1140 REM Adiciona Informacao 1145 ' 1150 INPUT"Nova informacao ";T$ 1160 R$(N)=R$(N)+" - "+T$ 1170 PRINT:PRINT"Nova informacao adicionada" 1180 GOSUB2290 1190 GOTO200 1195 ' 1200 REM exibe registros 1205 ' 1210 CLS 1220 D$=STRING$(36,219) 1230 FORM=1TOJ 1240 PRINT:PRINT"Nome do registro ";N$(M) 1250 PRINT:PRINTR$(M) 1260 PRINT:PRINTD$ 1270 FORDE=1TO100:NEXTDE 1280 GOSUB2320 1290 NEXTM 1300 GOSUB2290 1310 GOTO200 1315 ' 1320 REM Listar Registros Para 1325 REM a Impressora 1326 ' 1330 CLS 1340 LOCATE0,6 1350 LINEINPUT"Press. ENTER quando estiver pronto ";NU$ 1360 FORM=1TOJ 1370 LPRINT 1380 LPRINT"Nome do registro :";N$(M) 1390 LPRINT 1400 LPRINTR$(M) 1410 LPRINT 1420 NEXTM 1430 GOTO200 1435 ' 1440 REM Procura Registro 1445 ' 1450 CLS 1460 LOCATE0,6 1470 PRINT"1. Registro por nome ":PRINT 1480 PRINT"2. Informacao em serie ":PRINT 1490 LOCATE0,12 1500 PRINT"Selecione opcao...":PRINT 1510 A$=INKEY$ 1520 IFA$=""THEN1510 1530 BEEP 1540 IFA$<"1"ORA$>"2"THEN1510 1550 ONVAL(A$)GOTO1560,1700 1560 INPUT"Nome do registro ";T$ 1570 PRINT 1580 F=0 1590 FORM=1TOJ 1600 IFN$(M)<>T$THEN1640 1610 PRINT"Nome do registro : ";N$(M) 1620 PRINT:PRINTR$(M) 1630 F=1 1640 NEXTM 1650 IFF=1THEN1670 1660 PRINT:PRINT"Registro nao encontrado" 1670 GOSUB2290 1680 GOTO200 1690 REM Strings 1700 INPUT"String p/ procurar por ";T$ 1710 F=0 1720 FORM=1TOJ 1730 X=INSTR(N$(M),T$) 1740 IFX<>0THEN1770 1750 X=INSTR(R$(M),T$) 1760 IFX=0THEN1800 1770 PRINT:PRINT"Nome do registro ";N$(M) 1780 PRINT:PRINTR$(M):PRINT 1790 F=1 1800 NEXTM 1810 IFF=1THEN1830 1820 PRINT:PRINT"Registro nao encontrado" 1830 GOSUB2290 1840 GOTO200 1845 ' 1850 REM Ordernar Registros 1855 ' 1860 CLS 1870 LOCATE0,6 1880 PRINT"Ordenando... " 1890 M=1 1900 IFN$(M)<N$(M+1)THEN1940 1910 SWAPN$(M),N$(M+1) 1920 SWAPR$(M),R$(M+1) 1930 GOTO1890 1940 M=M+1 1950 IFM<>JTHEN1900 1960 GOTO200 1965 ' 1970 REM Carregar da Fita 1975 ' 1980 CLS 1990 LOCATE0,6 2000 PRINT"Carregar da fita ":PRINT 2010 LINEINPUT"Press. ENTER quando estiver pronto ";NU$ 2020 PRINT:PRINT"Carregando... " 2030 OPEN"cas:file"FORINPUTAS#1 2040 INPUT#1,J 2050 FORM=1TOJ 2060 INPUT#1,N$(M) 2070 INPUT#1,R$(M) 2080 NEXTM 2090 CLOSE 2100 GOTO200 2105 ' 2110 REM Salvar em Fita 2115 ' 2120 CLS 2130 LOCATE0,6 2140 PRINT"Salvar em fita ":PRINT 2150 LINEINPUT"Press. ENTER quando estiver pronto ";NU$ 2160 PRINT:PRINT"Armazenando... " 2170 MOTORON 2180 GOSUB2290 2190 MOTOROFF 2200 OPEN"cas:file"FOROUTPUTAS#1 2210 PRINT#1,J 2220 FORM=1TOJ 2230 PRINT#1,N$(M) 2240 PRINT#1,R$(M) 2250 NEXTM 2260 CLOSE 2270 GOTO200 2275 ' 2280 REM Exibe Subrotina 2285 ' 2290 FORDE=1TO2500:NEXTDE 2300 RETURN 2310 REM 2320 Z$=INKEY$ 2330 IFZ$=""THEN2360 2340 Z$=INKEY$ 2350 IFZ$=""THEN2340 2360 RETURN
Games
Antartic Adventure
Nota 4
Ajude o nosso amigo pinguin a enfrentar uma aventura na gélida Antártida, percorrendo diversas estações de pesquisa e, enfrentando leões-marinhos, buracos e rachas no gelo, que poem fazer nosso amigo perder sua velocidade. Durante a jornada, o pinguim passa pelo litoral do continente gelado, por pontes naturais, desertos de gelo, com distâncias variadas e tempos diferentes. As dificuldades do caminho podem ser diminuídas ou aumentadas e com bônus (bandeirolas verdes ou peixes) ou não. Interessante é quando o pinguiem chega a uma das estações: nessa ocasião, é hasteada a bandeira nacional do país e com a presença do nosso amigo ao lado.
Aventura na Antártida é um jogo de excelente gráfico, não fugindo às exigências e ao estolo do padrão MSX, com belíssimos detalhes que não se fixam só no pinguim, nos leões marinhos, nas estações e no mapa da trajetória a ser percorrida, mas, em todo o game. O som também é agradável (com) e, apesar do jogo ser um pouco repetitivo, você nem notará realmente. Este é um jogo que vale a pena possuir.
DICAS: Procure não ficar aos saltos, mas, faça o pinguim andar patinando. Assim, você obterá mais estabilidade, porém nas curvas mais acentuadas, dê alguns pulinhos.
Não dê demasiada importância aos peixes e às bandeirolas, mas, bônus nunca é demais. Não é preciso, necessariamente, que você use toda a velocidade, talvez assim, auemnte sua performance.
Sky Jaguar
Nota 5
Originalmente Sky Jaguar para MSX, esta versão nacional tem tudo para fazer sucesso contribuindo para suprir a falta de jogos de nível internacional, no mercado. Na verdade, Columbia chega a ser, pela sua qualidade, um equivalente caseiro do fliperama. Nesse aspecto, seus gráficos devem ser elogiados, por serem de excelente qualidade mas, no caso do som, nem tanto, já que é bom, somente, o que contrasta um pouco com o nível do game, no geral.
Você terá que enfrentar todo o poderio de esquadrilhas de naves inimigas que dominam o planeta e, todo o tipo de armamento, como minas, mísseis, havendo até naves que se tornam invisíveis, além, é claro, de poderosas naves-mãe. Este é mais daqueles jogos que são presença obrigatória na sua coleção para MSX e, se você ainda não tem, não perca tempo.
DICAS: Pegue todas as minas que puder, durante essa etapa, pois poderá achar o duplicador de tiros (POW) e, ainda tranformar uma das minas em para-quedista, que você também deverá pegar, já que vale pontos.
Disk Warrior
Nota 4
Este game se passa no distante ano de 2020, no século 21. Você está sofrendo consantes sabotagens e, precisa introduzir um agente no quarte-general inimigo, com urgência. O objetivo é chegar até o computador central e destruií-lo, só que antes será necessário superar vários obstáculos como o Cão Robô, barreiras de força e o chão eletrificado.
Para destruir os inimigos, você deverá usar um bumerangue que lhe pertence e também apanhar os objetos que estiverem perdidos, além de pegar as chaves de cores correspondentes às portas que dão acesso às diferentes zonas que levam ao computador central. Você poderá defrontar-se, então, com outros perigos como por exemplo, paredes eletrificadas e deve ficar atento para um detalhe: determinadas zonas só poderão ser atingidas através de um disco de viagem.
A parte gráfica deste jogo é muito boa, com efeitos tridimensionais que aumentam o realismo da ação. Disk Warrior pode ser jogado com o teclado o joystick, sendo mais um daqueles títulos que não devem faltar na coleção de qualquer aficcionado MSX.
Referência de Listagem
Listagem | Arquivo |
---|---|
Funky Mouse | antartic.bas |
Lazy Jones | sjaguar.bas |
Galaga | disc.bas |
Nenhum comentário:
Postar um comentário