Star Trek
Você Agora é o Capital Kirk. Já foram escritas versões de Star Trek para praticamente todos os micros lançados no mercado, o que demonstra a populariedade deste jogo.
Teste o programa no WebMSX – The Online MSX Emulator
Agora você pode comandar uma Nave Estela da classe MSX, com todos os fasores e sensores a que tem direito. Sua missão é eliminar os perigosos klingons antes que sua nave seja vaporizada ou fique sem energia.
Esta versão do jogo Star Trek inclui um mapa estelar completo e movimentos em “tempo real” durante os combates com o inimigo e quando a nave atraca em uma base estelar. Segue um extrato do megamanual de 32544 páginas intitulado: “Aprenda a Comandar uma Nave Estelar em 4000 Lições”.
Não perca a calma!
Lembre-se de que tudo que tem a perder é: sua vida, 20 bilhões de créditos intergaláticos em equipamentos e as vidas de todos os tripulantes da nave.
Não voe às cegas!
Use os sensores da nave para verificar sua posição na galáxia. Apertando a letra L, você liga o Sensor de Longo Alcance (SLA), que mostra a posição da sua nave, das bases estelares e das naves inimigas. Os setores ocupados por klingons são representados no SLA por um círculo com uma flecha, o símbolo de Marte, deus da guerra. Os setores onde existem bases estelares são representados por um círculo com uma cruz, o símbolo de Vênus, a deusa do amor. Os setores ocupados tanto por inimigos como por bases estelares são indicados por um quadrado. Cada vez que você usa o sensor de long alcance, você gasta 5 unidades de energia do tipo usado para os motores.
Não perca o inimigo de vista!
Apertando a tecla C, você liga o Sensor de Curto Alcance (SCA), que indica quantos inimigos e bases estelares existem no setor que você se encontra no momento. Cada vez que você liga o SCA, são consumidas 5 unidades de energia do tipo usado para os motores.
Cuidado com a falta de energia!
Para reabastecer a nave, você deve atravar em uma base estelar, apertando a tecla A no painel de controle e usando o controle de direção para posicionar a base estelar no centro da tela. Depois de atracar, você receberá 20 unidades de energia para os motores da nave e mais 20 para os fasores (a energia da blindagem não pode ser reposta). A capacidade máxima é de 95 unidades. Não ultrapasse este limite, caso contrário a nave sofrerá uma explosão.
Não perca tempo!
Como comandante da Esquadra Estelar, sua missão é destruir os perigosos klingons o mais depressa que puder.
Se houver klingons no setor em que você se encontra, aperte a tecla P para fazer soar o sinal de Postos de Combate e dê início ao ataque. Coloque uma nave inimiga no centro da tela, usando o controle de direção (joystick ou teclas de controle de cursor) e aperte o botão de tiro ou a barra de espaço para disparar os fasores.
Se você não agir com rapidez suficiente, as naves dos klingons começarão a responder ao fogo, roubando energia da sua blindagem. Não desista! Procure “limpar” o setor antes de partir para outras batalhas. Caso, porém, a energia dos fasores se esgote, aperte a tecla RETURN para fugir do combate e poder se reabastecer em uma base.
Como mudar de setor.
Para viajar para qualquer setor, é preciso apertar a tecla W, seguida por um número entre 1 e 5, que indica o fator “warp” ou distância que você deseja viajar. Em seguida, é preciso indicar a direção do movimento, escolhendo um número entre 1 e 8. Cada número corresponde a uma direção no espaço, começando do topo da tela e continuando no sentido dos ponteiros do relógio.
O desafio supremo.
No início da missão, você escolhe o grau de dificuldade. No nível mais fácil você tem que destruir 10 inimigos, no nível de dificuldade média, 20, no nível difícil, 30. Quando você consegue concluir uma missão com sucesso, a Central de Controle dos klingons é informada e envia uma nova esquadra, com 10 naves a mais que a anterior. O desafio supremo consiste em localizar e destruir 200 naves inimigas. Está preparado, capitão Kirk? Então pode começar…
Fonte: Livro de Jogos em MSX
Editora: Lutécia
Autor: Jim Gregory (livro) – Issi (programa)
Ano: 1985
Digitação: Wilson e Willian Pilon – MSX Typer
Código fonte
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 |
1000 REM <<<< STAR TREK - ISSI >>>> 1010 MAXFILES=2:OPEN "GRP:S" FOR OUTPUTAS 1 1020 SCREEN 1:KEY OFF 1030 RESTORE 3340 1040 S$="":FOR N=0 TO 7:READ A:S$=S$+CHR$(A):NEXT N 1050 SPRITE$(1)=S$ 1060 S$="":FOR N=0 TO 7:READ A:S$=S$+CHR$(A):NEXT N 1070 SPRITE$(2)=S$ 1080 DIM S(15,2) 1090 GOSUB 1790 1100 BEEP:PLAY "o3fl16o4cl8fffl8el16c.o3ao4d.l4g" 1110 GOSUB 1880 1120 GOSUB 1580 1130 GOSUB 1250 1140 A$=INKEY$ 1150 IF A$="" THEN GOTO 1140 1160 A$=CHR$(ASC(A$) AND 223) 1170 LINE (184,100)-(248,148),6,BF 1180 IF A$="L" THEN GOSUB 2030 1190 IF A$="C" THEN GOSUB 2170 1200 IF A$="W" THEN GOSUB 2250 1210 IF A$="A" THEN GOSUB 2530 1220 IF A$="P" THEN GOSUB 2820:PUTSPRITE 2,(0,0),14,2 1230 FOR N=1 TO 20:NEXT N 1240 IF DEAD=1 OR ENER<1 OR ENER=100 THEN GOTO 1370 1250 COLOR 15,13 1260 LINE (95,156)-(135,191),13,BF 1270 PRESET (95,160):PRINT #1,ENER 1280 PRESET (95,170):PRINT #1,SHIE 1290 PRESET (95,180):PRINT #1,PHAS 1300 LINE (215,156)-(275,191),13,BF 1310 PRESET (215,160):PRINT #1,SEC 1320 PRESET (215,170):PRINT #1,ALIEN-EME 1330 PRESET (215,180):PRINT #1,3-BD 1340 IF EME=ALIEN THEN GOTO 3380 1350 GOTO 1140 1360 <<<< NAVE DESTRUIDA >>>> 1370 COLOR 10,6,6:SCREEN 1 1380 LOCATE 10,2:PRINT "QUE PENA !" 1390 LOCATE 9,3:PRINT "------------" 1400 IF ENER<1 THEN M$=" ficou a deriva e teve de" 1410 IF ENER=100 THEN M$=" recebeu uma sobrecarga de" 1420 IF DEAD=1 THEN M$=" foi destruida pelos" 1430 LOCATE 2,7:PRINT "A Nave Estelar Enterprise" 1440 LOCATE 1,9:PRINT M$ 1450 IF ENER<1 THEN M$=" ser abandonada, mas o" 1460 IF ENER=100 THEN M$="energia e explodiu, mas o" 1470 IF DEAD=1 THEN M$="demoniacos klingons,mas o" 1480 LOCATE 2,11:PRINT M$ 1490 LOCATE 1,13:PRINT "Almirante Yamashita decidiu" 1500 LOCATE 2,15:PRINT "confiar-lhe o comando de" 1510 LOCATE 5,17:PRINT "outra Nave Estelar." 1520 LOCATE 3,21:PRINT "APERTE 'C' PARA COMECAR" 1530 A$=INKEY$:IF A$="" THEN GOTO 1530 1540 A$=CHR$(ASC(A$)AND 223) 1550 IF A$<>"C" THEN GOTO 1530 1560 GOTO 1090 1570 REM <<<< TELA >>>> 1580 SCREEN 2:COLOR 11,1,1:CLS 1590 LINE (16,16)-(176,148),4,BF 1600 LINE (184,28)-(248,80),6,BF 1610 LINE (184,100)-(248,148),6,BF 1620 LINE (0,2)-(256,14),14,BF 1630 LINE (8,156)-(256,191),13,BF 1640 PRESET (208,18):PRINT#1,"SLA" 1650 PRESET (208,90):PRINT#1,"SCA" 1660 COLOR 1 1670 PRESET (55,4),14:PRINT #1,"*ALERTA VERMELHO*" 1680 COLOR 15 1690 PRESET (16,160):PRINT #1,"MOTORES:" 1700 PRESET (16,170):PRINT #1,"BLINDAGEM:" 1710 PRESET (16,180):PRINT #1,"FASORES:" 1720 PRESET (144,160):PRINT #1,"SETOR:" 1730 PRESET (144,170):PRINT #1,"INIMIGOS:" 1740 PRESET (144,180):PRINT #1,"BASES:" 1750 PRESET (80,88),4:COLOR 10 1760 PRINT #1,CHR$(1);CHR$(90);CHR$(1);CHR$(82);CHR$(1);CHR$(82);CHR$(1);CHR$(91) 1770 RETURN 1780 REM <<<< DIFICULDADE >>>> 1790 COLOR 15,4,4:SCREEN 1 1800 PRINT "Facil/Regular/Dificil?" 1810 A$=INKEY$:IF A$="" THEN GOTO 1810 1820 A$=CHR$(ASC(A$)AND 223) 1830 IF A$="D" THEN ALIEN=20:RETURN 1840 IF A$="F" THEN ALIEN=10:RETURN 1850 IF A$="R" THEN ALIEN=15:RETURN 1860 GOTO 1810 1870 REM <<<< INICIALIZACAO >>>> 1880 FOR N=1 TO 15:S(N,1)=0:S(N,2)=0:NEXT N 1890 FOR N=1 TO ALIEN 1900 SEC=INT(RND(-TIME)*15+1) 1910 IF S(SEC,1)>3 THEN GOTO 1900 1920 S(SEC,1)=S(SEC,1)+1 1930 NEXT N 1940 FOR N=1 TO 3 1950 PO=INT(RND(1)*15)+1 1960 IF S(PO,2)=1 THEN GOTO 1950 1970 S(PO,2)=1 1980 NEXT N 1990 PHAS=25:ENER=25:SHIE=25:BAD=0:EME=0:BD=0 2000 SEC=INT(RND(1)*15)+1 2010 RETURN 2020 REM <<<< SENSOR DE LONGO ALCANCE >>>> 2030 PLAY "l8cdecde":PO=1 2040 FOR N=1 TO 3 2050 FOR M=1 TO 5 2060 PRESET (188+M*8,18+N*16),6:COLOR 10 2070 CH=71:IF PO=SEC THEN CH=79:GOTO 2110 2080 IF S(PO,1)>0 THEN CH=75 2090 IF S(PO,2)=1 THEN CH=76 2100 IF CH=76 AND S(PO,1)>0 THEN CH=72 2110 PRINT #1,CHR$(1);CHR$(CH) 2120 PO=PO+1:NEXT M 2130 NEXT N 2140 ENER=ENER-5:PLAY "edcedc" 2150 RETURN 2160 REM <<<< SENSOR DE CURTO ALCANCE >>>> 2170 PLAY"l8cdecde" 2180 COLOR 15:PRESET (204,110),6 2190 PRINT #1,CHR$(1);CHR$(75);":";S(SEC,1) 2200 PRESET (204,130),6 2210 PRINT #1,CHR$(1);CHR$(76);":";S(SEC,2) 2220 ENER=ENER-5:PLAY "edcedc" 2230 RETURN 2240 REM <<<< SALTO WARP >>>> 2250 LINE (0,2)-(256,14),12,BF 2260 PRESET (16,4),14:PRINT #1,"Fator Warp (1 a 5) ?" 2270 A$=INKEY$ 2280 IF A$<"1" OR A$>"5" THEN GOTO 2270 2290 DIS=VAL(A$) 2300 LINE (0,2)-(256,14),10,BF 2310 COLOR 1:PRESET(16,4),14:PRINT #1,"Direcao do salto (1 a 8) ?" 2320 A$=INKEY$ 2330 IF A$<"1" OR A$>"8" THEN GOTO 2320 2340 LINE (184,28)-(248,80),6,BF 2350 DR=VAL(A$) 2360 COLOR 11 2370 FOR Q=60 TO 16 STEP -4 2380 LINE (Q,Q)-(192-Q,164-Q),INT(RND(1)*15),B 2390 NEXT Q 2400 RESTORE 2510 2410 FOR N=1 TO DR:READ XY:NEXT N 2420 FOR N=1 TO DIS:SEC=SEC+XY 2430 IF SEC<1 THEN SEC=SEC+15 2440 IF SEC>15 THEN SEC=SEC-15 2450 PLAY "l8"+CHR$(N+66):NEXT N 2460 FOR Q=60 TO 16 STEP -4 2470 LINE(Q,Q)-(192-Q,164-Q),4,B 2480 NEXT Q 2490 ENER=ENER-INT(DIS*1.5) 2500 LINE (0,2)-(256,14),14,BF:RETURN 2510 DATA -5,-4,1,6,5,4,-1,-6 2520 REM <<<< ATRACAR >>>> 2530 LINE (0,2)-(256,14),14,BF 2540 PRESET (16,4),14:COLOR 1 2550 IF S(SEC,2)=0 THEN PRINT #1,"Nao ha bases neste setor...":PLAY "l2gec":RETURN 2560 X=INT(RND(-TIME)*100)+50:Y=18:DIS=1 2570 PUT SPRITE 1,(X,INT(Y)),11,1 2580 GOSUB 3250 2590 IF RI=1 THEN DIS=DIS-1 2600 IF LE=1 THEN DIS=DIS+1 2610 Y=Y+.5:X=X+DIS 2620 IF X<15 THEN X=15 2630 IF X>170 THEN X=170 2640 IF Y<95 THEN GOTO 2570 2650 IF X>85 AND X<102 THEN GOTO 2720 2660 IF X<65 OR X>125 THEN PRESET (16,4),14:PRINT #1,"A BASE ESTA FORA DE ALCANCE.":GOTO 2750 2670 PRESET (16,4),14:PRINT #1,"VOCE DESTRUIU A BASE ESTELAR!" 2680 PLAY "s10edcc" 2690 S(SEC,2)=0 2700 BD=BD+1 2710 GOTO 2750 2720 PRESET (16,4),14:PRINT #1,"VOCE ATRACOU NA BASE. . ." 2730 ENER=ENER+20 2740 PHAS=PHAS+20 2750 FOR N=1 TO 700:NEXT N:BEEP 2760 IF ENER>95 OR PHAS>95 THEN ENER=100 2770 LINE (0,2)-(256,14),14,BF 2780 PUT SPRITE 1,(0,0),11,1 2790 RETURN 2800 ' <<<< COMBATE >>>> 2810 REM 2820 LINE (0,2)-(256,14),14,BF 2830 DEAD=0 2840 XD=2:YD=2 2850 COLOR 1 2860 IF S(SEC,1)=0 THEN PRESET (16,4),14:PRINT #1,"NAO HA MAIS INIMIGOS AQUI.":PLAY "l4gec":RETURN 2870 X=INT(RND(1)*140)+30:Y=INT(RND(1)*120)+30 2880 GOSUB 3250 2890 PUTSPRITE 2,(X,Y),7,2 2900 IF FI=1 AND PHAS>0 THEN GOTO 3130 2910 IF KIL=1 THEN S(SEC,1)=S(SEC,1)-1:KIL=0:GOTO 2830 2920 IF LE=1 THEN XD=2 2930 IF RI=1 THEN XD=-2 2940 IF UP=1 THEN YD=2 2950 IF DO=1 THEN YD=-2 2960 IF EX=1 THEN RETURN 2970 X=X+XD:Y=Y+YD 2980 IF X<20 THEN XD=20:XD=2 2990 IF X>165 THEN X=165:XD=-2 3000 IF Y<18 THEN Y=18:YD=2 3010 IF Y>135 THEN Y=135:YD=2 3020 IF RND(1)<.95 THEN GOTO 3060 3030 PLAY "s14o2l4c" 3040 FOR M=1 TO 50:NEXT M:BEEP 3050 SHIE=SHIE-1:IF SHIE<0 THEN DEAD=1:RETURN 3060 LINE (95,170)-(135,190),13,BF:COLOR 15 3070 PRESET (95,170):PRINT #1,SHIE 3080 PRESET (95,180):PRINT #1,PHAS 3090 LINE (215,170)-(275,179),13,BF 3100 PRESET (215,170):PRINT #1,ALIEN-EME 3110 GOTO 2880 3120 REM <<<< ATIRAR >>>> 3130 COLOR 14 3140 PSET (16,148):DRAW "e75" 3150 PSET (176,148):DRAW "h75" 3160 PLAY "s14l64cdefgab" 3170 FOR N=1 TO 50:NEXT N 3180 PHAS=PHAS-1 3190 IF X>86 AND X<98 AND Y>64 AND Y<70 THEN EME=EME+1:KIL=1:PLAY "s11l8cdel2g" 3200 COLOR 4 3210 PSET (16,148):DRAW "e75" 3220 PSET (176,148):DRAW "h75" 3230 BEEP:GOTO 2910 3240 REM <<<< ENTRADA DE DADOS >>>> 3250 VA=STICK(0) OR STICK(1) OR STICK(2) 3260 IF VA=3 THEN RI=1 ELSE RI=0 3270 IF VA=7 THEN LE=1 ELSE LE=0 3280 IF VA=1 THEN UP=1 ELSE UP=0 3290 IF VA=5 THEN DO=1 ELSE DO=0 3300 FI=ABS(STRIG(0) OR STRIG(1) OR STRIG(2)) 3310 A$=INKEY$ 3320 IF A$=CHR$(13) THEN EX=1 ELSE EX=0 3330 RETURN 3340 DATA 56,68,68,68,56,16,124,16 3350 DATA 15,3,5,121,136,136,136,112 3360 GOTO 1140 3370 REM <<<< FIM DA MISS°O >>>> 3380 COLOR 10,6,6:SCREEN 1 3390 PLAY "o5ca+.l10agfel4d+.","o4ca+.l10agfel4d+." 3400 LOCATE 7,2:PRINT "BOM TRABALHO" 3410 LOCATE 6,3:PRINT "--------------" 3420 LOCATE 2,7:PRINT " Capitao James T. Kirk:" 3430 LOCATE 1,9:PRINT "Agora voce deve enfrentar" 3440 LOCATE 0,11:PRINT "um grupo ainda mais numeroso" 3450 LOCATE 1,13:PRINT "dos diabolicos klingons..." 3460 LOCATE 2,21:PRINT "APERTE 'R' PARA RECOMECAR 3470 A$=INKEY$:IF A$="" THEN GOTO 3470 3480 A$=CHR$(ASC(A$)AND 223) 3490 IF A$<>"R" THEN GOTO 3470 3500 ALIEN=ALIEN+10 3510 GOTO 1110 |