Dinkey Kong
Salvando a Mocinha. Dinkey Kong pertence à família de jogos de fliperama em que o herói tem que chegar ao topo de um edifício, evitando uma série de obstáculos que aparecem no caminho.
Teste o programa no WebMSX – The Online MSX Emulator
Nesta versão, o monstro que aparece na parte superior da tela raptou a namorada do herói e a mantém prisioneira. Agora ele passa o tempo todo rolando grandes tonéis de aço, em uma tentativa de esmagar o herói.
O jogo tem três telas diferentes, se você conseguir chegar ao final, a primeira tela voltará a aparecer.
Os movimentos do herói são controlados com o auxílio do joystick ou das teclas de controle do cursor. Para pular, é só apertar o botão de tiro ou a barra de espaço.
Fonte: Livro de Jogos em MSX
Editora: Lutécia
Autor: Jim Gregory (livro) – Bootsy (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 |
1000 REM <<<< DINKEY KING- BOOTSY >>>> 1010 SCREEN 1,2,0:COLOR 15,0,0:CLS 1020 KEY OFF:GOSUB 2140:HS%=1000 1030 SC%=0:LF%=3:PS%=0 1040 XP%=20:YP%=160 1050 GOSUB 1910:SB%=4:SM%=0 1060 IF YP%=32 THEN GOSUB 1860:SC%=(SC%+1) AND 3:GOSUB 1040 1070 GOSUB 1400:IF C% THEN 1180 1080 X%=XP%:Y%=YP% 1090 IF TG% THEN GOSUB 1550:GOTO 1180 1100 IF ST%=1 THEN GOSUB 1500 ELSE GOSUB 1490 1110 IF ST%=1 AND C%=0 AND CH%=240 THEN UD%=-2:GOSUB 1630:GOTO 1180 1120 IF ST%=5 AND C%=0 AND CH%=240 THEN UD%=2:GOSUB 1630:GOTO 1180 1130 IF ST%=3 AND CH%=32 THEN 1670 1140 IF ST%=3 THEN XP%=XP%+4:D%=2:IF SM% AND 2 THEN SM%=0 1150 IF ST%=7 AND C%=32 THEN 1670 1160 IF ST%=7 THEN XP%=XP%-4:D%=-2:IF (SM% AND 2)=0 THEN SM%=2 1170 SM%=SM% XOR 1:PUT SPRITE 0,(XP%,YP%),15,SM% 1180 L%=0:FOR I%=0 TO 3:J%=XP%-BA%(I%,0):K%=YP%-BA%(I%,1) 1190 IF ABS(J%)<12 AND ABS(K%)<12 THEN L%=1:I%=3 1200 NEXT I%:IF L% THEN 1670 1210 IF B%<3 THEN IF RND(-TIME)>.95 THEN B%=B%+1:BA%(B%,0)=128:BA%(B%,1)=32 1220 IF B%=0 THEN 1060 1230 SB%=SB% XOR 1:I%=1 1240 J%=BA%(I%,0):K%=BA%(I%,1) 1250 IF K%=32 OR K%=96 OR K%=160 THEN J%=J%-4 ELSE J%=J%+4 1260 IF K%<32 THEN 1280 1270 PUT SPRITE I%,(J%,K%),12,SB% 1280 X%=J%:Y%=K%:GOSUB 1490 1290 IF C%=0 AND CH%=32 THEN GOSUB 1820:GOSUB 1310 1300 IF C%=0 AND CH%=240 THEN IF RND(-TIME)>.66 THEN GOSUB 1820 1310 IF J%=16 AND K%=160 THEN 1350 1320 BA%(I%,0)=J%:BA%(I%,1)=K% 1330 I%=I%+1:IF I%>B% THEN 1060 1340 GOTO 1240 1350 FOR L%=I% TO B%:J%=BA%(L%+1,0):BA%(L%,0)=J%:K%=BA%(L%+1,1):BA%(L%,1)=K%:IF K%=0 THEN 1370 1360 PUT SPRITE L%,(J%,K%),12,SB% 1370 NEXT L% 1380 I%=I%-1:GOTO 1330 1390 REM <<<< ENTRADA DE DADOS >>>> 1400 C%=1:FOR I%=0 TO 2:ST%=STICK(I%):TG%=STRIG(I%) 1410 IF ST% OR TG% THEN I%=2:C%=0 1420 NEXT I%:IF ST%=5 THEN 1440 1430 RETURN 1440 A=USR1(0):I$=INPUT$(1) 1450 RETURN 1460 REM <<<< CARACTERE EM X,Y >>>> 1470 CH%=VPEEK(&H1800+INT(Y%/8)*32+X%/8):RETURN 1480 REM <<<< COM APOIO/SEM APOIO >>>> 1490 Y%=Y%+8 1500 X%=X%+4:Y%=Y%+8:GOSUB 1470:C%=CH% 1510 X%=X%+7:GOSUB 1470 1520 IF C%<>CH% THEN RETURN 1530 C%=0:RETURN 1540 REM <<<< PULAR >>>> 1550 RESTORE 2640:FOR I%=1 TO 12 1560 READ VO%:XP%=XP%+D%:YP%=YP%+VO% 1570 PUT SPRITE 0,(XP%,YP%),15,0 1580 NEXT I% 1590 X%=XP%+7:Y%=YP%+16 1600 GOSUB 1470:IF CH%=32 THEN 1670 1610 X%=XP%-7:Y%=YP%-16:RETURN 1620 REM <<<< SUBIR ESCADA >>>> 1630 FOR I%=1 TO 16:YP%=YP%+UD% 1640 PUT SPRITE 0,(XP%,YP%),15,0 1650 NEXT I%:RETURN 1660 REM <<<< CAIR >>>> 1670 PLAY "l64o2bagfedco1bagfedc" 1680 FOR I%=YP% TO 192 STEP 2 1690 PUT SPRITE 0,(XP%,I%),15,SP% 1700 NEXT I% 1710 REM <<<< PERDE UMA VIDA >>>> 1720 LF%=LF%-1:IF LF% THEN 1040 1730 LOCATE 4,10:PRINT "Suas vidas acabaram" 1740 LOCATE 4,14:PRINT " Aperte o botao " 1750 PRINT SPACE$(22) 1760 LOCATE 4,16:PRINT "ou a barra de espaco " 1770 PRINT SPACE$(22) 1780 LOCATE 1,18:PRINT " Para jogar de novo " 1790 GOSUB 1400:IF TG%=0 THEN 1790 1800 GOTO 1030 1810 REM <<<< QUEDA DO BARRIL >>>> 1820 FOR L%=1 TO 16:K%=K%+2 1830 PUT SPRITE I%,(J%,K%),12,SB% 1840 NEXT L%:RETURN 1850 REM <<<< CONTAGEM >>>> 1860 PS%=PS%+500 1870 IF PS%>HS% THEN HS%=PS% 1880 PLAY "l64o4cdefgabo5cbefgabo6cdefgab" 1890 RETURN 1900 REM <<<< TELA >>>> 1910 CLS:FOR I%=0 TO 4 1920 LOCATE 8-I%*2,I%*4+6 1930 PRINT STRING$(I%*4+12,CHR$(248)) 1940 NEXT I% 1950 SL%=10-SC%*2:SH%=SC%*2 1960 RESTORE 2620:FOR I%=1 TO SL% 1970 READ LX%,LY%:FOR J%=1 TO 4 1980 LOCATE LX%,LY%:PRINT CHR$(240) 1990 LY%=LY%+1:NEXT J%,I% 2000 IF SH%=0 THEN 2040 2010 FOR I%=1 TO SH% 2020 READ LX%,LY%:LOCATE LX%,LY% 2030 PRINT SPC(2):NEXT I% 2040 PUT SPRITE 0,(XP%,YP%),15,0 2050 C%=224:FOR I%=2 TO 5:FOR J%=13 TO 15 2060 LOCATE J%,I%:PRINT CHR$(C%);:C%=C%+1 2070 NEXT J%,I% 2080 LOCATE 4,1:PRINT PS%:LOCATE 1,1:PRINT "Pts:" 2090 LOCATE 14,1:PRINT HS%:LOCATE 11,1:PRINT "Rec:" 2100 LOCATE 21,1:PRINT "Vidas:";LF% 2110 FOR I%=0 TO 4:BA%(I%,0)=108:NEXT I% 2120 RETURN 2130 REM <<<< FORMAS >>>> 2140 RESTORE 2150 FOR C%=224 TO 235 2160 GOSUB 2240 2170 NEXT C% 2180 C%=240:GOSUB 2240 2190 C%=248:GOSUB 2240 2200 FOR S%=0 TO 5 2210 GOSUB 2280 2220 NEXT S% 2230 RETURN 2240 CA%=C%*8:FOR I%=CA% TO CA%+7 2250 READ J%:VPOKE I%,J%:NEXT I% 2260 READ J%:VPOKE C%/8+8192,J% 2270 RETURN 2280 S$="":FOR I%=0 TO 31 2290 READ J%:S$=S$+CHR$(J%):NEXT I% 2300 SPRITE$(S%)=S$:RETURN 2310 REM <<<< DINKEY KONG >>>> 2320 DATA 0,0,16,44,62,28,56,112,96 2330 DATA 129,66,126,90,126,106,86,60,96 2340 DATA 0,0,8,52,124,56,28,14,96 2350 DATA 112,121,127,63,31,7,1,1,96 2360 DATA 60,255,255,255,231,215,235,213,96 2370 DATA 14,158,254,252,248,224,128,128,96 2380 DATA 1,3,15,15,31,63,62,62,96 2390 DATA 171,213,235,215,235,255,60,0,96 2400 DATA 128,192,240,240,248,252,124,124,96 2410 DATA 30,15,15,3,59,127,127,57,96 2420 DATA 0,0,0,0,129,195,195,129,96 2430 DATA 120,240,240,192,220,254,254,156,96 2440 REM <<<< CENARIO >>>> 2450 DATA 129,255,129,129,129,255,129,129,128 2460 DATA 255,36,66,129,129,66,36,255,160 2470 REM <<<< HOMEM >>>> 2480 DATA 3,7,7,15,7,3,7,15,31,55,7,7,14,29,25,12 2490 DATA 128,192,224,128,192,128,192,224,240,176,128,128,128,128,192,224 2500 DATA 3,7,7,15,7,3,7,6,7,15,15,7,7,7,13,14 2510 DATA 128,192,224,128,192,128,128,128,0,192,224,128,128,128,192,224 2520 DATA 1,3,7,1,3,1,3,7,15,13,1,1,1,1,3,7 2530 DATA 192,224,224,240,224,192,192,240,248,236,224,224,112,184,152,48 2540 DATA 1,3,7,1,3,1,1,1,0,3,7,1,1,1,3,7 2550 DATA 192,224,224,240,224,192,224,96,224,240,240,224,224,224,176,112 2560 REM <<<< BARRIL >>>> 2570 DATA 0,0,0,0,0,0,3,7,12,24,24,25,26,12,7,3 2580 DATA 0,0,0,0,0,0,192,224,48,88,152,24,24,48,224,192 2590 DATA 0,0,0,0,0,0,3,7,12,26,25,24,24,12,7,3 2600 DATA 0,0,0,0,0,0,192,224,48,24,24,152,88,48,224,192 2610 REM <<<< ESCADA >>>> 2620 DATA 10,6,19,10,6,14,23,18,4,18,21,14,8,10,17,6,14,18,12,14 2630 REM <<<< SALTO >>>> 2640 DATA -5,-4,-3,-2,-1,0,0,1,2,3,4,5 2650 A$=INPUT$(1):RETURN |