REM ---***XXX SOMBIES XXX***--- REM BY TRASHCAN GAMES REM ENJOY DIM BULLETX(3),BULLETY(3),BULLETMT(3),BULLETXSPEED(3),BULLETYSPEED(3),ZHP(15),ZX(15),ZY(15),ZA(15) MENU: CLS A=96 PLAYERS=0 GAMEPAD 1 TEXT 6,3,"SOMBIES" SPRITE 1,72,64,1 TEXT 5,12,"1 PLAYERS" TEXT 5,13,"2 PLAYERS" DO SPRITE 2,32,A,25 IF UP TAP(0) AND A>96 THEN A=A-8 IF DOWN TAP(0) AND A<104 THEN A=A+8 IF BUTTON(0) THEN GOTO CHOS WAIT VBL LOOP CHOS: IF A=104 THEN GAMEPAD 2 PLAYERS=1 ELSE GAMEPAD 1 END IF SPRITE OFF 2 WAIT 30 RANDOMIZE TIMER REM A BUNCH OF DATA THAT I WAS USING REM ZOMBIE 100 HP REM +10 POINTS KILL REM PISTOL 12 DMG - 3 SPEED - 12/96 REM REVOLVER 72 DMG - 2 SPEED - 6/96 REM SHOT-GUN 119 DMG - 3 SPEED - 4/260 REM AK-47 41 DMG - 5 SPEED - 18/360 REM UZI 32 DMG - 6 SPEED - 12/240 REM SNIPER 360 DMG - 1 SPEED - 1/100 REM SPEED * 2 REM FIRE RATE * 2 REM RELOAD * 2 REM DAMAGE * 2 REM HEALTH * 2 REM VARIBLES BULLETX(1)=7 BULLETX(2)=20 BULLETX(3)=30 SP=0 FP=0 RP=0 DP=0 HPP=0 X=64 Y=64 AMMO=12 STOCK=96 WEAPON=1 RATE=30 USHOOT=30 BU=1 ROUND=0 POINTS=50 DMG=12 ZS=0.1 ZL=15 D=0 NULL=0 RLC=12 CS=100 WEAPON$="PISTOL" CUM=0 HP=50 X2=38 Y2=48 BULLETX2=0 BULLETY2=0 BULLETXSPEED2=0 BULLETYSPEED2=0 SHOOTDIRECT2=0 USHOOT2=40 SHOOTDIRECT=0 REM 0 UP REM 1 DOWN REM 2 LEFT REM 3 RIGHT SPRITE.A 22,(2) SPRITE.A 24,(2) SPRITE.A 25,(2) SPRITE.A 26,(2) SPRITE.A 27,(2) SPRITE.A 0,(2) IF POINTS>50 THEN END NEWROUND: ROUND=ROUND+1 ZL=15 ZS=ZS+0.05 IF ZS>1 THEN ZS=1 FOR I=0 TO 15 FOR G=0 TO ROUND ZHP(I)=ZHP(I)+100 ZHP(I)=ZHP(I)*1.1 NEXT G ZA(I)=1 D=RND*1 ZX(I)=0 ZY(I)=0 IF D>0.5 THEN D=RND*1 IF D>0.5 THEN ZY(I)=-20 ZX(I)=RND*160 ELSE ZY(I)=140 ZX(I)=RND*160 END IF ELSE D=RND*1 IF D>0.5 THEN ZX(I)=-20 ZY(I)=RND*130 ELSE ZX(I)=180 ZY(I)=RND*130 END IF END IF NEXT I MAIN: DO CLS BG 0 BG COPY 0,0,32,32 TO 128,160 USHOOT2=USHOOT2-1 CS=CS-1 CUM=CUM-1 PRINT WEAPON$,AMMO,"/",STOCK PRINT "ROUND",ROUND,"POINTS",POINTS USHOOT=USHOOT-1 IF PLAYERS=1 THEN SPRITE 0,X2,Y2,1 SPRITE 1,X,Y,1 SPRITE 22,20,40,11 SPRITE 24,120,100,9 SPRITE 25,20,100,13 SPRITE 26,70,100,10 SPRITE 27,70,40,12 SPRITE 23,120,40,8 SPRITE 38,BULLETX2,BULLETY2,3 BULLETX2=BULLETX2+BULLETXSPEED2 BULLETY2=BULLETY2+BULLETYSPEED2 IF BULLETX2<0 THEN BULLETXSPEED2=0 IF BULLETX2>180 THEN BULLETXSPEED2=0 IF BULLETY2<0 THEN BULLETYSPEED2=0 IF BULLETY2>180 THEN BULLETYSPEED2=0 FOR I=1 TO 15 SPRITE I+6,ZX(I),ZY(I),2 IF ZA(I)=1 THEN IF ZX(I)>X THEN ZX(I)=ZX(I)-RND*ZS ELSE ZX(I)=ZX(I)+RND*ZS IF ZY(I)>Y THEN ZY(I)=ZY(I)-RND*ZS ELSE ZY(I)=ZY(I)+RND*ZS ELSE ZX(I)=-10 ZY(I)=-10 END IF FOR G=1 TO 3 IF SPRITE HIT(1) OR SPRITE HIT(0) THEN NULL=0 ELSE IF SPRITE HIT(I+6) AND SPRITE HIT(G+3) THEN ZHP(I)=ZHP(I)-DMG IF DP=1 THEN ZHP(I)=ZHP(I)-DMG END IF NEXT G IF SPRITE HIT(0) OR SPRITE HIT(1) THEN NULL=0 ELSE IF SPRITE HIT(I+6) AND SPRITE HIT(38) THEN ZHP(I)=ZHP(I)-DMG*0.9 IF DP=1 THEN ZHP(I)=ZHP(I)-DMG*0.9 END IF IF ZHP(I)<0 AND ZA(I)=1 THEN ZA(I)=0 POINTS=POINTS+10 ZL=ZL-1 END IF NEXT I FOR I=1 TO 3 SPRITE I+3,BULLETX(I),BULLETY(I),3 BULLETX(I)=BULLETX(I)+BULLETXSPEED(I) BULLETY(I)=BULLETY(I)+BULLETYSPEED(I) IF BULLETX(I)<-10 THEN BULLETXSPEED(I)=0 BULLETX(I)=BULLETX(I)=+1 END IF IF BULLETX(I)>180 THEN BULLETXSPEED(I)=0 BULLETX(I)=BULLETX(I)=-1 END IF IF BULLETY(I)<-10 THEN BULLETYSPEED(I)=0 BULLETY(I)=BULLETY(I)=+1 END IF IF BULLETY(I)>180 THEN BULLETYSPEED(I)=0 BULLETY(I)=BULLETY(I)-1 END IF NEXT I IF ZL=0 THEN GOTO NEWROUND IF UP(0) AND Y>24 THEN Y=Y-0.6 IF UP(0) AND Y>24 AND SP=1 THEN Y=Y-0.4 IF UP(0) THEN SHOOTDIRECT=0 IF DOWN(0) AND Y<112 THEN Y=Y+0.6 IF DOWN(0) AND Y<112 AND SP=1 THEN Y=Y+0.4 IF DOWN(0) THEN SHOOTDIRECT=1 IF LEFT(0) AND X>8 THEN X=X-0.6 IF LEFT(0) AND X>8 AND SP=1 THEN X=X-0.4 IF LEFT(0) THEN SHOOTDIRECT=2 IF RIGHT(0) AND X<144 THEN X=X+0.6 IF RIGHT(0) AND X<144 AND SP=1 THEN X=X+0.4 IF RIGHT(0) THEN SHOOTDIRECT=3 IF UP(1) AND Y2>24 THEN Y2=Y2-0.6 IF UP(1) AND Y2>24 AND SP=1 THEN Y2=Y2-0.4 IF UP(1) THEN SHOOTDIRECT2=0 IF DOWN(1) AND Y2<112 THEN Y2=Y2+0.6 IF DOWN(1) AND Y2<112 AND SP=1 THEN Y2=Y2+0.4 IF DOWN(1) THEN SHOOTDIRECT2=1 IF LEFT(1) AND X2>8 THEN X2=X2-0.6 IF LEFT(1) AND X2>8 AND SP=1 THEN X2=X2-0.4 IF LEFT(1) THEN SHOOTDIRECT2=2 IF RIGHT(1) AND X2<144 THEN X2=X2+0.6 IF RIGHT(1) AND X2<144 AND SP=1 THEN X2=X2+0.4 IF RIGHT(1) THEN SHOOTDIRECT2=3 IF BUTTON(1,1) AND USHOOT2<0 AND CS<0 THEN GOTO SHOOT2 IF BUTTON(0,1) AND USHOOT<0 AND AMMO>0 AND CS<0 THEN GOTO SHOOT IF BUTTON(0,1) AND AMMO=0 AND STOCK>0 THEN AMMO=RLC STOCK=STOCK-RLC CS=100 IF RP=1 THEN CS=20 END IF IF SPRITE HIT(4) AND SPRITE HIT(5) THEN BULLETY(1)=BULLETY(1)+10 BULLETX(1)=BULLETX(1)+10 END IF IF SPRITE HIT(4) AND SPRITE HIT(6) THEN BULLETY(1)=BULLETY(1)+10 BULLETX(1)=BULLETX(1)+10 END IF IF SPRITE HIT(5) AND SPRITE HIT(6) THEN BULLETY(2)=BULLETY(2)+10 BULLETX(2)=BULLETX(2)+10 END IF IF SPRITE HIT(1) AND SPRITE HIT(22) AND POINTS>499 AND BUTTON(0,0) AND SP=0 THEN POINTS=POINTS-500 SPRITE.A 22,(4) SP=1 END IF IF SPRITE HIT(1) AND SPRITE HIT(24) AND POINTS>849 AND BUTTON(0,0) AND FP=0 THEN POINTS=POINTS-850 FP=1 SPRITE.A 24,(4) END IF IF SPRITE HIT(1) AND SPRITE HIT(25) AND POINTS>899 AND BUTTON(0,0) AND DP=0 THEN POINTS=POINTS-900 DP=1 SPRITE.A 25,(4) END IF IF SPRITE HIT(1) AND SPRITE HIT(26) AND POINTS>799 AND BUTTON(0,0) AND RP=0 THEN POINTS=POINTS-800 RP=1 SPRITE.A 26,(4) END IF IF SPRITE HIT(1) AND SPRITE HIT(27) AND POINTS>699 AND BUTTON(0,0) AND HPP=0 THEN POINTS=POINTS-700 HPP=1 HP=150 SPRITE.A 27,(4) END IF IF SPRITE HIT(1) AND SPRITE HIT(23) AND POINTS>199 AND BUTTON(0,0) AND CUM<0 THEN POINTS=POINTS-200 CUM=100 GOTO RANDOMGUN END IF FOR I=1 TO 15 IF SPRITE HIT(22) OR SPRITE HIT(23) OR SPRITE HIT(24) OR SPRITE HIT(25) OR SPRITE HIT(26) OR SPRITE HIT(27) OR SPRITE HIT(4) OR SPRITE HIT(5) OR SPRITE HIT(3) OR SPRITE HIT(6) OR SPRITE HIT(0) OR SPRITE HIT(38) THEN NULL=0 ELSE IF SPRITE HIT(1) AND SPRITE HIT(I+6) THEN HP=HP-1 IF SPRITE HIT(22) OR SPRITE HIT(23) OR SPRITE HIT(24) OR SPRITE HIT(25) OR SPRITE HIT(26) OR SPRITE HIT(27) OR SPRITE HIT(4) OR SPRITE HIT(5) OR SPRITE HIT(3) OR SPRITE HIT(6) OR SPRITE HIT(38) OR SPRITE HIT(1) THEN NULL=0 ELSE IF SPRITE HIT(0) AND SPRITE HIT(I+6) THEN HP=HP-1 NEXT I IF HP<0 THEN GOTO GAMEOVER WAIT VBL LOOP SHOOT: AMMO=AMMO-1 USHOOT=RATE IF FP=1 THEN USHOOT=USHOOT/2 FOR I=1 TO 3 IF BU=(I) THEN BULLETX(I)=X BULLETY(I)=Y IF SHOOTDIRECT=0 THEN BULLETYSPEED(I)=-2 IF SHOOTDIRECT=1 THEN BULLETYSPEED(I)=2 IF SHOOTDIRECT=2 THEN BULLETXSPEED(I)=-2 IF SHOOTDIRECT=3 THEN BULLETXSPEED(I)=2 END IF NEXT I BU=BU+1 IF BU=4 THEN BU=1 GOTO MAIN SHOOT2: USHOOT2=RATE*1.3 IF FP=1 THEN USHOOT2=USHOOT2/2 BULLETX2=X2 BULLETY2=Y2 IF SHOOTDIRECT2=0 THEN BULLETYSPEED2=-2 IF SHOOTDIRECT2=1 THEN BULLETYSPEED2=2 IF SHOOTDIRECT2=2 THEN BULLETXSPEED2=-2 IF SHOOTDIRECT2=3 THEN BULLETXSPEED2=2 GOTO MAIN RANDOMGUN: D=RND*6 IF D<1 THEN WEAPON$="PISTOL" DMG=12 RATE=30 AMMO=12 STOCK=96 RLC=12 END IF IF D>1 AND D<2 THEN WEAPON$="REVOLVER" DMG=72 RATE=35 AMMO=6 STOCK=96 RLC=6 END IF IF D>2 AND D<3 THEN WEAPON$="SHOT-GUN" DMG=119 RATE=40 AMMO=4 STOCK=260 RLC=4 END IF IF D>3 AND D<4 THEN WEAPON$="AK-47" DMG=32 RATE=15 AMMO=18 STOCK=360 RLC=18 END IF IF D>4 AND D<5 THEN WEAPON$="UZI" DMG=21 RATE=9 AMMO=12 STOCK=240 RLC=12 END IF IF D>5 THEN WEAPON$="SNIPER" DMG=360 RATE=60 AMMO=1 STOCK=100 RLC=1 END IF GOTO MAIN GAMEOVER: CLS SPRITE OFF 0 TO 63 PRINT "GAMEOVER" PRINT PRINT "YOU LASTED",ROUND,"ROUNDS" WAIT 100 GOTO MENU #1:MAIN PALETTES 003F150400280804003C1030003F2A15 000C0804003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00003838103810280000000000000000 00003838103810280000383810381028 00000000000000000000003030000000 0000000000001054103838383810387C 00083C7E7E007E7E000000007E7E7E7E 00003C7E7E3E1E0A0000000014000000 00001C223E223E3E00001C3E3E3E3E3E 18240404181000100000000000000000 3E7F636F636F6F7F3E7F7F7F7F7F7F7F 3E7F676B63676B7F3E7F7F7F7F7F7F7F 3E7F636F637B637F3E7F7F7F7F7F7F7F 3E7F6B6B636B6B7F3E7F7F7F7F7F7F7F 3E7F676B6B6B677F3E7F7F7F7F7F7F7F FFA181AD81A181FFFFDFFFD3FFDFFFFF FF819D85B5B1B1FFFFFFE3FBCBCFCFFF FF81C999D99DCFFFFFFFB7E7A7E3B1FF FF8199BDBD9981FFFFFFE7C3C3E7FFFF FF8185D3A5D781FFFFFFFBADDBA9FFFF FF818181818181FFFFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFC3818181818181 0000000000000000FFC080808080C0FF 000000000000000081C3FFFFFFFFFFFF 2244011220004488DDBBFEEDDFFFBB77 00002030383020000000000000000000 #3:MAIN BG 00001410000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000140014001400140014001400 14001400140014001520140014001400 14001400140014001400140014001804 14041404180414041404180418041804 18041804180418041404180418041404 18041400140014041404180414041804 14041804180418041404140418041404 18041804180418041804140014001804 14041404180418041404140414041404 14041404180418041404140414041404 18041400140018041404140414041404 14041804140414041804140418041404 18041404180414041804140014001404 14041804180418041804180418041404 14041804140418041804180418041404 18041408160014041804180414041804 14041404180414041804180414041404 14041804140418041804160814001404 18041404180414041804140414041404 14041804180418041404180414041804 18041400140018041804140414041804 14041804180418041804180418041404 14041804180414041804140014001804 18041804140418041804140418041404 14041404180414041404180418041404 18041400140018041804180414041404 18041404140418041404140418041404 14041804180414041804140014001804 14041804180418041804140418041404 18041804140418041804140414041404 18041400140018041804180414041404 14041804180414041404180418041404 14041804180418041804140014001400 14001400140014001400140014001400 15301400140014001400140014001400 14001400