'FIGHTING FURY 'HERE IS THE SOURCE CODE FOR FIGHTING FURY. 'IT IS A TWO PLAYER FIGHTING GAME. 'PLAYER 1 IS SANTA CLAUS AND PLAYER 2 IS FROSTY THE SNOWMAN. 'EACH PLAYER CAN PUNCH,KICK,PERFORM A SPECIAL ATTACK AND POWER UP. 'CODE............. gosub initialise gosub main_loop exit label main_loop gosub first_prompt gosub drawing goto fight return label first_prompt setrgb 1,255,255,255 text$ = "MATT PRODUCTIONS PRESENTS" text 185,120,text$ setrgb 1,255,255,255 text$ = "PRESS START TO BEGIN" text 215,356,text$ setrgb 1,255,5,25 tex$ = "fighting fury" text 245,200,tex$ tex2$ = "__________" text 245,210,tex2$ gosub wait_controller return label drawing clear window return label wait_controller repeat c = peek("port1") until (and(c,8)>0) return label initialise open window 640,512 clear window setrgb 1,0,0,0 return label fight open window 640,512 setrgb 1,255,255,255 text$ = "THE BATTLEFIELD IS SET.........." text 185,50,text$ wait 2 setrgb 1,255,255,255 text$ = "SANTA CLAUS VS FROSTY" text 205,210,text$ wait 2 text$ = "WHO WILL WIN?" text 255,160,text$ wait 2 setrgb 1,0,100,0 text$ = "CONTROLS:" text 265,200,text$ text$ = "left and right move" text 225,220,text$ text$ = "x punches" text 265,240,text$ text$ = "square kicks" text 255,260,text$ text$ = "when your special meter is up a bit" text 155,280,text$ text$ = "hit select to perform a special" text 168,295,text$ text$ = "hold l1 and r1 to build up your special bar" text 118,315,text$ text$ = "but doing this decreases your health" text 158,335,text$ text$ = "punches and kicks build up your special" text 146,355,text$ inkey$ clear window open window 640,512 draw = 0 plx = 100 ply = 280 plx2 = 540 ply2 = 280 p1h = 295 p1s = 55 p1name$ = "SANTA CLAUS" p2h = 355 p2s = 355 p2name$ = "FROSTY" label framestart setdrawbuf dw if p1s > 295 p1s = 295 if p1s < 55 p1s = 55 if p2s > 595 p2s = 595 if p2s < 355 p2s = 355 if p1h < 56 end if p2h > 595 end rem grass setrgb 1,12,123,21 fill rect 0,0,640,512 gosub stats rem player 1 setrgb 1,490,169,0 fill circle plx,ply,16 setrgb 1,200,23,17 fill rect plx - 20,ply + 16,plx + 22,ply + 68 fill rect plx - 20,ply + 69,plx - 2,ply + 125 fill rect plx,ply + 69,plx + 22,ply + 125 fill rect plx - 20,ply + 16,plx + 35,ply + 29 fill rect plx - 35,ply + 30,plx - 23,ply + 70 fill rect plx + 22,ply + 16,plx + 37,ply + 29 fill rect plx + 37,ply + 30,plx + 25,ply + 70 setrgb 1,220,220,220 fill circle plx,ply + 10,12 setrgb 1,490,169,0 fill circle plx,ply + 10,5 setrgb 1,200,23,17 setrgb 2,200,23,17 setrgb 3,200,23,17 gtriangle plx - 20,ply - 10 to plx + 20,ply - 10 to plx - 1,ply - 45 setrgb 1,255,255,255 fill circle plx + 2,ply - 40,5 rem player 2 setrgb 1,200,200,200 fill circle plx2,ply2,16 fill circle plx2,ply2 + 43,30 fill circle plx2,ply2 + 95,35 setrgb 1,80,80,80 fill rect plx2 - 27,ply2 + 35,plx2 - 55,ply2 + 32 fill rect plx2 + 27,ply2 + 35,plx2 + 55,ply2 + 32 rem controls c = peek("port1") c2 = peek("port2") if and (c,128) <> 0 then plx = plx - 5 end if if and (c,32) <> 0 then plx = plx + 5 end if if and (c2,32) <> 0 then plx2 = plx2 + 5 end if if and (c2,128) <> 0 then plx2 = plx2 - 5 end if if plx < 29 then plx = 29 end if if plx > 580 then plx = 580 end if if plx2 < 29 then plx2 = 29 end if if plx2 > 580 then plx2 = 580 end if if plx > plx2 - 75 then plx = plx2 - 75 end if if plx < plx - 75 then plx2 = plx - 75 end if if and (c,16384) <> 0 then gosub player1punch end if if and (c,32768) <> 0 then gosub player1kick end if if and (c2,16384) <> 0 then gosub player2punch end if if and (c2,32768) <> 0 then gosub player2kick end if if and (c,3072) = 3072 then p1s = p1s + .1 p1h = p1h - .1 end if if and (c2,3072) = 3072 then p2s = p2s + .1 p2h = p2h + .1 end if if (and (c,1) <> 0 ) and (p1s > 75) then gosub player1special end if if (and (c2,1) <> 0) and (p2s > 375) then gosub player2special end if setdispbuf dw dw = 1 - dw goto framestart label player1punch rem grass setrgb 1,12,123,21 fill rect 0,0,640,512 gosub stats rem player 2 setrgb 1,200,200,200 fill circle plx2,ply2,16 fill circle plx2,ply2 + 43,30 fill circle plx2,ply2 + 95,35 setrgb 1,80,80,80 fill rect plx2 - 27,ply2 + 35,plx2 - 55,ply2 + 32 fill rect plx2 + 27,ply2 + 35,plx2 + 55,ply2 + 32 rem player 1 setrgb 1,490,169,0 fill circle plx,ply,16 setrgb 1,200,23,17 fill rect plx - 20,ply + 16,plx + 22,ply + 68 fill rect plx - 20,ply + 69,plx - 2,ply + 125 fill rect plx,ply + 69,plx + 22,ply + 125 fill rect plx - 20,ply + 16,plx + 35,ply + 29 fill rect plx - 35,ply + 30,plx - 23,ply + 70 fill rect plx + 22,ply + 16,plx + 67,ply + 29 setrgb 1,220,220,220 fill circle plx,ply + 10,12 setrgb 1,490,169,0 fill circle plx,ply + 10,5 setrgb 1,200,23,17 setrgb 2,200,23,17 setrgb 3,200,23,17 gtriangle plx - 20,ply - 10 to plx + 20,ply - 10 to plx - 1,ply - 45 setrgb 1,255,255,255 fill circle plx + 2,ply - 40,5 if (plx2 - plx) <= 90 then p2h = p2h + 1 p1s = p1s + .4 end if return label stats setrgb 1,0,0,0 text 60,150,p1name$ text 530,150,p2name$ setrgb 1,0,0,0 fill rect 50,50,290,80 setrgb 1,255,0,0 fill rect 55,55,p1h,85 setrgb 1,0,0,0 fill rect 50,100,290,130 setrgb 1,0,0,255 fill rect 55,105,p1s,135 setrgb 1,0,0,0 fill rect 360,50,600,80 setrgb 1,255,0,0 fill rect p2h,55,595,85 setrgb 1,0,0,0 fill rect 360,100,600,130 setrgb 1,0,0,255 fill rect 355,105,p2s,135 return label player1kick rem grass setrgb 1,12,123,21 fill rect 0,0,640,512 gosub stats rem player 2 setrgb 1,200,200,200 fill circle plx2,ply2,16 fill circle plx2,ply2 + 43,30 fill circle plx2,ply2 + 95,35 setrgb 1,80,80,80 fill rect plx2 - 27,ply2 + 35,plx2 - 55,ply2 + 32 fill rect plx2 + 27,ply2 + 35,plx2 + 55,ply2 + 32 rem player 1 setrgb 1,490,169,0 fill circle plx,ply,16 setrgb 1,200,23,17 fill rect plx - 20,ply + 16,plx + 22,ply + 68 fill rect plx - 20,ply + 69,plx - 2,ply + 125 fill rect plx,ply + 69,plx + 72,ply + 89 fill rect plx - 20,ply + 16,plx - 35,ply + 29 fill rect plx - 35,ply + 30,plx - 23,ply + 70 fill rect plx + 22,ply + 16,plx + 37,ply + 29 fill rect plx + 37,ply + 30,plx + 25,ply + 70 setrgb 1,220,220,220 fill circle plx,ply + 10,12 setrgb 1,490,169,0 fill circle plx,ply + 10,5 setrgb 1,200,23,17 setrgb 2,200,23,17 setrgb 3,200,23,17 gtriangle plx - 20,ply - 10 to plx + 20,ply - 10 to plx - 1,ply - 45 setrgb 1,255,255,255 fill circle plx + 2,ply - 40,5 if (plx2 - plx) <= 90 then p2h = p2h + 2 p1s = p1s + .2 end if return label player2punch rem grass setrgb 1,12,123,21 fill rect 0,0,640,512 gosub stats rem player 1 setrgb 1,490,169,0 fill circle plx,ply,16 setrgb 1,200,23,17 fill rect plx - 20,ply + 16,plx + 22,ply + 68 fill rect plx - 20,ply + 69,plx - 2,ply + 125 fill rect plx,ply + 69,plx + 22,ply + 125 fill rect plx - 20,ply + 16,plx + 35,ply + 29 fill rect plx - 35,ply + 30,plx - 23,ply + 70 fill rect plx + 22,ply + 16,plx + 37,ply + 29 fill rect plx + 37,ply + 30,plx + 25,ply + 70 setrgb 1,220,220,220 fill circle plx,ply + 10,12 setrgb 1,490,169,0 fill circle plx,ply + 10,5 setrgb 1,200,23,17 setrgb 2,200,23,17 setrgb 3,200,23,17 gtriangle plx - 20,ply - 10 to plx + 20,ply - 10 to plx - 1,ply - 45 setrgb 1,255,255,255 fill circle plx + 2,ply - 40,5 rem player 2 setrgb 1,200,200,200 fill circle plx2,ply2,16 fill circle plx2,ply2 + 43,30 fill circle plx2,ply2 + 95,35 setrgb 1,80,80,80 fill rect plx2 - 27,ply2 + 35,plx2 - 55,ply2 + 32 fill rect plx2 + 27,ply2 + 35,plx2 + 55,ply2 + 32 fill circle plx2 - 75,ply2 + 33,20 if (plx2 - plx) <= 90 then p1h = p1h - 1 p2s = p2s + .4 end if return label player2kick rem grass setrgb 1,12,123,21 fill rect 0,0,640,512 gosub stats rem player 1 setrgb 1,490,169,0 fill circle plx,ply,16 setrgb 1,200,23,17 fill rect plx - 20,ply + 16,plx + 22,ply + 68 fill rect plx - 20,ply + 69,plx - 2,ply + 125 fill rect plx,ply + 69,plx + 22,ply + 125 fill rect plx - 20,ply + 16,plx + 35,ply + 29 fill rect plx - 35,ply + 30,plx - 23,ply + 70 fill rect plx + 22,ply + 16,plx + 37,ply + 29 fill rect plx + 37,ply + 30,plx + 25,ply + 70 setrgb 1,220,220,220 fill circle plx,ply + 10,12 setrgb 1,490,169,0 fill circle plx,ply + 10,5 setrgb 1,200,23,17 setrgb 2,200,23,17 setrgb 3,200,23,17 gtriangle plx - 20,ply - 10 to plx + 20,ply - 10 to plx - 1,ply - 45 setrgb 1,255,255,255 fill circle plx + 2,ply - 40,5 rem player 2 setrgb 1,200,200,200 fill circle plx2,ply2,16 fill circle plx2,ply2 + 43,30 fill circle plx2 - 25,ply2 + 43,35 setrgb 1,80,80,80 fill rect plx2 - 27,ply2 + 35,plx2 - 55,ply2 + 32 fill rect plx2 + 27,ply2 + 35,plx2 + 55,ply2 + 32 if (plx2 - plx) <= 90 then p1h = p1h - 2 p2s = p2s + .2 end if return label player1special rem grass setrgb 1,12,123,21 fill rect 0,0,640,512 gosub stats rem player 2 setrgb 1,200,200,200 fill circle plx2,ply2,16 fill circle plx2,ply2 + 43,30 fill circle plx2,ply2 + 95,35 setrgb 1,80,80,80 fill rect plx2 - 27,ply2 + 35,plx2 - 55,ply2 + 32 fill rect plx2 + 27,ply2 + 35,plx2 + 55,ply2 + 32 rem player 1 setrgb 1,490,169,0 fill circle plx,ply,16 setrgb 1,200,23,17 fill rect plx - 20,ply + 16,plx + 22,ply + 68 fill rect plx - 20,ply + 69,plx - 2,ply + 125 fill rect plx,ply + 69,plx + 22,ply + 125 fill rect plx - 20,ply + 16,plx - 35,ply + 29 fill rect plx - 35,ply + 30,plx - 23,ply + 70 fill rect plx + 22,ply + 16,plx + 67,ply + 29 setrgb 1,220,220,220 fill circle plx,ply + 10,12 setrgb 1,490,169,0 fill circle plx,ply + 10,5 setrgb 1,200,23,17 setrgb 2,200,23,17 setrgb 3,200,23,17 gtriangle plx - 20,ply - 10 to plx + 20,ply - 10 to plx - 1,ply - 45 setrgb 1,255,255,255 fill circle plx + 2,ply - 40,5 setrgb 1,255,0,0 fill triangle plx + 80,ply + 20 to plx + 200,plx + 40 to plx + 170,ply +210 setrgb 1,190,190,0 fill triangle plx + 80,ply + 60 to plx + 150,plx + 20 to plx + 190,ply +190 if (plx2 - plx) <= 90 then p2h = p2h + 10 p1s = p1s - 20 end if return label player2special rem grass setrgb 1,12,123,21 fill rect 0,0,640,512 gosub stats rem player 1 setrgb 1,490,169,0 fill circle plx,ply,16 setrgb 1,200,23,17 fill rect plx - 20,ply + 16,plx + 22,ply + 68 fill rect plx - 20,ply + 69,plx - 2,ply + 125 fill rect plx,ply + 69,plx + 22,ply + 125 fill rect plx - 20,ply + 16,plx + 35,ply + 29 fill rect plx - 35,ply + 30,plx - 23,ply + 70 fill rect plx + 22,ply + 16,plx + 37,ply + 29 fill rect plx + 37,ply + 30,plx + 25,ply + 70 setrgb 1,220,220,220 fill circle plx,ply + 10,12 setrgb 1,490,169,0 fill circle plx,ply + 10,5 setrgb 1,200,23,17 setrgb 2,200,23,17 setrgb 3,200,23,17 gtriangle plx - 20,ply - 10 to plx + 20,ply - 10 to plx - 1,ply - 45 setrgb 1,255,255,255 fill circle plx + 2,ply - 40,5 rem player 2 setrgb 1,200,200,200 fill circle plx2,ply2,16 fill circle plx2,ply2 + 43,30 fill circle plx2,ply2 + 95,35 setrgb 1,80,80,80 fill rect plx2 - 27,ply2 + 35,plx2 - 55,ply + 32 fill rect plx2 + 27,ply + 35,plx2 + 55,ply2 + 32 setrgb 1,200,200,200 fill circle plx,ply + 40,90 if (plx2 - plx) <= 90 then p1h = p1h - 10 p2s = p2s - 20 end if return