MODULE››; W. C. PLUS - 2010›; VER. 2016 WAPNIAK - BEZ LG!››;INCLUDE "D1:RT.ACT";MIRAGE››;INCLUDE "RT2.ACT"›;INCLUDE "D2:RT*.ACT"›;INCLUDE "D3:RUNTIME.ACT"››;INCLUDE "D3:RT_HM.ACT";DZIALA STABILNIE!›;^››››INCLUDE "S.ACT"››INCLUDE "PLAYER.ACT"›INCLUDE "WG.ACT"››;PROC GRAPHICS(BYTE GR)CLOSE (6)OPEN(6,"S:",(GR&$F0)!$1C,GR)RETURN››››PROC RST(BYTE SU)›POK(706)=ST1›IF LG=0 OR SU=1 THEN›POK(53250)=C+4›FOR Q=1 TO 15 DO Q1=GWI(Q) POK(Z+1536+D+6+Q)=Q1 OD›ELSE›;W1=POK(564)›W1=POK(564)-50›POK(53250)=W1+4›;W1=POK(565)*2-16›W1=POK(565)*2-18›IF W1<25 THEN W1=25 FI›IF W1>180 THEN W1=180 FI››FOR Q=1 TO 15 DO Q1=GWI(Q) ›;POKE(Z+1536+D+6+Q,Q1) OD›POK(Z+1536+W1+6+Q)=Q1 OD›FI›RETURN›PROC RST1(BYTE SU)›POK(707)=ST1›IF LG=0 OR SU=1 THEN›POK(53251)=C+4›FOR Q=1 TO 15 DO Q1=GWI(Q) POK(Z+1792+D+6+Q)=Q1 OD›ELSE›;W1=POK(564)›W1=POK(564)-49›POK(53251)=W1+4›;W1=POK(565)*2-16›W1=POK(565)*2-18›IF W1<25 THEN W1=26 FI›IF W1>180 THEN W1=180 FI›FOR Q=1 TO 15 DO Q1=GWI(Q)›;POKE(Z+1792+D+6+Q,Q1) OD› POK(Z+1792+W1+6+Q)=Q1 OD›FI›RETURN›PROC STRZAL()›STR==-1››CC=C/4-10 DD=D/8-2››IF PR<5 AND PR>0 AND CC>A AND CCB+1 AND DD0 AND C-40>E AND C-40F AND D+1575 THEN P=0 FI›RETURN››PROC ZAB()›SNDRST()›IF LG=1 THEN POKEC(560,$9B80)› POKE(712,0)IF PLA=3 THEN POKE(712,$90)FI›FI›CC=C DD=D ;COLOR=32 PLOT(38,23)›SZ(38,23,0)›ZERO(Z+1536,510)C=A*4+50 D=B*8+38 RST(1) SOUND(1,0,0,0)›FOR Q=0 TO 4 DO ST1=15 DO ›[173 $D40B 201 103 208 249]›ZMKOL()›OBJ()››SOUND(0,ST1,8,ST1)POKE(706,ST1)ST1==-1›IF ST1=9 THEN EXIT FI OD OD ›WHILE ST1>0 DO ›;FOR Q=0 TO 2 DO›[173 $D40B 201 103 208 249]›ZMKOL()›;PAU()››;OD ›ST1==-1 SOUND(0,ST1,8,ST1)POKE(706,ST1)OD C=CC D=DD ›ZERO(ADREKR+880,39)STR=45 ZYC=ZYC-1 RPU() ILP1=0 TYU()›RETURN››PROC LEV(BYTE X) ›POKE(708,$06)POKE(709,$B8)POKE(710,$04)POKE(712,0)›;!›POKEC(560,DLREK+24)› ;ZERO(ADREKR+22*40,78)›;ZERO(ADREKR+23*40,38)›ZERO(ADREKR+920,38)››ZERO(53248,8)››IF X=1 THEN›TX(20,23,"level{")››EE=0;KASOWANIE SPADAJACYCH OBIEKT.››W1=PLA1/100›W2=PLA1/10 MOD 10›W3=PLA1/1 MOD 10›IF W2>0 THEN SZ(27,23,W2+36)SZ(28,23,W3+36)FI›IF W1>1 THEN SZ(27,23,W1+36)SZ(28,23,W2+36)SZ(29,23,W3+36)FI›IF W1=0 AND W2=0 THEN SZ(27,23,W3+36)FI›ELSE›TX(22,23,"theend")›FI›[96]››PROC LEVP()›CARD L1 ›L1=0›WHILE K#33 DO ›[173 $D40B 201 110 208 249]›;ZMKOL()›PAU()›L1==+1›IF L1=144 THEN EXIT FI›IF LG=0 THEN›IF STRIG(0)=0 THEN EXIT FI›ELSE› IF STICK(0)=15 THEN › DO› [173 $D40B 201 110 208 249]› PAU()› L1==+1› IF L1=144 THEN EXIT FI› IF STICK(0)=14 THEN EXIT FI› IF K=28 THEN EXIT FI› OD› EXIT FI›FI›;TX(22,23,"{")›IF K=28 THEN EXIT FI›OD K=255›;ZERO(ADREKR+23*40,38)›ZERO(ADREKR+920,38)›POKE(559,0)›;UIO()›TYU()›ERT()›;U_C()›POKE(711,$0B)›IF PLA=1 THEN › POKE(708,$16)POKE(709,$18)POKE(710,$14)›FI›IF PLA=2 THEN › POKE(708,$06)POKE(709,$08)POKE(710,$F4)›FI›IF PLA=3 THEN › POKE(708,$06)POKE(709,$08)POKE(710,$04)› POKE(712,$90)›FI›IF PLA=4 THEN› POKE(708,$06)POKE(709,$78)POKE(710,$C4)POKE(712,0)›FI›IF PLA=5 THEN› POKE(708,$06)POKE(709,$08)POKE(710,$F4)›FI›IF PLA=6 THEN› POKE(708,$06)POKE(709,$78)POKE(710,$04)›FI›IF PLA=7 THEN› POKE(708,$16)POKE(709,$18)POKE(710,$14)›FI›IF PLA=8 THEN›;POKE(708,$06)POKE(709,$18)POKE(710,$04)› POKE(708,$F6)POKE(709,$08)POKE(710,$04)›FI›POKE(559,62)›[96]›››PROC AS()›GR()POKE(756,144)››PLA1=1›POKE(559,62)›LEV(1)››POKE(53248,0)POKE(53249,0)›SNDRST()POKE(707,0)POKE(706,0)PLA=1 ›;PLA=2›;PLA=8››DUCH()ZERO(Z+768,1280)›;POKE(711,$0D)›POKE(53248,0)POKE(53249,0)D=120›;CEL()› D=0› PR=5 GL=0 ST1=0 ST2=0 ZW=0 STR=45 STT=1 ILP1=0 P=0 PU1=0 PU2=0 PU3=0 PU4=0›ZYC=2 PU5=0 E=0 F=0 EE=0 FF=1 E1=0 PU6=0 RE=0 OP=245›LGM=0›RYSP()››LEVP()››ERT()›POKEC(560,$9B80)››POCZ()››IF DIF=2 THEN ILPX=5 CZP=5 FI›IF DIF=3 THEN ILPX=10 CZP=7 FI›IF DIF=4 THEN ILPX=15 CZP=9 FI››DO›QWE()POKE(77,0)›SOUND(0,10,8,GL)›[173 $D40B 201 100 208 249]›G8=1›;G7=$F›; !!!!!! ^^^›[173 $D40B 201 103 208 249]›ZMKOL()››;PAU()››IF LG=0 THEN›IF STICK(0)=11 AND C>48 THEN C==-1 CEL()FI›IF STICK(0)=7 AND C<193 THEN C==+1 CEL()FI›IF STICK(0)=14 AND D>30 THEN D==-2 CEL()FI›IF STICK(0)=13 AND D<185 THEN D==+2 CEL()FI›IF STICK(0)=10 AND C>48 AND D>30 THEN C==-1 D==-2 CEL()FI›IF STICK(0)=9 AND C>48 AND D<185 THEN C==-1 D==+2 CEL()FI›IF STICK(0)=5 AND C<193 AND D<185 THEN C==+1 D==+2 CEL()FI›IF STICK(0)=6 AND C<193 AND D>30 THEN C==+1 D==-2 CEL()FI›FI›;ELSE›;ZERO(Z+1026+D,26)ZERO(Z+1282+D,26)›;C=POK(564);-6›;IF C>197 THEN C=197 FI› ;D=POK(565)+22-6›;D=POK(565)*2+22-6›;IF D>185 THEN D=185 FI›;CEL()FI››IF EE=0 THEN Q=RAND(0)IF Q=0 THEN EE=1 E=RAND(140)F=10 FF=1 RE=RAND(2)FI FI›OBJ()››IF ZYC=255 THEN LEV(2)LEVP()EXIT FI›IF STR<7 THEN SOUND(2,P,10,1)FI›IF STR=0 AND PR<5 THEN SOUND(2,0,0,0)PR=6 ZAB()›ST1=0 ST2=0 GL=0 STT=1›SNDRST()›FI›IF GL>0 THEN GL==-1 FI›IF ILP(PLA)+ILPX=ILP1 THEN › [173 $D40B 201 110 208 249]›;****›;ZMKOL()››PUR()ZERO(Z+1024,1020)››PLA==+1 IF PLA=9 THEN PLA=1› IF ILPX<200 THEN ILPX==+5 FI› IF CZP<240 THEN CZP==+2 FI›FI›PLA1==+1››STR=45 ›LEV(1)››RYSP()PR=5›;POKE(559,62)›ILP1=0 ›LEVP()›POKEC(560,$9B80)›POCZ()ST1=0 ST2=0 GL=0 FI›››IF PR=0 THEN POK(712)=0› IF PLA=3 THEN POK(712)=$90 FI› ZAB()PR=6 FI WER()›IF PR=1 THEN › ;IF LG=1 AND LGM=1 THEN› POK(712)=3 FI››IF LG=0 THEN› IF STRIG(0)=1 THEN STT=1 OP==-5 FI› IF STR>0 AND STT=1 AND STRIG(0)=0 THEN STT=0 GL=15 STRZAL()FI›ELSE›› IF STICK(0)=14 THEN STT=1 OP==-5 › LGM=0 FI››;IF STR>0 AND STT=1 AND STICK(0)=15 › IF STR>0 AND STT=1› AND LGM=1 THEN› STT=0 GL=15;STRZAL()› LGM=0 › ;U_C()›› [173 $D40B 201 110 208 249]›;***› PAU()› PAU()› C=POK(564)-49› IF C>197 THEN C=197 FI›› D=POK(565)*2-19› IF D<30 THEN D=30 FI› IF D>175 THEN D=175 FI›› STRZAL()› [173 $D40B 201 110 208 249]›;****›› POKEC(560,$9B80)› POK(712)=0 IF PLA=3 THEN POK(712)=$90 FI›››;[173 $D40B 201 110 208 249]›;PAU()›››;NIE RYSUJE CELOWNIKA›; ZERO(Z+1026+D,26)ZERO(Z+1282+D,26)› ;C=POK(564);-6›; C=POK(564)-49›; IF C>197 THEN C=197 FI› ;MIKER:› ;C=POK(564)-48› ;IF C<48 THEN C=48 FI› ; C=POK(564)*2-48›› ;D=POK(565)+22-6› ;D=POK(565)*2+22-6› ;D=POK(565)*2+22-6-8-24› ;D=POK(565)*2-16›; D=POK(565)*2-19›; IF D<30 THEN D=30 FI›; IF D>175 THEN D=175 FI›; CEL()›; STRZAL()›› FI›› IF STR>0 AND STT=1 AND STICK(0)=15 › AND LGM=0› THEN LGM=1 ›› POKEC(560,DLREK+21)››; POK(708)=15 POK(709)=15 POK(710)=15 POK(711)=15› IF PLA=3 THEN POK(712)=$9F› ELSE POK(712)=15 FI››; [173 $D40B 201 50 208 249]›;G7=$8 PAU()G7=0›; [173 $D40B 201 110 208 249]›› FI›FI››IF ZW=1 AND ST1>0 THEN ST1==-1 POK(706)=ST1 FI›IF ST1=0 THEN POK(53250)=0 ZERO(Z+1536,$FF)FI›IF ZW=1 AND ST2>0 THEN ST2==-1 POK(707)=ST2 FI›IF PR=5 THEN ›› Q=RAND(0)› ;IF Q<5 THEN RTY()PR=3 PRZ1(A,B)FI› IF Q0 AND PR<4 AND P=1 THEN PR==-1 SOUND(1,PR+5,10,2);COLOR=68+PR PLOT(38,23)›SZ(38,23,36+PR)›FI› ;IF PR=0 AND LG=0 THEN POK(712)=0› ; IF PLA=3 THEN POK(712)=$90 FI› ; ZAB()PR=6 FI WER()› ;IF PR=1 THEN POK(712)=3 FI›IF PR=6 AND P=1 THEN PR=11 FI›IF PR=7 AND P=1 THEN ;PRZ3(A,B)› PR=8 FI›IF PR>7 AND (P=1 OR P=37) THEN PR==+1› IF PR=10 THEN PRZ3(A,B)FI› FI›IF PR>=11 THEN PR=5› TX(A+1,B+1,"")› IF POK(ADREKR+A+3+B*40+80)=27 THEN TX(A+1,B+2,"")› ELSE TX(A+1,B+2,"")FI FI››IF ST2=0 THEN POK(53251)=0 ZERO(Z+1792,$FF)FI››IF K=33 THEN SNDRST()K=255 W2=0 W3=PEEK(710)› DO› W2==+1 Q=W2 › [173 $D40B 201 15 208 249]›;****› W1=0 DO› Q==+2 G8=1 G9=Q› W1==+1 IF W1=86 THEN EXIT FI G8=1› OD G8=1 G9=W3› ZMKOL()› IF K<>255 THEN K=255 EXIT FI OD ›ELSEIF K=28 THEN K=255 EXIT›FI›OD›RETURN›PROC ASD()›IF FA=1 THEN C==+12 IF C>180 THEN FA=2 FI FI›IF FA=2 THEN C==-12 D==+14› IF D>190 THEN C=55 D=60 FA=3 › W3=1› POK(53250)=0 POK(53251)=0› ;ZERO(Z+768,1280)› ZERO(Z+768+768,512)›FI FI›IF FA=3 THEN POK(706)=0› POK(53248)=0 POK(53249)=0›FOR X=0 TO 155 DO PAU_R() OD FA=1 FI›RETURN›PROC REK()›GRAPHICS(13+16)ZERO(53248,8)DUCH()›ADREKR=PEEKC(88)›POKE(756,144)›;POKE(711,$26)›POKE(711,$36)››POKE(708,$98)›POKE(709,$0A)›POKE(559,0)›TX(4,0,"")›TX(4,1,"")›TX(4,2,"")›TX(4,3,"")›TX(4,4,"")›TX(7,5,"„ƒ„„ƒ„ƒ„„„")›TX(7,6,"ƒ„„„„„„")›TX(7,7,"ƒ„„„ƒ„ƒ„ƒ„ƒ„ƒ")›TX(7,8,"ƒ„„„„„")›TX(7,9,"„ƒ„„„")››TX(3,10,"%-,-|&$%*code{tdcmsx{miker")›TX(7,11,"thankstoatarionline`pl")››POKEC(560,DLREK)›POKE(559,62)››ST1=0 ST2=0 ZW=0 C=55 D=60 FA=1›RETURN›››PROC EWQ()›IF ST1=0 THEN ST1=15 RST(1) RETURN FI›IF ST2=0 THEN ST2=15 RST1(1) RETURN FI›ZERO(Z+1535,$FF)ST1=15 RST(1)›[96]››PROC PRE1()›IF W3>0 THEN RETURN FI››;COLOR=32 PLOT(0,0)DR(0,0)DR(0,0)›FOR XX=0 TO 8 DO SZ(0,0,0)OD››QWE()›SOUND(0,15,8,GL)›IF ZW=1 AND GL>0 THEN GL==-1 FI›IF ST1=0 THEN GL=15 ZERO(Z+1535,255)ASD()EWQ()FI›IF ST2=0 THEN GL=15 ZERO(Z+1792,255)ASD() EWQ()FI›IF ZW=1 AND ST1>0 THEN ST1==-1 POKE(706,ST1)FI›IF ZW=1 AND ST2>0 THEN ST2==-1 POKE(707,ST2)FI›RETURN››PROC PRE()›POKE(566,158);BREAK› POKE(106,160)›› WG("D1:WCITY.FNT",$9000,$400,4,128)››› ADRREP=DOS("D:WCITY.REP")› ADRMUS=DOS("D:WCITY.CMC")›;WG("D1:WCITY.REP",$69C8-6,$2024,4,128)›;WG("D1:WCITY.CMC",$6000-6,$9C8,4,128)›››;BREAK()››;ADRREP=$69C8 ADRMUS=$6000› ADRREP=$8000 ADRMUS=$7638›› COMM=ADRREP+3 TAKT=ADRREP+6 ABC=ADRMUS AND $FF BCD=ADRMUS RSH 8 COMM($70,ABC,BCD)››REK()›››KON=0 LG=0 DIF=1›W1=0 W2=0 W3=0››DO›ILPX=0 CZP=3››POKE(77,0)››IF W3=0 THEN PRE1()IF FA=3 THEN C=0 D=0 ST1=0 ST2=0 FI ELSE ZERO(53248,8)FI››;IF STRIG(0)=0 OR (LG=1 AND STICK(0)=15) THEN ›IF STRIG(0)=0 THEN › IF W2>27 THEN ›; [173 $D40B 201 0 208 249]› SETV(0)COMM($40,0,0)FI› FA=0 AS()SNDRST()REK()› W1=0 W2=0› W3=0›FI›IF KK=6 THEN › IF W2>27 THEN ›; [173 $D40B 201 0 208 249]› SETV(0)COMM($40,0,0)FI› FA=0 AS()SNDRST()REK()› W1=0 W2=0› W3=0›FI››IF KK=7 THEN KON=0 FI›››IF (KK=3 OR KK=5) AND KON=0 THEN› IF PEEK(ADREKR+447)=116 THEN ZERO(ADREKR+440,39)› TX(2,11,"difficulty{")TX(16,11,"controller{")› FI› IF KK=5 THEN DIF==+1 IF DIF>4 THEN DIF=1 FI FI›;IF KK=3 THEN LG=1!LG FI›;! ^› IF LG=0 THEN TX(28,11,"joystick")› ELSE TX(28,11,"lightgun")FI› POKE(ADREKR+454,96+DIF)KON=1 FI››W1==+1 IF W1=250 THEN W2==+1 W1=0 IF W2>250 THEN W2=250 FI› IF W2=28 AND W1=0 THEN COMM(0,0,0)SETV(GRAJ)FI FI››OD›RETURN››