! ** BIGNOSE GOES TO HELL ** ! SPRITES; !36 BIGNOSE #1 !40 BIGNOSE #2 !60 ZAP #1 !64 ZAP #2 !68 FIRE !72 SPARKS ! CHARS; !96 ELECTRICITY !104 GROUND !112 FIRE !113 FIRE ! VARIABLES; !T1 TIMER FOR ELECTRICITY / NO ELECTRICITY SWITCH, COUNTS UP TO 4 AND THEN TOGGLES T2 SWITCH !T2 THE SWITCH ITSELF , 1 = ELECTRIC, 0 = NO ELECTRIC !T4 CARRIES THE PATTERN FOR BIGNOSE ANIMATION !T5 TIMER TO ANIMATE FIRE !T6 WHICH FIRE ANIMATION TO SWITCH TO !JT JUMP TIMER !J JUMP ON OR OFF 100 CALL CLEAR::CALL SCREEN(2)::CALL MAGNIFY(3) ! SPRITES 200 CALL CHAR(36,"3F4382B9A1AB8280C1426130FFF0FC7C00C0807EC3010103063CE026FE7EFCF03F4382B9A0A88180C04162317867777F00C080407E81010101023CE04080E0E0") 220 CALL CHAR(60,"010100101C1F0D0701705867180E0300E0BCC7603818F0008080808000008080073DE3061C180F0001010101000001018080000838F8B0E0800E1AE61870C000") 230 CALL CHAR(68,"040C0E1E16161C3C3D3D7F167FFFFF6F002424646549CB9B9ABABED6BE7A5ED61008100001010000020400001020000000080400000000000008081000000000") ! CHARS 300 CALL CHAR(96,"1C3870381E071E380000000000000000",104,"FFFFFFFFFFFFFFFF") 310 CALL CHAR(112,"04040C1E1E3F7FFF0000001010327AFFFFFFFFFFFFFFFFFF") ! COLORS 400 CALL COLOR(9,5,1,10,9,1,11,12,9) ! LEV = 0 500 LEV=0 ! LEV INCREASE 600 LEV=LEV+1 ! SETUP GAME SCREEN AND PLAYER SPRITE 1000 GOSUB 32100 ! GET GAME SCREEN 1010 T1=0::T2=0::T3=0::T4=36::T5=0::T6=0::J=0::JT=0 1020 CALL SPRITE(#1,T4,16,56,16) ! GET MAIN LOOPS ACCORDING TO "LEV" 1030 ON LEV GOTO 1100,1200,1300,1400,1500,1600,1700,1800,1900 ! LEV 1 MAIN LOOP 1100 GOSUB 2200::GOSUB 2300::GOSUB 2400::GOSUB 2500::GOSUB 2600::GOSUB 2400::GOSUB 2700::GOTO 1100 ! LEV 2 MAIN LOOP 1200 GOSUB 2200::GOSUB 2500::GOSUB 2600::GOSUB 2700::GOSUB 2800::GOTO 1200 ! JOYSTICK 2200 CALL JOYMOTION(1,X,Y,#1,0,9)::CALL KEY(1,K,ST)::IF X THEN 2201 ELSE 2299 2201 T4=T4+4::IF T4>40 THEN T4=36 2210 CALL PATTERN(#1,T4) 2220 IF K=18 THEN 2225 ELSE 2299 2225 IF J=1 THEN 2299 2230 J=1::JT=0::CALL POSITION(#1,A,B)::CALL LOCATE(#1,A-16,B) 2299 RETURN ! ELECTRIC SWITCH 2300 T1=T1+1 :: IF T1>4 THEN 2305 ELSE 2399 2305 T1=0::T2=T2+1::IF T2>2 THEN 2306 ELSE 2307 2306 T2=1 2307 ON T2 GOTO 2310,2320 2310 CALL VCHAR(1,8,97,9,1,16,97,9,1,24,97,9)::GOTO 2399 2320 CALL VCHAR(1,8,96,9,1,16,96,9,1,24,96,9) 2399 RETURN ! BIGNOSE ZAPPED??? 2400 CALL POSITION(#1,A,B)::if b>230 then 2499 2405 Z2=INT(B/8)+2::CALL GCHAR(8,Z2,C)::IF C=96 THEN 2410 ELSE 2499 2410 CALL MOTION(#1,0,0)::CALL SPRITE(#2,60,16,A-4,B-4,#3,64,16,A-4,B+16)::CALL SOUND(-4000,110,30,110,30,1000,30,-4,0) 2415 FOR Q=1 TO 32::GOSUB 2600::CALL COLOR(#1,2,#2,2,#3,2,#1,16,#2,16,#3,16)::NEXT Q::GOTO 32700 2499 RETURN ! BIGNOSE POSITION 2500 CALL POSITION(#1,A,B)::IF B<10 THEN CALL LOCATE(#1,A,16) ELSE IF B>240 THEN 600 2510 RETURN ! ANIMATE FIRE 2600 T5=T5+1::IF T5>3 THEN 2605 ELSE 2699 2605 T5=0::T6=T6+1::IF T6>2 THEN T6=1 2610 ON T6 GOTO 2620,2630 2620 CALL SWAPCHAR(112,113)::GOTO 2699 2630 CALL SWAPCHAR(113,112)::GOTO 2699 2699 RETURN ! JUMPING? 2700 IF J=1 THEN 2705 ELSE 2799 2705 JT=JT+1 :: CALL COINC(ALL,H)::IF H=-1 THEN 32200 2706 IF JT>2 THEN 2710 ELSE 2799 2710 J=0::CALL POSITION(#1,A,B)::CALL LOCATE(#1,A+16,B) 2799 RETURN ! SPRITE COLLIDE 2800 CALL COINC(ALL,H)::IF H=-1 THEN 32700 2810 RETURN ! GAME SCREEN 32100 CALL CLEAR::CALL DELSPRITE(ALL)::CALL HCHAR(10,1,104,320) 32101 CALL HPUT(20,1,"pqqqpqpqpqqqpqpqpqqpqppqpqpqpqpq")::FOR Q=21 TO 24 32102 CALL HPUT(Q,1,"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr")::NEXT Q 32105 ON LEV GOTO 32110,32120,32130,32140,32150,32160,32170,32180,32190 32110 CALL VCHAR(1,8,97,9,1,16,97,9,1,24,97,9)::GOTO 32199 32120 CALL CHAR(76,"00000000031F2B3C2A373E1B0F00000000000000C0623D78AAFF58F080000000") 32121 CALL SPRITE(#4,76,12,56,255,0,-20)::GOTO 32199 32199 RETURN ! BIGNOSE DIES 32700 FOR Q=2 TO 28::CALL DELSPRITE(#Q)::NEXT Q::CALL MOTION(#1,16,0)::SND=1100 32701 GOSUB 2600::CALL POSITION(#1,A,B)::IF A>144 THEN 32705 ELSE CALL SOUND(-150,SND,1)::SND=SND-6::GOTO 32701 32705 CALL SPRITE(#2,68,12,A-5,B-8,#3,68,12,A-5,B+8,#4,72,12,A-8,B,-4,0)::CALL DELSPRITE(#1) 32706 FOR V=0 TO 30::CALL SOUND(-4000,110,30,110,30,1000+(V*250),30,-8,V)::NEXT V 32707 FOR DE=1 TO 500::NEXT DE::CALL CLEAR::CALL DELSPRITE(ALL) 32710 GOTO 500