Skip to content

Instantly share code, notes, and snippets.

@digital-shokunin
Created May 23, 2014 17:31
Show Gist options
  • Save digital-shokunin/695c55278262d23180b5 to your computer and use it in GitHub Desktop.
Save digital-shokunin/695c55278262d23180b5 to your computer and use it in GitHub Desktop.
Original Welcome to Roxboro written for Turbo Pascal
PROGRAM RoxboroRumble (Input, Output);
(* This program is a RPG about Roxboro. It's basic plot is this *)
(* You are a teenager that moved into Roxboro from a presumably *)
(* more exciting town. It isn't long before boredom sets in... *)
(* about 5 seconds considering it's Roxboro. You soon realize *)
(* there is nothing to do in Roxboro and the only thing to do *)
(* Roxboro is get out of Roxboro. This is where the game begins *)
(* the user must over come many challenges and defeat the *)
(* bosses that guard the ways out of Roxboro. The user gains *)
(* experience along the way by killing crack/pot heads, preps, *)
(* skaters, rednecks, and small children, stuff like that. The *)
(* game is based upon the old text based games where you were *)
(* someone in medieval times using magic and weapons to advance *)
(* It's the same way except your in Roxboro and culture hasn't *)
(* evolved that much from medieval times so it should be about *)
(* the same thing. Arrays are used to represent each location *)
(* each array holds the records containing information on each *)
(* location *)
(* PROGRAMERS: *)
(* David Mitchell Programming/Story *)
(* Glen Newsome Programming/Story *)
(* Craig Zglinski Programming/Graphics/Story *)
(* Thanks to those real life characters who were cool enough to *)
(* allow us to put them in there to add to the flavor of the *)
(* game. *)
USES CRT, GRAPH;
Label 2, 3;
TYPE
Opponent = RECORD
Description : String[255];
Difficulty : Integer;
Damage : Integer;
Name : String[35];
Defeat : String[255];
Action : String [70];
Run : String [255];
Win : String[255];
Offense : String[255];
END;
ObjProfile = RECORD
Name : String[10];
WeaponDamage : Integer;
END;
LocProf = RECORD
Name : String[30];
Description : String[255];
Des2 : String[255];
Objects : ObjProfile;
Enemy : Opponent;
END;
LocGrid = ARRAY[1..5, 1..5] OF LocProf;
Player = RECORD
Experience : Integer;
Inventory : ARRAY [1..15] OF ObjProfile;
Money : Integer;
Health : Integer;
END;
VAR
Boss, Health, Damage, Exp, Strength, Row,
Column, BossCount, Mustangs, NumInventory, Area : Integer;
Grid : LocGrid;
Guy : Player;
Response : Char;
PROCEDURE SetArray(VAR Loc : LocGrid; VAR Play : Player);
BEGIN
CLRSCR;
Play.experience := 30;
Play.Health := 25;
Play.Inventory[1].WeaponDamage := 0;
Loc[1, 1].Name := 'Home';
Loc[1,1].Description := 'You are in your new home. You just unpacked.';
Loc[1,1].Des2 := 'You decide to find out what there is to do in this town. (Hint: Walmart, nothing, and Walmart).';
Loc[1,1].Enemy.Description := ' Nobody but your family is around.';
Loc[1,1].Enemy.Name := '';
Loc[1,2].Name := 'Food Lion';
Loc[1,2].Description := 'You see a bunch of people doing nothing but driving through the parking lot over and over again.';
Loc[1,2].Des2 := ' You think to yourself "These people must have no lives".';
Loc[1,2].Enemy.Description := ' David Nunley is here bagging groceries and flirting with the cashiers';
Loc[1,2].Enemy.Name := 'David Nunley';
Loc[1,2].Enemy.Difficulty := 15;
Loc[1,2].Enemy.Damage := 3;
Loc[1,2].Enemy.Defeat:= 'HEY MAN get a comb';
Loc[1,2].Enemy.Action := 'pimp slaps';
Loc[1,2].Enemy.Run := 'Come back here b yotch!!';
Loc[1,2].Enemy.Win := 'Who do you think your messing with punk!!';
Loc[1,2].Enemy.Offense := 'Call David a freak';
Loc[1,3].Name := 'AutoZone';
Loc[1,3].Description := 'This is one of the too many auto parts stores.';
Loc[1,3].Des2 := ' ';
Loc[1,3].Enemy.Description := ' Some redneck is here getting parts for his truck';
Loc[1,3].Enemy.Name := 'Some Redneck';
Loc[1,3].Enemy.Difficulty := 30;
Loc[1,3].Enemy.Damage := 10;
Loc[1,3].Enemy.Defeat := 'Actually I think Earnhardt is cool I just don`t like the number 3.';
Loc[1,3].Enemy.Action := 'spits one of his teeth at you';
Loc[1,3].Enemy.Run := 'Run you little Ford-lover.';
Loc[1,3].Enemy.Win := 'Yeah you lousy sun beach. Number 3 forever.';
Loc[1,3].Enemy.Offense := 'Dis the number 3';
Loc[1,4].Name := 'Semora';
Loc[1,4].Description := 'You get bored with Roxboro so you decide to go to one of the communities.';
Loc[1,4].Des2 := 'You soon find out that it`s just as boring here.';
Loc[1,4].Enemy.Description := ' There is a nice girl here named Dana.';
Loc[1,4].Enemy.Name := 'Dana';
Loc[1,4].Enemy.Difficulty := 50;
Loc[1,4].Enemy.Damage := 20;
Loc[1,4].Enemy.Defeat := 'You kill Dana but you feel guilty you sorry bastard.';
Loc[1,4].Enemy.Action := 'slaps you for being annoying';
Loc[1,4].Enemy.Run := 'I hate people who pester me. (You shouldn`t mess with Dana she`s a tough girl.)';
Loc[1,4].Enemy.Win := 'I`m sorry I didn`t mean to do that.';
Loc[1,4].Enemy.Offense := 'Annoy Dana';
Loc[1,5].Name := 'Allensville';
Loc[1,5].Description := 'Allensville is just as boring as Roxboro. All it is are a few houses and a store.';
Loc[1,5].Des2 := ' You don`t know why they bothered naming the place. You figure Allen must have sucked.';
Loc[1,5].Enemy.Description := ' Jeffrey is here working on his Camaro.';
Loc[1,5].Enemy.Name := 'Jeffrey';
Loc[1,5].Enemy.Difficulty := 50;
Loc[1,5].Enemy.Damage := 20;
Loc[1,5].Enemy.Defeat := 'Ford-Lover!!!';
Loc[1,5].Enemy.Action:= 'breaks one of your arms';
Loc[1,5].Enemy.Run := 'YEAH, WHAT THEN FOOL!!!';
Loc[1,5].Enemy.Win := 'Let me go get my "CHEVY" Camaro and run over you with it.';
Loc[1,5].Enemy.Offense := 'Call Jeffrey a FORD-LOVER';
Loc[2,1].Name := 'Card Shop';
Loc[2,1].Description := 'You see a bunch of people hanging out here and figure at least they aren`t cruising around';
Loc[2,1].Des2 := 'like those other morons and burning gas. You decide to hang around a while.';
Loc[2,1].Enemy.Description := 'Felix is standing around talking to other people.';
Loc[2,1].Enemy.Name := 'Felix';
Loc[2,1].Enemy.Difficulty := 40;
Loc[2,1].Enemy.Damage := 15;
Loc[2,1].Enemy.Defeat := 'Stop talking BS and get a life';
Loc[2,1].Enemy.Action := 'hits you';
Loc[2,1].Enemy.Run := 'Where you going b yotch. Come back and fight.';
Loc[2,1].Enemy.Win := 'You little punk I`m tired of little kids like you.';
Loc[2,1].Enemy.Offense := 'Tell Felix to shut up';
Loc[2,2].Name := 'Hospital';
Loc[2,2].Description := 'You recieve medical treatment and gain some health.';
Loc[2,2].Des2:= ' ';
Loc[2,2].Enemy.Name := '';
Loc[2,3].Name := 'Dreamer`s';
Loc[2,3].Description := 'Alot of loud sucky music and drunk people dancing.';
Loc[2,3].Des2 := 'It seems to be some sort of sorry excuse for a club.';
Loc[2,3].Enemy.Description := 'A drunk is dancing around stupidly.';
Loc[2,3].Enemy.Name := 'Some Drunk Guy';
Loc[2,3].Enemy.Difficulty := 40;
Loc[2,3].Enemy.Damage := 15;
Loc[2,3].Enemy.Defeat := 'Sober up and learn to dance';
Loc[2,3].Enemy.Action := 'pukes on you';
Loc[2,3].Enemy.Run := 'Hes jiziba apidod soadpofa ddsa';
Loc[2,3].Enemy.Win := 'Tif fo anofa drwink';
Loc[2,3].Enemy.Offense := 'Laugh at the drunk guy';
Loc[2,4].Name := 'Kirby Theater';
Loc[2,4].Description := 'It`s an actual theater where they show plays like Shakespeare and stuff.';
Loc[2,4].Des2 := 'You think to yourself "Why don`t these hicks change this place to a movie theater.';
Loc[2,4].Enemy.Description := 'Michael is here setting up lights.';
Loc[2,4].Enemy.Name := 'Michael';
Loc[2,4].Enemy.Difficulty := 35;
Loc[2,4].Enemy.Damage := 15;
Loc[2,4].Enemy.Defeat := 'I`ll shove those lights where the sun don`t shine.';
Loc[2,4].Enemy.Action := 'blinds you with his light in unspeakable ways';
Loc[2,4].Enemy.Run := 'I knew you couldn`t stand up for yourself.';
Loc[2,4].Enemy.Win := 'Yo momma';
Loc[2,4].Enemy.Offense := 'Call Micheal a slut-faced whore';
Loc[2,5].Name := 'Hyco Lake';
Loc[2,5].Description := 'A bunch of rich people live here cause it`s their sorry';
Loc[2,5].Des2:= 'excuse for a beach resort.';
Loc[2,5].Enemy.Description := 'A prep on his jetski is riding around like he`s the bomb';
Loc[2,5].Enemy.Name := 'Jet skier';
Loc[2,5].Enemy.Difficulty := 40;
Loc[2,5].Enemy.Damage := 25;
Loc[2,5].Enemy.Defeat := 'Who is better now b yotch.';
Loc[2,5].Enemy.Action := 'splashes you';
Loc[2,5].Enemy.Run := 'No one is better than me and my jet ski.';
Loc[2,5].Enemy.Win := 'Damn I got my hair messed up.';
Loc[2,5].Enemy.Offense := 'Drop a rock on his head from the bridge';
Loc[3,1].Name := 'Spot + Steal';
Loc[3,1].Description := 'John the store clerk sells you a shotgun.';
Loc[3,1].Des2 := 'While your there John invites you to praise jah and gain health.';
Loc[3,1].Enemy.Name := '';
Loc[3,2].Name := 'WALMART';
Loc[3,2].Description := 'This place is considered the shrine of Roxboro. It`s basically';
Loc[3,2].Des2 := ' Roxboro`s excuse for a shopping mall.';
Loc[3,2].Enemy.Description := 'Mike is here pimping on his hoes.';
Loc[3,2].Enemy.Name := 'Mike';
Loc[3,2].Enemy.Difficulty := 90;
Loc[3,2].Enemy.Damage := 30;
Loc[3,2].Enemy.Defeat := 'Damn I almost had it that guy is dangerous.';
Loc[3,2].Enemy.Action := 'cuts you with his knife';
Loc[3,2].Enemy.Run := 'Don`t mess with my hoes, FOOL.';
Loc[3,2].Enemy.Offense := 'Pimp on Mike`s hoes';
Loc[3,2].Enemy.Win := 'Don`t mess with my hoes, B YOTCH';
Loc[3,3].Name := 'Bojangles';
Loc[3,3].Description := 'It`s a resturant where you by chicken what more could you want.';
Loc[3,3].Des2 := 'The service is slow and the fries make you want to suck a lake dry their so salty.';
Loc[3,3].Enemy.Description := 'A mutated chicken is running around.';
Loc[3,3].Enemy.Name := 'The Mutated Chicken';
Loc[3,3].Enemy.Difficulty := 45;
Loc[3,3].Enemy.Damage := 10;
Loc[3,3].Enemy.Defeat := 'Hey wait a minute your Nicole!';
Loc[3,3].Enemy.Action:= 'pecks you';
Loc[3,3].Enemy.Run := 'Bawk Bawk Bawk Bawk Bawk';
Loc[3,3].Enemy.Offense := 'Attack the chicken';
Loc[3,3].Enemy.Win := 'Bawk, Bawk, Bawk, Cluck, Cluck, Cluck';
Loc[3,4].Name := 'Court House';
Loc[3,4].Description:= 'It`s a court house. DUHHH!!!!';
Loc[3,4].Des2 := ' ';
Loc[3,4].Enemy.Description := 'There is skater skating around. You think I remember 5 years ago I used to skate.';
Loc[3,4].Enemy.Name := 'Skater';
Loc[3,4].Enemy.Difficulty := 60;
Loc[3,4].Enemy.Damage := 30;
Loc[3,4].Enemy.Defeat := 'Stupid little greasy freshman find something better todo with your life.';
Loc[3,4].Enemy.Action := 'slaps you with his skateboard';
Loc[3,4].Enemy.Run := 'Ha Ha you suck';
Loc[3,4].Enemy.Offense := 'Yell I hate freshmen';
Loc[3,4].Enemy.Win := 'I`m gonna go fall on my butt now.';
Loc[3,5].Name := 'Sumerset';
Loc[3,5].Description := 'Contains Food Lion and a video store. WOOOOOO!!!';
Loc[3,5].Des2 := 'You have entered the realm of Programmer X';
Loc[3,5].Enemy.Name := '';
Loc[4,1].Name := 'Police Station';
Loc[4,1].Description := 'There is a strong odor of bacon. Then you realize it`s because ';
Loc[4,1].Des2 := 'your at the police station. ';
Loc[4,1].Enemy.Description := 'A Cop is standing in front of the station looking at you like you are trouble.';
Loc[4,1].Enemy.Difficulty := 70;
Loc[4,1].Enemy.Damage := 40;
Loc[4,1].Enemy.Name := 'A Pig';
Loc[4,1].Enemy.Defeat := 'Mmmmmmm pork chops.';
Loc[4,1].Enemy.Action := 'shoots you';
Loc[4,1].Enemy.Run := 'Hey freeze or something';
Loc[4,1].Enemy.Offense := 'Moon the Cop';
Loc[4,1].Enemy.Win := 'Your under arrest you people ain`t nothing but trash. ';
Loc[4,2].Name := 'Huck Sansbury';
Loc[4,2].Description := 'You have never seen so many preps and Mustangs in your life. ';
Loc[4,2].Des2 := 'Again you think to yourself "Don`t these people have lives, they just stand around in a parking lot." ';
Loc[4,2].Enemy.Description := 'Their are hundreds of preps moving around the place like cattle. ';
Loc[4,2].Enemy.Name := 'Mob of Preps';
Loc[4,2].Enemy.Difficulty := 80;
Loc[4,2].Enemy.Damage := 35;
Loc[4,2].Enemy.Defeat := 'What a bunch of no life wusses.';
Loc[4,2].Enemy.Action := 'slap you with the money their parents gave them';
Loc[4,2].Enemy.Run := 'Yeah that`s what we thought.';
Loc[4,2].Enemy.Offense := 'Yell "MUSTANGS SUCK!!!!"';
Loc[4,2].Enemy.Win := 'Oh fooey I got dirty.';
Loc[4,3].Name := 'Winn Dixie';
Loc[4,3].Description := 'This is where one of the programmer`s work you better look out';
Loc[4,3].Des2 := '';
Loc[4,3].Enemy.Name := '';
Loc[4,4].Name := 'Part Shop';
Loc[4,4].Description := 'Another auto parts store. Need we say more. ';
Loc[4,4].Des2 :='';
Loc[4,4].Enemy.Description := 'A Mustang pulls out and almost hits you. ';
Loc[4,4].Enemy.Name := 'Piece `o` S**t Mustang';
Loc[4,4].Enemy.Difficulty := 80;
Loc[4,4].Enemy.Damage := 40;
Loc[4,4].Enemy.Defeat := 'Well at least that`s one less Mustang to count. ';
Loc[4,4].Enemy.Action := 'runs over you';
Loc[4,4].Enemy.Run := 'VROOOOM PUT-PUT COUGH';
Loc[4,4].Enemy.Offense := 'Get revenge on the Mustang';
Loc[4,4].Enemy.Win := 'VROOOOOOOOOM PUT-PUT-PUT COUGH';
Loc[4,5].Name := 'Homestead';
Loc[4,5].Description := 'Best place to eat in this county.';
Loc[4,5].Des2 := '(Shameless promotional plug by PROGRAMMER X';
Loc[4,5].Enemy.Name := 'Bus Boy';
Loc[4,5].Enemy.Description := 'Bus Boy is busing tables. DUHHH';
Loc[4,5].Enemy.Difficulty := 70;
Loc[4,5].Enemy.Damage := 30;
Loc[4,5].Enemy.Defeat := 'Your service sucks.';
Loc[4,5].Enemy.Action := 'throws you in the pond';
Loc[4,5].Enemy.Run := 'Come back here so I can break some dishes above your head.';
Loc[4,5].Enemy.Offense := 'YELL "Come clean this table now!!!"';
Loc[4,5].Enemy.Win := 'I hope you drown in that pond!';
Loc[5,1].Name := 'Depot Street';
Loc[5,1].Description := 'Your surrounded by crack heads pimps and whores. ';
Loc[5,1].Des2 := 'This is where all the rejects from Durham come. ';
Loc[5,1].Enemy.Description := 'A crack head comes up and asks for some money.';
Loc[5,1].Enemy.Name := 'Crack Head';
Loc[5,1].Enemy.Difficulty := 75;
Loc[5,1].Enemy.Damage := 40;
Loc[5,1].Enemy.Defeat := ' Stupid crack head get yourself on a 12 step program.';
Loc[5,1].Enemy.Action := 'tries to stab you with a crack needle';
Loc[5,1].Enemy.Run := 'Hey man just a dollar is all I need.';
Loc[5,1].Enemy.Offense := 'Take away his crack pipe';
Loc[5,1].Enemy.Win := 'Yeah now I can get my dollar.';
Loc[5,2].Name := 'Depot Street';
Loc[5,2].Description := 'This area is controlled by the feared Craig Da Pimp. ';
Loc[5,2].Des2 := 'Watch where you go or you`ll run into him. ';
Loc[5,2].Enemy.Description := 'Sarah one of Craig`s women is working third shift.';
Loc[5,2].Enemy.Name := 'Sarah';
Loc[5,2].Enemy.Difficulty := 120;
Loc[5,2].Enemy.Damage := 55;
Loc[5,2].Enemy.Defeat := 'Damn and I had 20 bucks and a video camera.';
Loc[5,2].Enemy.Action := 'karate chop`s you';
Loc[5,2].Enemy.Run := 'Next time you better have the money!!';
Loc[5,2].Enemy.Offense := 'Try to score with Sarah without paying';
Loc[5,2].Enemy.Win := 'Next time you better pay up!!';
Loc[5,3].Name := 'Depot Street(Craig`s Layer)';
Loc[5,3].Description := 'This is Craig Da Pimp`s base of operation.';
Loc[5,3].Des2 := 'But you don`t have to worry about him anymore.';
Loc[5,3].Enemy.Name := '';
Loc[5,4].Name := 'Citgo';
Loc[5,4].Description := 'Cindy works this street. You better have a lot of money if oyu want some.';
Loc[5,4].Des2 := '';
Loc[5,4].Enemy.Description := 'Cindy is standing around looking good for all the guys.';
Loc[5,4].Enemy.Name := 'Cindy the Mistress';
Loc[5,4].Enemy.Difficulty := 115;
Loc[5,4].Enemy.Damage := 70;
Loc[5,4].Enemy.Defeat := 'She needed a career change anyway!';
Loc[5,4].Enemy.Action := 'bites you';
Loc[5,4].Enemy.Run := 'I`m gonna sick Craig on you next time.';
Loc[5,4].Enemy.Offense := 'Try to hit on Cindy without money';
Loc[5,4].Enemy.Win := 'Don`t mess with me again.';
Loc[5,5].Name := 'Car Quest';
Loc[5,5].Description := 'Yet another parts store. They need to build few more.';
Loc[5,5].Des2 := 'You can never have enough parts stores.';
Loc[5,5].Enemy.Description := 'There is another redneck working on his FORD truck.';
Loc[5,5].Enemy.Name := 'Redneck';
Loc[5,5].Enemy.Difficulty := 90;
Loc[5,5].Enemy.Damage := 40;
Loc[5,5].Enemy.Defeat := 'Chevy, Ford whats the big deal B YOTCH.';
Loc[5,5].Enemy.Action := 'spits chewing tobacco in your eye';
Loc[5,5].Enemy.Run := 'Come back here you some beach!';
Loc[5,5].Enemy.Offense := 'Call the redneck a Chevy-Lover';
Loc[5,5].Enemy.Win := 'YEE HAW Ford forever!!';
END;
PROCEDURE Title;
(* The title screen procedure *)
VAR
Adapter,
Mode,
Count : Integer;
Blank : String;
Begin
Adapter := CGA;
Mode := CGAC3;
Initgraph(Adapter, Mode, 'A:\EFHELL');
Setbkcolor(black);
Setcolor(3);
Outtextxy(35, 20, 'Escape From....');
moveto(15, 45);
linerel(0, 100); (* The next several lines control the drawing *)
linerel(20, 0); (* of the word HELL and filling it in. *)
linerel(0, -40);
linerel(30, 0);
linerel(0, 40);
linerel(20, 0);
linerel(0, -100);
linerel(-20, 0);
linerel(0, 40);
linerel(-30, 0);
linerel(0, -40);
linerel(-20, 0);
floodfill(16, 46, 3);
moveto(105, 45);
linerel(0, 100);
linerel(53, 0);
linerel(0, -20);
linerel(-33, 0);
linerel(0, -20);
linerel(27, 0);
linerel(0, -20);
linerel(-27, 0);
linerel(0, -20);
linerel(33, 0);
linerel(0, -20);
linerel(-53, 0);
floodfill(116, 46, 3);
moveto(175, 45);
linerel(0, 100);
linerel(40, 0);
linerel(0, -20);
linerel(-20, 0);
linerel(0, -80);
linerel(-20, 0);
floodfill(186, 46, 3);
moveto(225, 45);
linerel(0, 100);
linerel(40, 0);
linerel(0, -20);
linerel(-20, 0);
linerel(0, -80);
linerel(-20, 0);
floodfill(226, 46, 3); (* End of drawing section *)
outtextxy(35, 160, 'Programmers:');
outtextxy(40, 172, 'David Mitchell, Glen Newsome,');
outtextxy(47, 181, 'and Craig Zglinski');
Delay(10000);
CloseGraph;
End;
PROCEDURE MoveRight (VAR PositionColumn, PosGrid : Integer);
BEGIN
IF PositionColumn < 5
THEN PositionColumn := PositionColumn + 1
ELSE
BEGIN
Writeln('You can`t go that far');
DELAY(100);
END;
END;
PROCEDURE MoveLeft (VAR PositionColumn, PosGrid : Integer);
BEGIN
IF PositionColumn > 1
THEN
PositionColumn := PositionColumn - 1
ELSE
BEGIN
Writeln('You have hit the city limits but there isn`t much out there you decide to go somewhere else.');
DELAY(20000);
END;
END;
PROCEDURE MoveUp (VAR PosSector, PosRow : Integer);
BEGIN
IF PosRow > 1
THEN PosRow := PosRow - 1
ELSE
BEGIN
Writeln('That`s far enough you don`t want to get lost.');
DELAY(20000);
END;
END;
PROCEDURE MoveDown (VAR PosSector, PosRow : Integer);
BEGIN
IF PosRow < 5
THEN PosRow := PosRow + 1
ELSE
BEGIN
Writeln('You have gone a little far south, better go back.');
DELAY(20000);
END;
END;
PROCEDURE Boss1 (VAR Experience, Health, Damage, Boss : Integer);
Var
Attack, Enmhealth, enmattack,runway : integer;
response : char;
Name, Action1, taunt, taunt2 : String[60];
Label 4;
Begin
clrscr;
randomize;
Name := 'Pimpdaddy Craig Z';
Action1 := 'pimp slaps you unrelentingly';
taunt2 :='"Go sell drugs...its safer!"';
taunt :=('"Thats what you get for messing with my merchandise!"');
writeln(Name, ' approaches, you do you attack? (y/n)?');
readln (response);
enmhealth := 220;
While ((response = 'y') or (response = 'Y')) and ((enmhealth > 0) and (health > 0)) do
Begin
IF (NOT ((response = 'n') OR (response = 'N')))
THEN
BEGIN
writeln('Your Health: ',health,' Enemy Health : ',enmhealth);
Attack := random (10) +4;
enmhealth := enmhealth - (attack + (Experience DIV 5) + Damage);
writeln('You hit ', Name, ' for ', (attack + (Experience DIV 5) + Damage),' damage');
IF enmhealth > 0 THEN
BEGIN
Enmattack := random (10) +5;
IF (enmattack <= 3) THEN
Writeln(Name, ' ', action1, ' for ',enmattack,' damage');
IF (Enmattack >= 4) AND (Enmattack <= 6) THEN
Writeln(name, 's unrelenting pimp slapping kinda hurts you for ',enmattack, ' damage.');
IF (enmattack >= 7) AND (Enmattack <= 9) THEN
BEGIN
Writeln(name, 's unrelenting pimp slapping HURTS LIKE HECK! It does ', enmattack);
Writeln('damage!');
END;
IF Enmattack >= 10 THEN
BEGIN
Writeln(name, 's unrelenting pimp slapping does UNSPEAKABLE things to you!');
Writeln('You are out ', enmattack, ' health!');
END;
health := health - enmattack;
goto 4;
4:
BEGIN
IF (enmhealth > 0) and (health > 0) then
writeln('attack again?? (y/n)? ');
IF (Enmhealth > 0) and (health > 0)
THEN readln(response)
ELSE response := 'm';
END;
END;
IF Enmhealth <=0 THEN
BEGIN
writeln('You killed ', Name, '.');
writeln('Thats what ', name, ' gets for challening you! Good job!!');
writeln(Taunt2,' you scream at ',name);
Boss := Boss + 1;
END;
IF health <= 0
THEN
begin
writeln('You were killed by ', Name );
writeln(taunt,' ',name);
writeln('screams at you!');
end;
END;
END;
IF (Response = 'n') or (response = 'N')
THEN
begin
runway := random(4) + 1;
health := health - runway;
Writeln('Like a little girlie man you TRY to run away');
writeln('However, ', name, ' yells at you, "Wanna Leave?!? I pimp slap you some');
writeln('more!" And you take ', runway, ' damage');
goto 4;
end;
end;
PROCEDURE Boss2 (VAR Experience, Health, Damage, Boss : Integer);
Label 1;
VAR
attack, runway, Enmhealth, temp, enmattack : integer;
response : char;
Name : String[15];
Action1 : String[30];
taunt2 : String[255];
taunt : String[255];
taunt3 : String[255];
Begin
clrscr;
randomize;
Name := 'Programmer X';
Action1 := 'clubs you with a charred midget';
taunt2 :='YES I AM UNSTOPABLE!!!';
taunt :=('"That is what you get for daring to challenge me FOOL!!!!"');
writeln(Name, ' approaches, you do you attack? (y/n)?');
readln (response);
enmhealth := 200;
While ((response = 'y') or (response = 'Y')) and ((enmhealth > 0) and (health > 0)) do
Begin
IF (NOT ((response = 'n') OR (response = 'N')))
THEN
BEGIN
writeln('Your Health: ',health,' Enemy Health : ',enmhealth);
Attack := random (12) + 4;
enmhealth := enmhealth - (attack + (Experience DIV 5) + Damage);
writeln('You hit ', Name, ' for ',attack,' damage');
IF enmhealth > 0 THEN
BEGIN
Enmattack := random (10) +4;
IF (enmattack <= 3) THEN
Writeln(Name, ' ', action1, ' for ',enmattack,' damage');
IF (Enmattack >= 4) AND (Enmattack <= 6) THEN
Writeln(name,' clubs you with a charred midget which hurts a little for ',enmattack, ' damage.');
IF (enmattack >= 7) AND (Enmattack <= 9) THEN
BEGIN
Writeln(name, ' clubs you with a charred midget and it HURTS LIKE HECK! It does ', enmattack);
Writeln('damage!');
END;
IF Enmattack >= 10 THEN
BEGIN
Writeln(name, ' clubs you with a charred midget an it does VERY BAD THINGS to you!');
Writeln('You are out ', enmattack, ' health!');
END;
health := health - enmattack;
goto 1;
1:
BEGIN
IF (enmhealth > 0) and (health > 0) then
writeln('Your Health: ',health,' Enemy Health : ',enmhealth);
writeln('Do you dare attack again?? (y/n)? ');
IF (Enmhealth > 0) and (health > 0)
THEN readln(response)
ELSE response := 'm';
END;
END;
IF Enmhealth <=0 THEN
BEGIN
writeln('You have killed ', Name, '.');
writeln('Thats what ', name, ' gets for challening you! Good job!!');
writeln(Taunt2,' you scream at ',name);
Boss := Boss + 1;
Experience := Experience + 20;
END;
IF health <= 0
THEN
begin
writeln('You were killed by ', Name );
writeln(taunt,' ',name);
writeln('screams at you!');
end;
END;
END;
IF (Response = 'n') or (response = 'N')
THEN
begin
runway := random(4) + 1;
health := health - runway;
Writeln('Like a little girlie man you TRY to run away');
writeln('However, ', name, ' yells at you, "There is no escaping me!!"');
writeln('and he clubs you with a frozen midget and you take ', runway, ' damage');
goto 1;
end;
end;
PROCEDURE Fight (VAR Location : LocGrid; VAR PosSector, PosRow, PosColumn, Experience, Health, Damage : Integer);
Var
attack, runway, Enmhealth, temp, enmattack : integer;
response : char;
Name : String[35];
Action : String[70];
taunt2 : String[255];
taunt : String[255];
taunt3 : String[255];
Begin
randomize;
Name := Location[PosRow, PosColumn].Enemy.Name;
EnmHealth := Location[PosRow, PosColumn].Enemy.Difficulty;
Enmattack := Location[PosRow, PosColumn].Enemy.Damage;
Action := Location[PosRow, PosColumn].Enemy.Action;
taunt2 := Location[PosRow, PosColumn].Enemy.Run;
taunt := Location[PosRow, PosColumn].Enemy.Defeat;
Taunt3 := Location[PosRow, PosColumn].Enemy.Win;
Temp := EnmHealth;
writeln(Name, ' approaches you do you attack? (y/n)?');
readln (response);
While ((response = 'y') or (response = 'Y')) and ((enmhealth > 0) and (health > 0)) do
Begin
IF (NOT ((response = 'n') OR (response = 'N')))
THEN
BEGIN
writeln('Your Health: ',health,' Enemy Health : ',enmhealth);
Attack := random (6) +4;
enmhealth := enmhealth - (attack + (Experience DIV 5) + Damage);
writeln('You hit ', Name, ' for ',attack + (Experience DIV 5) + Damage,' damage');
IF enmhealth > 0
THEN
BEGIN
Enmattack := random (5) +4;
writeln(Name, ' ', action, ' for ',enmattack,' damage');
health := health - enmattack;
END
ELSE
BEGIN
writeln('You killed ', Name, '.');
writeln('Thats what ', name, ' gets for challening you! Good job!!');
writeln(Taunt,' you scream at ',name);
Health := Health + 10;
Writeln('Your health: ', Health);
Location[PosRow, PosColumn].Enemy.Name := '';
Temp := Temp - 5;
Experience := Experience + Random(Temp);
END;
IF health <= 0
THEN
begin
writeln('You were killed by ', Name );
writeln(taunt3,' ',name,' screams at you');
end;
IF (enmhealth > 0) and (health > 0) then
writeln('Attack again?? (y/n)? ');
IF (Enmhealth > 0) and (health > 0)
THEN readln(response)
ELSE response := 'm';
END;
END;
IF (Response = 'n') or (response = 'N')
THEN
begin
runway := random(3) + 1;
health := health - runway;
Writeln('Like a little girlie man turn around and run away');
writeln('In your haste to get away you take ', runway, ' damage');
writeln(name,' yells at you "',taunt2,'"');
END;
Delay(20000);
END;
BEGIN (* RoxboroRumble *)
Randomize;
Area := 1;
Row := 1;
Column := 1;
Boss := 0;
Response := ' ';
SetArray(Grid, Guy);
Exp := 30;
Damage := Guy.Inventory[1].WeaponDamage;
Health := 25;
Title;
WHILE NOT((Response = 'x') OR (Response = 'X')) DO
BEGIN
Damage := Guy.Inventory[1].WeaponDamage;
Writeln('Location: ', Grid[Row,Column].Name);
Mustangs := Random(500);
Write('You see ', Mustangs, ' Ford Mustangs,');
IF Mustangs > 99
THEN Writeln(' you think to yourself that Roxboro has way too many Mustangs.')
ELSE Writeln(' you are really getting sick of seeing that car.');
Writeln('---------------------------------------------------------------------');
Write(Grid[Row,Column].Description);
Write(Grid[Row,Column].Des2);
IF NOT(Grid[Row,Column].Enemy.Name = '') THEN Write(Grid[Row,Column].Enemy.Description);
Writeln;
Writeln('---------------------------------------------------------------------');
Writeln('Your Experience: ', Exp, ' Your Health: ', Health);
IF (Row = 3) AND (Column = 5) THEN Boss2(Exp, Health, Damage, BossCount);
IF (Row = 5) AND (Column = 3) THEN Boss1(Exp, Health, Damage, BossCount);
IF (Row = 2) AND (Column = 2) THEN Health := Health + 5;
IF (Row = 3) AND (Column = 1)
THEN
BEGIN
Health := Health + 3;
Damage := 5;
END;
IF BossCount = 2 THEN Goto 3;
IF Health <= 0 THEN Goto 2;
Writeln('YOUR LIMITED OPTIONS (There ain`t much to do in Roxboro):');
Writeln('8 - Move North');
Writeln('4 - Move West');
Writeln('6 - Move East');
Writeln('2 - Move South');
IF NOT(Grid[Row, Column].Enemy.Name = '')
THEN Writeln('5 - ',Grid[Row, Column].Enemy.Offense);
Writeln ('X - Quit Game');
Readln(Response);
CASE Response OF
'8' : MoveUp(Area, Row);
'4' : MoveLeft(Column, Area);
'6' : MoveRight(Column, Area);
'2' : MoveDown(Area, Row);
'5' : IF NOT(Grid[Row, Column].Enemy.Name = '') THEN Fight(Grid, Area, Row, Column, Exp, Health, Damage);
END;
IF Health <= 0 THEN Goto 2;
CLRSCR;
END;
2 : IF NOT((Response = 'X') OR (Response = 'x')) THEN Writeln('Game Over You Suck!!!!');
3 : IF NOT((Health <= 0) OR ((Response = 'X') OR (Response = 'x'))) THEN Writeln('You win!!! You are da man!!!');
IF (Response = 'X') OR (Response = 'x') THEN Writeln('You suck for quitting such a cool game.');
Delay(20000);
END.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment