Jawbreaker
Este jogo foi baseado no velho Pac Man.
Teste o programa no WebMSX – The Online MSX Emulator
Para fazer pontos, você deverá comer todas as vitaminas espalhadas pela tela, tomando cuidado com os guardiães que tentam impedir, a todo o custo, o seu objetivo.
Preste atenção na parte central da tela e tente apanhar as super vitaminas que de vez em quando aparecem.
Para jogar, use as setas.
Fonte: Revista CPU MSX nr. 1
Editora: Águia Informática
Ano: 1986
Autor: César Mattos – Arcadia Soft
Digitação: Jeimes Uchôa
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 |
20 TIME=0:KEYOFF:CLS:CLEAR1000:SCREEN1,2:COLOR15,1,1:CLS:ONSPRITEGOSUB920:OPEN"grp:"FOROUTPUTAS#1:STRIG(0)ON 30 A$="":B$="":RESTORE1100:FORX=1TO16:READD$:A$=A$+CHR$(VAL("&B"+LEFT$(D$,8))) 40 B$=B$+CHR$(VAL("&B"+RIGHT$(D$,8))) 50 NEXTX:SPRITE$(0)=A$+B$ 60 A$="":B$="":RESTORE1270:FORX=1TO16:READD$:A$=A$+CHR$(VAL("&B"+D$)):NEXTX:SPRITE$(1)=A$ 70 'VARIAVEIS 80 TT=0:TP=0:CH=3 90 M=154:N=36:'COORDENADAS 100 'APRESENTACAO 110 GOSUB1480 120 SCREEN2 130 PRESET(84,76):COLOR12:PRINT#1,"ARCADIA SOFT":PRESET(96,90):COLOR7:PRINT#1,"apresenta" 135 PRESET(85,77):COLOR12:PRINT#1,"ARCADIA SOFT":PRESET(97,91):COLOR7:PRINT#1,"apresenta" 138 LINE(78,70)-(185,70):LINE(78,105)-(185,105):LINE(78,70)-(78,105):LINE(185,70)-(185,105) 139 LINE(78,71)-(185,71):LINE(78,106)-(185,106):LINE(79,71)-(78,106):LINE(186,71)-(186,106) 140 FORV=1TO2:FORX1=60TO180:PUTSPRITE4,(X1,50):NEXTX1 150 FORX=70TO106:PUTSPRITE4,(180,X),12,0:NEXTX 160 FORX1=150TO80STEP-1:PUTSPRITE4,(X1,160),12,0:NEXTX1 170 FORX=106TO60STEP-1:PUTSPRITE4,(65,X),12,0:NEXTX 180 NEXTV 190 PUTSPRITE4,(-30,255),12,0:IFPLAY(0)THENGOTO190 200 SCREEN3:COLOR,1:CLS 210 'LINE(15,0)-(235,230),2,8 220 FORGG=1TO2:Y=0:Y1=0:A=RND(1)*13+2:IFA=7THENA=6 230 FORX=1TO10 240 COLORA:Y1=Y1+6:Y=Y+14:PSET(6+Y+Y1,Y1+70),1:PRINT#1,MID$("Jawbreake",X,1) 250 SOUND7,56:SOUND8,15:FORK=1TO20STEP4:SOUND0,K*5:NEXTK 260 PUTSPRITE4,(6+Y+Y1,100),A,0 270 NEXTX:A=RND(1)*13+2:IFA=7THENA=6 280 Y=Y1+Y+19:FORX=10TO1STEP-1 290 Y=Y-20:PSET(6+Y,70),1:COLORA:PRINT#1,MID$("Jawbreake",X,1) 300 PUTSPRITE4,(6+Y,100),A,0 310 FORK=20TO1STEP-4:SOUND0,K*5:NEXTK:NEXTX 320 ONSTRIGGOSUB1470 330 NEXTGG 340 GOSUB1480:WIDTH30:SCREEN1:COLOR1,7,2:LOCATE4,5:PRINTSTRING$(22,223):LOCATE6,6:PRINT"J A W B R E A K E R":LOCATE4,7:PRINTSTRING$(22,220):PUTSPRITE4,(122,80),13,0 350 PUTSPRITE4,(122,80),6,0 360 LOCATE1,22:PRINT"Pres. barra de espa‡o p/jogar";:FORX=1TO2000:NEXTX:COLOR,,1:GOTO200 370 'CENARIO 380 COLOR15,1:SCREEN2:SPRITEON:STRIG(0)OFF 390 COLOR7:PRESET(40,I):PRINT#1,"JAWBREAKER":COLOR12:PRESET(150,1):PRINT#1,STRING$(CH,CHR$(249)):COLOR14:PRESET(60,175):PRINT#1,"ARCADIA SOFT 1986":COLOR15 395 COLOR7:PRESET(41,1):PRINT#1,"JAWBREAKER":COLOR12:PRESET(150,1):PRINT#1,STRING$(CH,CHR$(249)):COLOR14:PRESET(60,176):PRINT#1,"ARCADIA SOFT 1986":COLOR15 400 FORX=1TO3:LINE(30-X,12-X)-(220-X,172-X),12,B:NEXTX 410 LINE(50,30)-(200,30),4 420 LINE(50,50)-(200,50),4 430 LINE(50,70)-(200,70),4:LINE(50,90)-(200,90),4:LINE(50,110)-(200,110),4:LINE(50,130)-(200,130),4:LINE(50,150)-(200,150),4 440 FORX=18TO160STEP20:PRESET(50,X):PRINT#1,STRING$(19,CHR$(196)):NEXTX 445 ONINTERVAL=1500GOSUB1450 450 'COMANDO DO JOGO 460 INTERVALON 470 V=RND(1)*12:W=RND(1)*12 480 FORX=30TO203STEP8:X1=X:X2=211-X+20 490 IFV<6THENGOSUB840 500 IFW<4THENGOSUB850 510 IFW>8THENGOSUB860 520 IFV>3THENGOSUB870 530 IFW<10THENGOSUB880 540 IFV<8THENGOSUB890 550 IFV>5THENGOSUB900 560 IFV<6THENGOSUB910 570 GOSUB720:NEXTX 580 FORX=30TO203STEP8:X2=X:X1=211-X+20 590 IFV<6THENGOSUB840 600 IFW<4THENGOSUB850 610 IFW>8THENGOSUB860 620 IFV>3THENGOSUB870 630 IFW<10THENGOSUB880 640 IFV<8THENGOSUB890 650 IFV>5THENGOSUB900 660 IFV<6THENGOSUB910 670 GOSUB720 680 NEXTX 690 AA=RND(1)*4 700 FORX=2TO10:PUTSPRITEX,(-20,255),9,1:NEXTX:IFAA<3THENGOTO450 710 GOTO580 720 'MOV. JAW 730 INTERVALON:A=STICK(0):IFA=7ANDN>36THENN=N-8 740 IFN=124ANDM=74ANDFLAG=1THENGOTO780 750 IFA=3ANDN<203THENN=N+8 760 IFA=1ANDPOINT(N+7,M-4)<>4ANDPOINT(N,M-4)<>4ANDM>17THENM=M-20 770 IFA=5ANDPOINT(N+7,M+16)<>4ANDPOINT(N,M+16)<>4ANDM<150THENM=M+20 780 PUTSPRITE1,(N,M),9,1 790 IFN=124ANDM=74ANDFLAG=1THENPLAY"V13L32ABCDDCBA":TT=TT+100:PT=PT+100:GOSUB1460 800 IFPOINT(N+3,M+8)=15ORPOINT(N+3,M+8)=7THENTP=TP+1:PT=PT+10:PRESET(N,M+4):COLOR1:PRINT#1,CHR$(219):COLOR15:PLAY"V13S0M1000O4C#":TT=TT+10:IFTP=151THENGOSUB1480:GOSUB1050 810 IFTT>=5000THENTT=0:CH=CH+1:PLAY"V15T255O4L8DL4BL8GL8DL4CL8AL1GL32":COLOR7:PRESET(40,1):PRINT#1,"JAWBREAKER":COLOR12:PRESET(150,1):PRINT#1,STRING$(CH,CHR$(249)):COLOR15 820 RETURN 830 'IMPRESS.DOS INIMIGOS 840 PUTSPRITE3,(X2,30),10,0:RETURN 850 PUTSPRITE4,(X1,10),12,0:RETURN 860 PUTSPRITE5,(X1,50),13,0:RETURN 870 PUTSPRITE6,(X2,70),8,0:RETURN 880 PUTSPRITE7,(X1,90),2,0:RETURN 890 PUTSPRITE8,(X2,110),7,0:RETURN 900 PUTSPRITE9,(X1,130),9,0:RETURN 910 PUTSPRITE10,(X2,150),14,0:RETURN 920 IFPLAY(0)THEN920 930 SOUND7,56:SPRITEOFF:SOUND8,15:SOUND1,0:FORY=50TO200STEP5:SOUND0,Y+RND(1)*25:PUTSPRITE1,(N,M),RND(1)*7,1:NEXTY:SOUND8,0 940 CH=CH-1:IFCH=0THENGOTO990 950 COLOR1:PRESET(40,1):PRINT#1,STRING$(22,CHR$(219)) 960 N=124:M=74:GOSUB720 970 COLOR7:PRESET(40,1):PRINT#1,"JAWBREAKER":COLOR12:PRESET(150,1):PRINT#1,STRING$(CH,CHR$(249)):COLOR15 980 FORS=3TO10:PUTSPRITES,(-20,255),1,0:NEXTS:SPRITEON:RETURN 990 'ROT.FINALIZACAO 1000 PRESET(82,78):COLOR1:PRINT#1,STRING$(12,CHR$(219)):COLOR1:PRESET(80,96):PRINT#1,STRING$(12,CHR$(219)):PRESET(84,78):COLOR10:PRINT#1,"FIM DE JOGO":PRESET(80,100):PRINT#1,USING"####";PT;:PRINT#1," PONTOS" 1010 PLAY"V15L16O5CCO4BAGFEDCCCCC","V13L16O4CCDEFGABO5CCCCC","V14O3L4CCCL16C" 1020 FORY=1TO10:PUTSPRITEY,(0,0),1,0:NEXTY:FORY=1TO1000:NEXTY:CLOSE 1030 IFPLAY(0)THEN1030 1040 RUN 1050 'QD. TP=152 1060 INTERVALOFF:SPRITEOFF:FORY=2TO10:PUTSPRITEY,(-20,255),9,1:NEXTY 1070 PRESET(74,77):COLOR12:PRINT#1,PT;"PONTOS":FORX=1TO220:NEXTX:COLOR1:PRESET(74,77):PRINT#1,STRING$(15,CHR$(219)):COLOR15 1080 TP=0:N=124:M=74:PUTSPRITE1,(N,M),9,1 1090 FORY=18TO160STEP20:PRESET(50,Y):PRINT#1,STRING$(19,CHR$(196)):NEXTY:SPRITEON:INTERVALON:RETURN 1100 DATA0000000000000000 1110 DATA0001111111111000 1120 DATA0011111111111100 1130 DATA0111111111111110 1140 DATA1110001111000111 1150 DATA1110001111000111 1160 DATA1110001111000111 1170 DATA1110001111000111 1180 DATA1111111111111111 1190 DATA1111111111111111 1200 DATA1111111111111111 1210 DATA1111100000011111 1220 DATA1111100000011111 1230 DATA1111111111111111 1240 DATA0101010101010101 1250 DATA1010101010101010 1260 ' 1270 DATA11111111 1280 DATA11111111 1290 DATA10011001 1300 DATA10011001 1310 DATA10011001 1320 DATA11111111 1330 DATA10000001 1340 DATA10000001 1350 DATA11000011 1360 DATA11111111 1370 DATA11111111 1380 DATA10101010 1390 DATA10101010 1400 DATA10101010 1410 DATA00000000 1420 DATA00000000 1430 BEEP:GOTO1430 1440 DATA00000000 1450 COLOR7:PRESET(122,78):PRINT#1,CHR$(1)CHR$(66):FLAG=1:ONINTERVAL=300GOSUB1460:COLOR15:RETURN 1460 COLOR1:PRESET(122,78):PRINT#1,CHR$(219):FLAG=0:ONINTERVAL=1500GOSUB1450:RETURN 1470 COLOR,,1:PLAY"L32C16DEFGABO5C":RETURN370 1480 SOUND7,56:PLAY"T250","T250":PLAY"O1M5000L4","S9M400L4" 1490 PLAY"O4R1","O3C8.E8.G4.G4." 1500 PLAY"O4C8.E8.G4.G4.","R1" 1510 PLAY"O4F4.E4.D4.","O3F4.E4.D4." 1520 PLAY"O4G4.G4.E4.","O3E4.E4.C4." 1530 RETURN |