addy771
2007-04-28 19:29:38
:D
Text based only, too lazy to do anything more elaborate.
Text based only, too lazy to do anything more elaborate.
{Addy's Punch Out! Controls are easy, enjoy the game!}
program addypo;
{Addy's Punch Out is a freely distributed script
according to the GNU public license as of 1991. If
you bought this script, you have been scammed.}
var
attack,defense,hp,exp,lvl,bcount:integer;
eattack,edefense,ehp,elvl,damage,decider:integer;
oppnamea,oppnameb,oppnamec,ccontinue,item:string;
pref: array[1..20] of string;
oppname: array[1..30] of string;
itemstat: array[1..3] of integer;
iteminuse:boolean;
Procedure Fight;
begin
writeln('Fight! Your new opponent will be '+oppnamec);
wait(1000);
writeln('Your stats are the following,');
wait(500);
writeln('Attack: '+inttostr(attack));
wait(500);
writeln('Defense: '+inttostr(defense));
wait(500);
writeln('HP: '+inttostr(hp));
wait(500);
writeln('Lvl: '+inttostr(lvl));
end;
Procedure FightRound;
begin
if(hp>0)then
begin
damage:=(attack-edefense)+random(4);
ehp:=ehp-damage;
wait(2000);
writeln('You have done '+inttostr(damage)+' Damage to your opponent,');
writeln(' leaving him/her with '+inttostr(ehp)+' HP left');
end;
wait(2000);
if(ehp>0)then
begin
writeln('They swing back at you!');
wait(2000);
damage:=(eattack-defense)+random(4);
hp:=hp-damage;
wait(2000);
writeln('You have gotten '+inttostr(damage)+' Damage, leaving you with '+inttostr(hp)+' HP left');
end;
wait(2000);
end;
procedure getitem(name:string;quantity:integer;units:string; a,d,hp:integer);
begin
writeln('Your opponent has dropped '+inttostr(quantity)+' '+units+' of '+name);
itemstat[1]:=a;
itemstat[2]:=d;
itemstat[3]:=hp;
end;
procedure clearitem;
begin
itemstat[1]:=0;
itemstat[2]:=0;
itemstat[3]:=0;
iteminuse:=false;
end;
procedure useitem;
var useit:string;
begin
useit:=readln('Do you wish to use the '+item+' in the next round?(yes/no)');
useit:=trim(useit);
useit:=lowercase(useit);
if(useit='yes')then
begin
attack:=attack+itemstat[1];
defense:=defense+itemstat[2];
hp:=hp+itemstat[3];
end;
if(useit='no')then
writeln('Discarding item...');
wait(1000);
end;
BEGIN
cleardebug;
pref[1]:='Mad ';
pref[2]:='Wealthy ';
pref[3]:='Fancy ';
pref[4]:='Crazy ';
pref[5]:='Humble ';
pref[6]:='Stoned ';
pref[7]:='Poor ';
pref[8]:='Modest ';
pref[9]:='Soft ';
pref[10]:='Heavy ';
pref[11]:='Little ';
pref[12]:='Fat ';
pref[13]:='Skinny ';
pref[14]:='Blazed ';
pref[15]:='Daydreaming ';
pref[16]:='Sleeping ';
pref[17]:='Snoring ';
pref[18]:='Laughing ';
pref[19]:='Lovable ';
pref[20]:='Retarted ';
oppname[1]:='Jamie';
oppname[2]:='Adam';
oppname[3]:='Nathan';
oppname[4]:='Andrew';
oppname[5]:='Stephanie';
oppname[6]:='Clara';
oppname[7]:='Paul';
oppname[8]:='Tommy';
oppname[9]:='Sterling';
oppname[10]:='Jason';
oppname[11]:='Brian';
oppname[12]:='Julian';
oppname[13]:='Morgan';
oppname[14]:='Serena';
oppname[15]:='Michelle';
oppname[16]:='Travis';
oppname[17]:='Will';
oppname[18]:='Danielle';
oppname[19]:='Jim';
oppname[20]:='Evette';
oppname[21]:='Samantha';
oppname[22]:='Maria';
oppname[23]:='Joey';
oppname[24]:='Robert';
oppname[25]:='Timmy';
oppname[26]:='George';
oppname[27]:='Christine';
oppname[28]:='Bob';
oppname[29]:='Gary';
oppname[30]:='Jerry';
attack:=randomrange(3,7);
defense:=randomrange(2,6);
lvl:=1;
hp:=randomrange(8,13);
repeat
oppnamea:=pref[random(20)+1];
oppnameb:=oppname[random(30)+1];
oppnamec:=oppnamea+oppnameb;
fight;
ccontinue:= (readln('Ready to continue? (Any key)'));
eattack:=randomrange(attack-3,attack+3);
edefense:=randomrange(defense-2,defense+4);
ehp:=randomrange(hp-5,hp+10);
elvl:=randomrange(lvl-2,lvl+2);
repeat
fightround;
until(hp<1)or(ehp<1);
ccontinue:= (readln('Round over! Ready to continue? (Any key)'));
if(hp>0)then
begin
hp:=hp+10;
writeln('You have been granted 10 hp');
attack:=attack+5;
defense:=defense+5;
lvl:=lvl+1;
writeln('Your stats have also been raised.');
wait(1000);
clearitem;
decider:=random(10);
if(decider>8)and(iteminuse=false)then
begin
getitem('energy drink',1,'bottle',10,-5,3);
useitem;
iteminuse:=true;
end;
if(decider<3)and(iteminuse=false)then
begin
getitem('Candy',1,'Bar',7,-3,6);
useitem;
iteminuse:=true;
end;
end;
bcount:=bcount+1;
exp:=exp+(eattack+edefense)*(lvl/2);
until(hp<1);
writeln('Knocked out! What a shame...');
wait(1000);
writeln('You lasted for '+inttostr(bcount)+' Battles.');
wait(500);
writeln('Your final score is '+inttostr((attack+defense+exp+(bcount*10)+lvl)*69));
end.