Chiptron
Estamos no ano de 3003 onde os esportes não exigem muita força, mas sim reflexos rápidos e muita velocidade.
Teste o programa no WebMSX – The Online MSX Emulator
Neste ano, na OLIMPÍADA MSX, ocorrerá a mais almejada prova de todos os tempos: o CHIPTRON!
Essa prova se realiza numa arena circular onde dois TRONS devem dirigir suas motos sem se chocarem com as bordas, obstáculos ou rastros deixados pelas motos.
O objetivo de cada TRON é fazer com que seu adversário colida.
Cuidado com as bordas! Em algumas partes existem escorregadores que são passagens diretas para a morte.
As motos, ao partirem, acionam um contador de tempo que ao final será somado ao placar do vencedor.
Para controlar as motos, use as teclas A,W,D,X (TRON esquerdo) e 2,4,6,8 (TRON direito). As telcas de comando são apenas para o controle direcional e não para a movimentação.
Para iniciar o jogo você deve acionar a tecla CAPS LOCK antes de comandar RUN + RETURN ou F5.
Fonte: Livro Coleção de Programas para MSX Volume 1
Editora: Aleph
Ano: 1985
Autor: Aldo Balduco Jr.
Digitação: Renato Faria Lopes
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 |
10 ' Chiptron 20 GOSUB 850 30 VZ=5:VX=VZ:PPX=0:PPZ=PX 40 COLOR15,15,15 50 SCREEN 2,,0 60 CIRCLE(128,96),90,1 70 PAINT(128,185),1,1 80 TIME=0 90 CIRCLE(128,36),10,15 100 CIRCLE(128,156),10,15 110 CIRCLE(168,96),20,15,,,.85 120 CIRCLE(88,96),20,15,,,.85 130 X=120:Y=96:Z=136:U=Y 140 PSET(X,Y),4 150 PSET(Z,U),6 160 DX=3:DZ=1 170 L$=INKEY$:IF L$="" THEN 260 180 IF L$="4" THEN DZ=1 190 IF L$="8" THEN DZ=2 200 IF L$="6" THEN DZ=3 210 IF L$="2" THEN DZ=4 220 IF L$="A" THEN DX=1 230 IF L$="W" THEN DX=2 240 IF L$="D" THEN DX=3 250 IF L$="X" THEN DX=4 260 IF DX=1 THEN X=X-1 270 IF DX=3 THEN X=X+1 280 IF DX=2 THEN Y=Y-1 290 IF DX=4 THEN Y=Y+1 300 IF DZ=1 THEN Z=Z-1 310 IF DZ=3 THEN Z=Z+1 320 IF DZ=2 THEN U=U-1 330 IF DZ=4 THEN U=U+1 340 PX=POINT(X,Y):PZ=POINT(Z,U) 350 PSET(X,Y),4 360 PSET(Z,U),6 370 IF PX<>1 THEN PUZ=PUZ+TIME+20:GOTO 400 380 IF PZ<>1 THEN PYX=PYX+TIME+20:GOTO 460 390 GOTO 170 400 FOR F=1 TO 20 STEP 3 410 CIRCLE(X,Y),F,RND(-TIME)*15 420 PLAY"S8T255L60GFA" 430 NEXT F 440 VX=VX-1:IF VX>0 THEN 520 450 GOTO 680 460 FOR F=1 TO 20 STEP 3 470 CIRCLE(Z,U),F,RND(-TIME)*15 480 PLAY"S8T255L60CAB" 490 NEXT F 500 VZ=VZ-1:IF VZ>0 THEN 520 510 GOTO 680 520 COLOR 15,13,13:KEY OFF 530 SCREEN 1 540 PRINT" MSX-Chip Tron" 550 LOCATE 3,3 560 PRINT"Jogador 1: Vidas Pontos" 570 LOCATE 15,4 580 PRINT VX:LOCATE 20,4:PRINT PYX 590 LOCATE 3,9 600 PRINT"Jogador 2: Vidas Pontos" 610 LOCATE 15,10:PRINT VZ:LOCATE 20,10:PRINT PUZ 620 LOCATE 12,6:PRINT"TEMPO" 630 LOCATE 12,7:PRINTTIME 640 LOCATE 1,22:PRINTE"Aperte uma tecla para cont." 650 IF INKEY$<>"" THEN 650 660 IF INKEY$="" THEN 660 670 GOTO 40 680 KEY OFF:FOR F=1 TO 14 STEP 2 690 COLOR F,F+1,F-1 700 NEXT F 710 COLOR 15,1,1 720 SCREEN1 730 PRINT" MSX-Chip Tron" 740 LOCATE 5,10:PRINT"O jogador"; 750 IF PYX>PUZ THEN PRINT" 1 venceu." ELSE PRINT" 2 venceu." 760 PRINT:PRINT:PRINT"Jogador 1 fez"PYX"pontos." 770 PRINT:PRINT:PRINT"Jogador 2 fez"PUZ"pontos." 780 FOR F=1 TO 14 790 COLOR F,F-1,F+1:FOR G=0 TO 30:NEXT G 800 NEXT F 810 PLAY"T60O3L24EBO4CO3ABGEBO4CO3ABGECO2A#O3CO3A#O3C" 820 IF INKEY$<>"" THEN 820 830 IF INKEY$="" THEN 830 840 RUN 850 COLOR 15,1,1 860 SCREEN 2 870 DRAW"S8BM65,20NR5U7R5BR3ND7D3R4NU3D4BR3U7BR3ND7R3F2G2L3BU4" 880 DRAW"BR15R3ND7R3BR3ND7R3F2G2L2F3BU7BR3D7R5U7NL5BR3ND7F7U7S6" 890 DRAW"BM130,150E7D7UH3GFBUBR6EU3HGD6FRNE3R4NU6R2U3R3D3NL3BU2R" 900 DRAW"BR8BU3R4D8L4U4NR4U4BR7NR4D4R3FD3GL3S4" 910 CIRCLE(50,145),30,7 920 PAINT(50,174),7,7 930 FOR F=0 TO 128 940 PSET(F,70),4:PSET(255-F,70),6 950 NEXT F 960 FOR F=1 TO 40 STEP 3 970 CIRCLE(128,70),F,RND(-TIME)*15 980 PLAY"S8T255L60EDGFA" 990 NEXT F 1000 IF INKEY$<>"" THEN GOTO 1000 1010 IF INKEY$="" THEN GOTO 1010 1020 PLAY"CEG" 1030 RETURN |