home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1988 February / Antic_Magazine_1988_02_Antic_Side_A.atr / frog.act < prev    next >
Text File  |  2023-02-26  |  8KB  |  1 lines

  1. ; FROG¢; BY GREG KNAUSS¢; (c)1987, ANTIC PUBLISHING¢¢BYTE TIME,SEC,PIC,JMP,SCR,DEL,FLY,FS,¢     PM,DX,DY,EX,EY,OY,S,T,W,U,D,M¢BYTE ARRAY FY(4)¢INT  DIR,TN,OX¢INT  ARRAY FD(4)¢CARD DRB,CH,DL,X,Y,I,J,K¢CARD ARRAY FX(4)¢¢PROC PLRVBI()¢[162 3 189 244 6 240 89 56 221 240 6¢240 83 141 254 6 106 141 255 6 142¢253 6 24 169 0 109 253 6 24 109 252¢6 133 204 133 206 189 240 6 133 203¢173 254 6 133 205 189 248 6 170 232¢46 255 6 144 16 168 177 203 145 205¢169 0 145 203 136 202 208 244 76 87¢6 160 0 177 203 145 205 169 0 145¢203 200 202 208 244 174 253 6 173¢254 6 157 240 6 189 236 6 240 48 133¢203 24 138 141 253 6 109 235 6 133¢204 24 173 253 6 109 252 6 133 206¢189 240 6 133 205 189 248 6 170 160¢0 177 203 145 205 200 202 208 248 ¢174 253 6 169 0 157 236 6 202 48 3¢76 2 6 76 98 228 0 0]¢¢PROC MYVBI()¢TIME==+1 [76 $E45F]¢¢PROC DLI()¢[72 238 0 5 173 0 5 141 10 212 201 1¢208 12 169 99 141 9 212 169 198 141 23¢208 104 64 201 2 208 7 169 40 141 26¢208 104 64 201 3 208 15 169 130 141¢26 208 141 24 208 169 9 141 25 208¢104 64 169 224 141 9 212 169 15 141¢23 208 169 0 141 0 5 104 64]¢¢PROC DLIST()¢[112 112 112 66 0 0 5 5 7 6 130 5¢5 5 132 132 5 5 4 132 2 65]¢¢PROC FROG1()¢[0 0 0 0 0 0 0 0¢0 0 0 0 0 0 0 0¢0 0 0 0 54 108 255 227¢126 128 252 252 238 118 54 59¢108 216 254 130 198 252 0 252¢220 204 238 102 116 160 208 240¢240 240 240 224 224 224 224 192¢128 192 224 192 128 0 0 0¢0 128 192 192 192 224 224 224¢224 240 240 240 240 240 240 240¢248 248 248 248 192 54 108 255¢193 99 190 128 206 198 231 198¢0 0 0 0 0 0 0 0¢0 0 0 0 0 0 0 0 ¢0 0 0 0 0 240 124 126 ¢255 199 187 127 127 119 250 124 ¢0 0 128 128 128 64 224 224¢224 96 96 240 240 240 240 240 ¢240 240 120 120 120 56 188 188 ¢140 156 188 156 8 0 0 0 ¢128 196 238 223 158 188 184 184¢56 120 120 248 240 240 240 240¢240 224 224 224 224 224 192 64¢64 192 128 128 128 0 0 0]¢¢PROC FROG2()¢[0 0 0 0 0 0 0 0¢0 0 0 0 0 0 0 0¢0 0 0 0 0 15 62 126¢255 227 221 254 254 238 95 62¢0 0 1 1 1 2 7 7¢7 6 6 15 15 15 15 15¢15 15 30 30 30 28 61 61¢49 57 61 57 16 0 0 0¢1 35 119 251 121 61 29 29¢28 30 30 31 15 15 15 15¢15 7 7 7 7 7 3 2¢2 3 1 1 1 0 0 0¢0 0 0 0 0 0 0 0 ¢0 0 0 0 0 0 0 0 ¢0 0 0 0 108 54 255 199 ¢126 1 63 63 119 110 108 220 ¢54 27 127 65 99 63 0 63 ¢59 51 119 102 46 5 11 15¢15 15 15 7 7 7 7 3 ¢1 3 7 3 1 0 0 0 ¢0 1 3 3 3 7 7 7 ¢7 15 15 15 15 15 15 15 ¢31 31 31 31 3 108 54 255 ¢131 198 125 1 115 99 231 99]¢¢PROC TOUNGE()¢[0 255 127 63 31 15 7 3 1 0¢128 192 224 240 248 252 254 255]¢¢PROC DRAGON()¢[66 165 153 126 24 0 0 0¢0 0 0 24 126 153 165 66]¢¢PROC CHRS()¢[0 0 0 0 0 0 0 0¢0 0 10 42 10 0 0 0¢0 0 0 0 0 0 0 0¢0 42 170 170 170 170 0 0¢2 170 85 170 170 170 170 0¢170 165 90 170 170 170 170 0¢170 85 170 170 170 169 170 170¢170 85 170 169 150 106 170 170¢165 90 165 90 170 170 170 170¢85 89 169 169 170 170 170 170¢85 165 170 170 106 106 106 170¢90 85 165 170 170 170 170 170¢170 85 90 165 170 170 170 170¢170 85 170 90 165 170 170 170¢170 170 85 170 90 165 170 170¢170 170 85 170 170 106 170 170¢170 170 90 165 170 170 170 170¢170 170 170 85 170 170 170 170¢170 170 170 85 170 170 170 170¢170 170 170 170 85 170 170 170¢170 170 170 170 85 170 170 170¢170 170 170 170 90 170 170 160¢170 170 170 170 170 170 170 0¢0 170 170 170 170 170 160 0¢0 0 170 170 170 160 0 0¢0 0 0 128 0 0 0 0¢16 156 216 156 216 156 16 16¢16 16 16 16 0 0 0 0¢16 16 16 16 16 16 0 0¢16 16 16 16 16 16 16 16]¢¢PROC FLIES()¢[3 12 48 192]¢¢PROC CLRS()¢[66 202 202 4 196 15 134 0 134]¢¢PROC PAUSE()¢SNDRST() POSITION(15,0)¢PRINT("* Paused *") POKE(764,255)¢WHILE PEEK(764)=255 DO OD¢POSITION(15,0) PRINT("          ")¢POKE(764,255) RETURN¢¢PROC SHOOT()¢T==+TN IF T=10 OR T=95 THEN TN=-TN FI¢IF T=50 THEN TN=0 FI POKE(53248,X+OX)¢POKE(1780,Y+OY) POKE(1772,T/5)¢IF TN<>0 THEN FOR M=0 TO 3 DO¢IF PEEK(53256+M)=1 THEN FX(M)=3000¢SOUND(1,50,10,10) SCR==+1¢POSITION(9,14) PRINTC(SCR)¢SOUND(1,0,0,0) FI OD IF PEEK(53263)=1¢THEN SOUND(1,100,10,10) DY=0SEC==+30¢SCR==+5 POKE(53251,0) POSITION(9,14)¢PRINTC(SCR) SOUND(1,0,0,0) FI FI¢POKE(53278,0) RETURN¢¢PROC PLACE()¢SHOOT() OX=-28 IF DIR=1 THEN OX=11 FI¢OY=23 IF PIC MOD 3=1 THEN OY=4 FI¢IF PIC MOD 3=2 THEN OY=25 FI RETURN¢¢PROC MOVE()¢POKE(16,112) POKE(53774,112)¢IF PEEK(764)=33 THEN PAUSE() FI¢POKE(53250,X) POKE(53249,X+8)¢POKE(1782,Y) POKE(1781,Y)¢IF STRIG(0)=0 AND TN=0 AND JMP=2¢THEN TN=DIR T=50 PLACE() FI¢IF DY<4 THEN FOR DEL=1 TO 50 DO OD FI¢IF DX>3 AND DY>3 THEN DX==+1¢IF DX>EX THEN DX==-2 FI DY==+1¢IF DY>EY THEN DY==-2 FI¢IF EX=DX OR EY=DY THEN¢EX=RAND(240)+10 EY=RAND(70)+20 FI¢POKE(53251,DX) POKE(1783,DY)¢POKE(1775,(DX MOD 2)*8+1) FI¢IF SEC MOD 20=0 THEN DX=250+RAND(2)*10¢DY=5 EX=RAND(255) EY=RAND(100)+50 FI¢IF SEC MOD 20=15 AND DX>3 AND DY>3¢THEN EX=125+RAND(10) EY=0 FI¢IF TIME>58 AND SEC>0 THEN TIME=0¢SEC==-1 POSITION(35,14) PRINTB(SEC)¢PRINT(" ") FI¢SHOOT() FLY==+1 IF FLY=4 THEN FLY=0¢FI FX(FLY)==+FD(FLY)*FS¢IF FX(FLY)>2450 OR FD(FLY)=0 THEN¢FOR M=0 TO 1 DO U=PEEK(FLIES+FLY)¢D=FY(FLY) W=PEEK(DRB+768+D+M)-U¢POKE(DRB+768+D+M,W) OD FD(FLY)=1¢IF RAND(10)>5 THEN FD(FLY)=-1 FI¢FX(FLY)=RAND(400) IF FD(FLY)=-1 THEN¢FX(FLY)=2150+RAND(400) FI¢FY(FLY)=50+RAND(100) FOR M=0 TO 1 DO¢U=PEEK(FLIES+FLY) D=FY(FLY)¢W=PEEK(DRB+768+D+M)+U¢POKE(DRB+768+D+M,W) OD FI¢D=FX(FLY)/10 POKE(53252+FLY,D)¢RETURN¢¢PROC ANIMATE()¢POKE(1773,PIC*32+1)¢POKE(1774,PIC*32+1) RETURN¢¢PROC SPLASH()¢T=50 TN=0 FOR I=0 TO 31 DO Y==+1¢POKE(1785,32-I) POKE(1786,32-I)¢MOVE() OD X=0 MOVE() POKEC(548,$E462)¢I=SEC DO SEC==-1 POSITION(35,14)¢PRINTB(SEC) PRINT(" ")¢SOUND(0,200,10,10) FOR DEL=1 TO 5 DO¢MOVE() OD SOUND(0,0,0,0)¢FOR DEL=1 TO 5 DO MOVE() OD¢IF SEC=I-30 OR SEC=0 THEN EXIT FI OD¢POKEC(548,PLRVBI) PIC=1 X=50 DIR=1¢JMP=2 FOR I=1 TO 32 DO Y==-1¢POKE(1785,I) POKE(1786,I) ANIMATE()¢MOVE() OD PIC=0 RETURN¢¢PROC SETUP()¢DO GRAPHICS(0) POKE(559,0)¢POKE(752,1) DL=PEEKC(88)¢POKE(16,112) POKE(53774,112) ¢POKEC(DLIST+4,DL) FOR I=0 TO 1 DO¢POKE(82,I*34+1) POSITION(I*34+1,5)¢PRINTE(":  :") PRINTE("= :=")¢PRINTE("=:==") PRINTE("====")¢PRINTE("====") PRINTE("====")¢PRINTE("<=;<") OD POSITION(8,11)¢PRINT("!#$%&'()*+,-./0123456789")¢POSITION(2,14) PRINT("Score: 0")¢POSITION(29,14) PRINT("Time: 120")¢CH=(PEEK(106)-8)*256¢MOVEBLOCK(CH,CHRS,1024)¢POKE(DLI+15,CH/256)¢MOVEBLOCK(1536,PLRVBI,160)¢PM=PEEK(106)-24 DRB=PM*256+1¢POKE(1788,PM+4) POKE(53277,3)¢POKE(54279,PM) POKE(1771,PM-1)¢POKE(53256,3) POKE(623,17)¢MOVEBLOCK(DRB-256,TOUNGE,20)¢MOVEBLOCK(DRB,FROG1,192)¢MOVEBLOCK(DRB+256,FROG2,192)¢MOVEBLOCK(DRB+512,DRAGON,16)¢ZERO(DRB+768,1280)¢MOVEBLOCK(704,CLRS,9)¢T=50 SETBLOCK(1773,3,1)¢POKE(1784,1) POKE(1785,32)¢POKE(1786,32) POKE(1787,8)¢POKE(1280,0) POKEC(548,PLRVBI)¢POKEC(546,MYVBI) POKEC(560,DLIST)¢POKEC(512,DLI) POKE(54286,192)¢¢FOR I=0 TO 3 DO FX(I)=0 FY(I)=0¢FD(I)=0 OD SEC=121 SCR=0 FS=5 FLY=0¢DY=0 X=120 Y=160 DIR=1 PIC=0 TN=0¢ANIMATE() MOVE() POSITION(8,3)¢PRINT("FROG") POSITION(13,4)¢PRINT("By Greg Knauss") POSITION(7,0)¢PRINT("(c)1987 Antic Publishing")¢POKE(559,62) WHILE PEEK(53279)<>6 AND¢STRIG(0)=1 DO OD POSITION(8,3)¢PRINT("    ") POSITION(13,4)¢PRINT("              ") POSITION(7,0)¢PRINT("                          ")¢¢DO IF SEC=0 THEN EXIT FI¢JMP=0 S=STICK(0)¢IF S=7 THEN PIC=1 DIR=1 JMP=1 FI¢IF S=11 THEN PIC=4 DIR=-1 JMP=1 FI¢IF S=14 THEN JMP=2 FI¢IF S=13 THEN DIR=-DIR PIC=3-PIC FI¢IF X<80 OR X>167 THEN SPLASH() FI¢IF JMP=1 THEN ANIMATE() PLACE()¢FOR I=0 TO 9 DO X==+DIR Y==-1 MOVE()¢SOUND(0,Y-90,10,4) OD FOR I=0 TO 9 DO¢X==+DIR Y==+1 MOVE()¢SOUND(0,Y-90,10,4) OD PIC==-1 PLACE()¢SOUND(0,0,0,0) FI¢IF JMP=2 THEN PIC==+1 ANIMATE()¢PLACE() FOR I=0 TO 126 DO¢SOUND(0,Y,10,6-I/20) IF I MOD 9=0 THEN¢X==+DIR FI Y==-1 MOVE() OD PIC==+1¢ANIMATE() PLACE() SOUND(0,0,0,0)¢FOR I=0 TO 126 DO IF I MOD 9=0 THEN¢X==+DIR FI Y==+1 MOVE() OD PIC==-2¢PLACE() FI IF S<>15 AND X>79¢AND X<168 THEN FOR I=1 TO 70 DO¢ANIMATE() MOVE() OD FI IF S=15 THEN¢ANIMATE() MOVE() FI FS=SCR/2+5¢POKE(77,0) FOR DEL=1 TO 20 DO OD OD¢¢POSITION(5,3) PRINT("GAME OVER!")¢POSITION(9,14) PRINTB(SCR)¢FOR I=1 TO 500 DO MOVE() OD¢POSITION(10,0)¢PRINT("Press the trigger...")¢WHILE STRIG(0)=1 DO MOVE() OD OD¢¢