home *** CD-ROM | disk | FTP | other *** search
/ A.N.A.L.O.G. Magazine 1989 February / 89_feb.atr / trial.act < prev    next >
Text File  |  2023-02-26  |  8KB  |  1 lines

  1. ; TRIAL BY FIRE¢; BY GREG KNAUSS¢; COPYRIGHT 1988 BY ANALOG COMPUTING¢;¢;      CHECKSUM DATA¢;[DC ED BE 0C B3 A5 3B 0E ¢; 0C 57 BC E8 86 72 82 30 ¢; A8 95 4A 7E 83 10 CB 94 ¢; C6 BA 44 71 EA A2 10 4F ¢; 5F F8 73 68 2D 96 B8 B4 ¢; 42 58 CA 9A D4 65 98 ]¢¢CARD I,DL,SC,CH,CH2,DRB,K,SCORE,¢     HSCORE,SCR¢BYTE S,J,PM,BABY,BABES,HIT,MISS,ADV,¢     LVL,UD,BSAV,NXTL,KEY,BRN¢CARD ARRAY X(5),Y(5),B(5),Q(5),UP(5)¢¢PROC CHSET()¢[0 0 0 0 0 0 0 0¢0 0 1 85 2 2 2 5¢0 0 0 0 0 0 0 0¢0 85 86 85 162 170 160 170¢0 64 128 80 0 128 128 128¢0 1 2 5 0 2 2 0¢0 85 149 85 138 170 170 170¢0 0 64 85 128 128 128 80¢5 5 5 1 0 1 1 3¢64 84 85 85 0 85 85 255¢0 0 111 104 0 64 64 192¢0 0 255 0 0 0 0 0¢0 0 249 41 0 1 1 3¢5 21 85 84 1 85 85 255¢80 80 64 0 64 64 64 192¢¢1 5 5 21 21 84 80 252¢85 85 69 1 1 0 0 0¢64 64 64 80 80 80 80 252¢1 1 5 5 21 20 20 252¢85 85 65 0 0 0 0 0¢64 80 80 84 84 20 20 252¢¢255 255 255 255 255 255 255 255¢255 195 195 195 195 195 195 255¢255 190 190 234 254 254 254 255¢255 235 254 254 251 239 234 255¢254 255 255 63 63 15 3 0¢191 255 255 252 252 240 192 0¢3 15 15 15 15 63 63 63¢63 63 63 63 255 255 255 255¢253 213 213 253 253 253 255 255¢127 87 87 127 127 127 255 255¢255 255 255 255 255 255 253 253¢255 255 255 255 255 255 127 127]¢¢PROC FIRE()¢[255 255 255 255 255 253 245 247¢0 0 0 1 1 68 64 0¢117 85 119 215 213 85 85 85¢255 215 211 215 215 199 215 255¢85 85 87 87 93 85 87 127¢85 119 95 95 127 255 255 255¢255 255 247 245 245 213 215 87¢223 253 125 117 245 85 85 85¢81 81 69 84 84 80 64 0¢16 0 1 17 16 17 85 85¢245 197 213 215 215 215 87 95¢85 85 85 85 85 85 85 85]¢¢PROC FIRE2()¢[255 255 255 255 253 253 245 213¢0 0 0 0 0 4 16 0¢93 125 117 85 93 93 85 85¢255 211 215 199 215 199 199 255¢87 87 93 85 87 119 95 127¢117 119 127 255 255 255 255 255¢255 255 255 253 247 213 215 85¢221 125 245 245 213 85 85 93¢85 84 68 16 16 64 0 0¢0 1 1 64 68 68 69 85¢245 213 213 213 211 211 87 95¢85 85 85 85 85 85 85 85]¢¢PROC BABIES()¢[28 56 60 153 255 60 189 255¢23 39 62 156 189 246 96 56¢216 144 246 255 255 245 144 216¢56 96 246 189 156 63 39 19¢255 189 60 255 153 60 28 56¢28 6 111 189 57 124 228 232¢27 9 175 255 255 111 9 27¢200 228 252 57 189 111 6 28¢28 56 60 153 255 60 189 255¢0 0 7 6 31 62 62 59¢0 0 7 6 31 62 60 118¢0 0 7 6 31 62 60 236¢0 0 7 6 31 62 60 118]¢¢PROC DLIST()¢[112 112 70 0 0 7 130 16 68 0 0¢4 4 4 4 4 4 4 4 4 4 4 4 132 4 4 4 132¢4 65 DLIST]¢¢PROC DLI()¢[72 238 0 5 173 0 5 141 10¢212 201 1 208 17 169 0 141 9 212 169¢15 141 24 208 169 44 141 23 208 104¢64 201 2 208 7 169 86 141 22 208 104¢64 169 0 141 0 5 169 0 141 26 208¢104 64]¢¢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 YPOS()¢[175 156 131 123 115 107 99 91 82 74¢70 66 62 58 56 55 54 54 55 54 56 58¢62 66 70 74 82 91 99 107 115 123 131¢156 175 180]¢¢PROC CLRS()¢[44 246 72 56 76 15 146 8 146] ¢¢PROC BURN()¢BRN=8-BRN POKE(1715,CH/256-BRN)¢POKE(708,86+BRN/4) RETURN¢¢PROC WAIT()¢FOR K=1 TO 1000 DO OD RETURN¢¢PROC SETUP()¢GRAPHICS(0) POKE(82,0) POKE(752,1)¢POKE(559,0)¢CH=(PEEK(106)-8)*256¢MOVEBLOCK(CH,CHSET,8*34)¢MOVEBLOCK(CH+8*34,FIRE,13*8)¢CH2=(PEEK(106)-16)*256¢MOVEBLOCK(CH2,CHSET,8*34)¢MOVEBLOCK(CH2+8*34,FIRE2,13*8)¢¢DL=PEEKC(88) SC=(PEEK(106)-40)*256¢POKEC(DLIST+3,DL) POKEC(DLIST+9,SC)¢POSITION(23,0)¢PRINT("trial by fire⇧") ZERO(SC,3072)¢FOR I=0 TO 2 DO POKEC(88,SC+1024*I)¢POKE(82,35) POSITION(35,15)¢PRINT(";5?@5<5=>555555  ¨´")¢POKE(82,0) POSITION(0,1)¢PRINTE("ŒŒŒŒŒŒ") PRINTE("ŒŒŒŒŒŒ")¢PRINTE("ŒŒ66ŒŒ") PRINTE("ŒŒ  ŒŒ")¢PRINTE("ŒŒŒŒŒŒ") PRINTE("ŒŒŒŒŒŒ")¢PRINTE("ŒŒ66ŒŒ") PRINTE("ŒŒ66ŒŒ")¢PRINTE("ŒŒŒŒŒŒ") PRINTE("ŒŒאזחגKC")¢PRINTE("ŒŒLEלהJ") PRINTE("ŒŒELהו")¢PRINTE("ŒŒŒŒŒŒ") PRINTE("ŒŒŒŒŒŒ")¢PRINTE("ŒŒÃÕŒŒ") PRINTE("ŒŒ55ŒŒ")¢PRINTE("ŒŒ55ŒŒ") PRINTE("ŒŒ55ŒŒ")¢POKE(82,8+I*9) POSITION(8+I*9,16)¢PRINTE("!#$  %&'") PRINTE("()*++,-.")¢PRINTE("/01  234") OD POKEC(88,DL)¢MOVEBLOCK(1700,DLI,55)¢POKE(1715,CH/256)¢MOVEBLOCK(1536,PLRVBI,160)¢PM=PEEK(106)-56 DRB=PM*256+1¢ZERO(DRB+1024,1024) POKE(1788,PM+4)¢POKE(53277,3) POKE(54279,PM)¢POKE(1771,PM) SETBLOCK(1784,4,8)¢SETBLOCK(1772,4,1) FOR I=0 TO 3 DO¢MOVEBLOCK(DRB+I*256,BABIES,104) OD¢MOVEBLOCK(704,CLRS,9)¢HSCORE=0 POKEC(560,DLIST)¢POKEC(512,1700) POKE(1280,0)¢POKE(54286,192) POKEC(548,PLRVBI)¢POKE(559,62) RETURN¢¢PROC MAIN()¢SETUP() LVL=1 DO¢POKE(1772,1) POSITION(2,1)¢POKEC(DLIST+9,SC+1024)¢POKE(53248,128) POKE(1780,180)¢PRINT("     Copyright 1987 Magnum")¢PRINT(" Opus     ") BRN=0¢DO FOR I=0 TO 32 DO¢J=PEEK(I+YPOS) POKE(1780,J+13)  ¢WAIT() BURN()¢KEY=PEEK(53279) IF KEY=5 OR¢ STICK(0)<>15 THEN LVL==+1¢IF LVL>9 THEN LVL=1 FI POSITION(7,1)¢PRINT("         Level: ") PRINTB(LVL)¢PRINT("         ") FI¢J=STRIG(0) POKE(77,0)¢IF KEY=6 OR J=0 THEN EXIT FI OD¢UNTIL KEY=6 OR J=0 OD POKE(53248,0)¢SCORE=0 SCR=0 BSAV=0 MISS=0 ADV=0¢BRN=0 NXTL=3*LVL BABES=LVL/3+1¢UD=1-LVL MOD 2 POSITION(7,1)¢PRINT("       Get ready...       ")¢FOR I=1 TO 100 DO BURN() WAIT() OD¢POSITION(2,1) PRINT("Misses: 0")¢PRINT("    Score: 0      Level: ")¢PRINTB(LVL)¢¢DO¢FOR I=1 TO 4 DO X(I)=0 Y(I)=0 B(I)=0¢Q(I)=0 UP(I)=1 OD HIT=0¢DO POKE(77,0) SNDRST() S=STICK(0)¢IF S=11 THEN J=0 ELSEIF S=7 THEN J=2¢ ELSE J=1 FI¢POKEC(DLIST+9,SC+J*1024) BURN()¢IF ADV=1 AND BSAV MOD NXTL=0 THEN¢ LVL==+1 POSITION(36,1) PRINTB(LVL)¢ NXTL=LVL*3 BSAV=0 ADV=2 UD=0 FI¢IF LVL MOD 2=0 AND ADV=2 THEN UD=1 FI¢IF LVL MOD 3=0 AND ADV=2 THEN¢ BABES==+1 ADV=0 FI¢IF LVL MOD 2=0 THEN ADV=0 FI¢IF LVL>10 THEN UD=1-LVL MOD 2 BABES=4¢ FI¢IF SCR>SCORE THEN SCORE=SCR¢ POSITION(22,1) PRINTC(SCORE) FI¢FOR BABY=1 TO BABES DO¢POKE(1772+BABY-1,Q(BABY)/4*8+1)¢POKE(1780+BABY-1,Y(BABY)+8)¢POKE(53248+BABY-1,X(BABY))¢IF B(BABY)=1 THEN X(BABY)==+UP(BABY)¢ Q(BABY)==+1¢ Y(BABY)=PEEK(YPOS+Q(BABY))¢IF Y(BABY)>175 AND X(BABY)=92 AND¢ J<>0 THEN HIT=1 FI¢IF Y(BABY)>175 AND X(BABY)=127 AND¢ J<>1 THEN HIT=1 FI¢IF Y(BABY)>175 AND X(BABY)=162 AND¢ J<>2 THEN HIT=1 FI¢IF Y(BABY)>175 AND HIT=0 THEN¢ Q(BABY)=0 SOUND(0,200,10,10)¢ UP(BABY)=1 IF UD=1 THEN¢ UP(BABY)=RAND(2) FI SCR==+UP(BABY)¢ FI¢IF X(BABY)>195 THEN X(BABY)=0¢ Y(BABY)=0 Q(BABY)=0 B(BABY)=0¢ BSAV==+1 ADV=1 SCR==+LVL FI FI¢IF RAND(25)<1 AND B(BABY)=0 AND¢ (Q(1)<5 OR Q(1)>15) AND¢ (Q(2)<5 OR Q(2)>15) THEN IF¢ (Q(3)<5 OR Q(3)>15) AND¢ (Q(4)<5 OR Q(4)>15) THEN X(BABY)=67¢ Q(BABY)=10 B(BABY)=1 S=RAND(4)¢ K=PEEK(CLRS+S) POKE(703+BABY,K) FI¢ FI¢ OD¢IF LVL<11 THEN WAIT() ELSE¢ FOR K=1 TO 2000-LVL*100 DO OD FI¢IF PEEK(764)=33 THEN  DO POKE(77,0)¢ SNDRST() UNTIL STRIG(0)=0 OD¢ POKE(764,255) FI¢UNTIL HIT<>0 OD¢¢FOR BABY=1 TO BABES DO¢IF Y(BABY)<176 THEN¢ POKE(53248+BABY-1,0) FI¢IF Y(BABY)>175 THEN¢ POKE(1780+BABY-1,215) J=BABY¢ FOR I=1 TO 1000 DO OD FI OD¢MISS==+1 POSITION(10,1) PRINTB(MISS)¢SOUND(0,200,8,12) FOR I=1 TO 60 DO¢BURN() WAIT() IF I=3 THEN SNDRST() FI¢OD BABY=9 FOR I=X(J) TO 255 DO BURN()¢POKE(1772+J-1,BABY*8+1) BABY==+1¢IF BABY=12 THEN BABY=9 FI¢POKE(53248+J-1,I) WAIT()¢POKE(764,255) OD IF MISS=3 THEN EXIT¢ FI¢OD¢¢IF SCORE>HSCORE THEN HSCORE=SCORE FI¢POSITION(1,1) PRINT("            ")¢PRINT("                          ")¢POSITION(1,1) PRINT("Score: ")¢PRINTC(SCORE) POSITION(13,1)¢PRINT("High Score: ") PRINTC(HSCORE)¢POSITION(30,1) PRINT("Level: ")¢PRINTB(LVL) DO BURN() WAIT() UNTIL¢STRIG(0)=0 OD FOR K=1 TO 10000 DO OD¢POSITION(1,1) PRINT("            ")¢PRINT("                          ")¢OD¢