Files
TextQuest-win/TextQuest.pas
T

1369 lines
72 KiB
ObjectPascal
Raw Normal View History

2018-06-21 00:06:34 +02:00
Program TextQuest;
2018-08-24 02:20:01 +02:00
uses winCrt, graph;
var choice : char;
drankpotion, havesword, killedslug, haveflower, killedDragon : integer;
gD, gM, X, Y : SmallInt;
2018-06-21 00:06:34 +02:00
2018-06-21 22:33:33 +02:00
procedure location2 forward;
procedure location4 forward;
procedure location3 forward;
procedure location5 forward;
procedure location6 forward;
procedure location7 forward;
2018-06-25 01:16:00 +02:00
procedure location8 forward;
procedure location9 forward;
procedure location10 forward;
procedure location11 forward;
procedure wait;
begin
2018-08-24 02:20:01 +02:00
outtextxy(X,Y,'.');
2018-06-25 01:16:00 +02:00
Delay(2500);
2018-08-24 02:20:01 +02:00
outtextxy(X+10,Y,'.');
2018-06-25 01:16:00 +02:00
Delay(2500);
2018-08-24 02:20:01 +02:00
outtextxy(X+20,Y,'.');
2018-06-25 01:16:00 +02:00
Delay(2500);
end;
procedure savedprincess1;
2018-06-21 00:06:34 +02:00
begin
2018-08-24 02:20:01 +02:00
cleardevice;
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' ///........./|\\.........\\\ ');
outtextxy(10, 30,' //// : ||| : \\\\ ');
outtextxy(10, 40,' \\'''''''''''':''''''''|||'''''''':''''''''''''// ');
outtextxy(10, 50,' \\`. . ||| . .''// ');
outtextxy(10, 60,' \\\`. . ||| . .''/// ');
outtextxy(10, 70,' \\\\`. . ||| . .''//// ');
outtextxy(10, 80,' \\\\\`. .|||. .''///// ');
outtextxy(10, 90,' ''\\\\\`.|||.''/////'' ');
outtextxy(10, 100,' ''\\\\\\|||//////'' ');
outtextxy(10, 110,' ''\\\\\|/////'' ');
setcolor(yellow);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_YELLOW);
2018-08-24 02:20:01 +02:00
outtextxy(10, 120,' .:::::::::::::::::::::. ');
outtextxy(10, 130,' .::::::::''''''''''''''''''::::::::. ');
outtextxy(10, 140,' .::::::'''' ''''::::::. ');
outtextxy(10, 150,' ::::::'''' '''':::::: ');
outtextxy(10, 160,' ::::::'' '':::::: ');
outtextxy(10, 170,' ::::::'' '':::::: ');
outtextxy(10, 180,' ::::::'' '':::::: ');
outtextxy(10, 190,' :::::: :::::: ');
outtextxy(10, 200,' :::::: :::::: ');
outtextxy(10, 210,' :::::: :::::: ');
outtextxy(10, 220,' ::::::. .:::::: ');
outtextxy(10, 230,' ::::::. .:::::: ');
outtextxy(10, 240,' ::::::. .:::::: ');
outtextxy(10, 250,' ::::::.. ..:::::: ');
outtextxy(10, 260,' ''::::::.. ..::::::'' ');
outtextxy(10, 270,' ''::::::::........::::::::'' ');
outtextxy(10, 280,' ''::::::::::::::::::::'' ');
outtextxy(10, 290,' ''''::::::::::::'''' ');
setcolor(green);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
2018-08-24 02:20:01 +02:00
outtextxy(10, 300,'You have saved princess April.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 310,'You marry her and live happily ever after.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 320,'...');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 330,'THE END.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
halt;
2018-06-21 22:33:33 +02:00
end;
2018-08-24 02:20:01 +02:00
procedure dead;
begin
cleardevice;
setcolor(8);
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
outtextxy(10, 20,' /'' ');
outtextxy(10, 30,' || ');
outtextxy(10, 40,' || *** ');
outtextxy(10, 50,' || __X_ ');
outtextxy(10, 60,' || ( ___\ ');
outtextxy(10, 70,' || |: \\ ');
outtextxy(10, 80,' ><>< ___)..:/_#__, ');
outtextxy(10, 90,' (X|) (|+(____)+\ _) ');
outtextxy(10, 100,' o|_\/>> + + + << \ ');
outtextxy(10, 110,' |:\/|+ + + +| \_\< ');
outtextxy(10, 120,' \./ XXXXXX. (o_)_ ');
outtextxy(10, 130,' /+ + + | \:| ');
outtextxy(10, 140,' /+ +/+ +| -/->>>----. ');
outtextxy(10, 150,' /+ +|+ /XX / _--, _ \ ');
outtextxy(10, 160,' \+ + + / |X (,\- \/_ , ');
outtextxy(10, 170,' /\+ + /\ |X \ /,//_/ ');
outtextxy(10, 180,' +_+_+_( )o_)X \ (( /// ');
outtextxy(10, 190,' (_o( /__/ X \ \\// ');
outtextxy(10, 200,' \_| |_/ X \ /// ');
outtextxy(10, 210,' \_| >(_/ \,/ ');
outtextxy(10, 220,' ,//__o\ /__//, V ');
setcolor(red);
//psvDebugScreenSetFgColor(COLOR_RED);
writeln();
writeln();
writeln();
outtextxy(10, 260,'You have died on your quest.');
Delay(5000);
outtextxy(10, 270,'For your bravery, the king erects a statue in the town centre.');
Delay(5000);
outtextxy(10, 280,'You will be remembered until a better knight comes along.');
Delay(5000);
setcolor(white);
//psvDebugScreenSetFgColor(COLOR_WHITE);
halt;
end;
2018-06-21 22:33:33 +02:00
procedure coward;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
setcolor(8);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' ._--+. ');
outtextxy(10, 30,' -'''' ''. ');
outtextxy(10, 40,' +:'' ''. ');
outtextxy(10, 50,' | ''. _.-''| ');
outtextxy(10, 60,' | + .-'' J ');
outtextxy(10, 70,' _.+ .....''.''| ''.-'' | ');
outtextxy(10, 80,' _.-'''' ''. ..'' | + J''''.. ');
outtextxy(10, 90,' +:'' ''.'' ;-+. | _+.| : ');
outtextxy(10, 100,' | \\ _.-+ _.'' _.F F +:'' ''. ''.... ');
outtextxy(10, 110,' L \\ _.-'''' | _.-'' _.'' J J J ''. + : ');
outtextxy(10, 120,' | ''+'' |_.-'' _.-'' | | | + ''. ''._''''. ');
outtextxy(10, 130,' .'' L L J _.-'' | | | ''. ''. _.-'' ''. ');
outtextxy(10, 140,' : | | J-'' F F F ''. _.-'' ''. ');
outtextxy(10, 150,' : L L _+ L J J J ''|. ''; ');
outtextxy(10, 160,' : J | +-'' \\ L _.+.|.+. F ''. _.-'' F ');
outtextxy(10, 170,' : | L L\\ \\| _.-'' '' ''. J ''. .-'' | ');
outtextxy(10, 180,' : .L | | \\ '', _.-'' ''. | ''..-'' J''. ');
outtextxy(10, 190,' : : | L L ''. \\ _.-+. ''. :+-. | F ''. ');
outtextxy(10, 200,' : : L | | \\ ;.-'''' ''. :-'' '':+ J | : ');
outtextxy(10, 210,' : : | L L +:'''' ''. _.-'' .-'' | | J: : ');
outtextxy(10, 220,' : : L | | J \\ ''.-'' _.-'' J J F : : ');
outtextxy(10, 230,' : : \\ L L L \\ _.-+ _.-'' | | | : : ');
outtextxy(10, 240,' : : \\| | | ''. _.-'' |-'' J J J : : ');
outtextxy(10, 250,' : ''. +''\\ J \\ _.-'' F ,-T''\\ | | .-'' : : ');
outtextxy(10, 260,' : ''. \\ L +'' J / | J J J .-'' .'' : ');
outtextxy(10, 270,' : : \\ | | | F ''.|.-''+|-'' .'' : ');
outtextxy(10, 280,' : : \\ J | F J ''... .'' : ');
outtextxy(10, 290,' : : \\ L | J | \\ ''.''''.''''''''.'' : ');
outtextxy(10, 300,' : : \\| | | .-''\\ \\ : ');
outtextxy(10, 310,' : ''. J | F-'' .''\\ \\ .'' ');
outtextxy(10, 320,' : : L | J : \\ \\ .'' ');
outtextxy(10, 330,' : : | | .+ ...'' \\ \\ .''''.'' ');
outtextxy(10, 340,' : : J | .-'' .'' \\ \\''.''''''.''.'' ');
outtextxy(10, 350,' : : \\ | .-'' .'' .\\ _-'' ');
outtextxy(10, 360,' '''''''''''''''''''''''''''''''''''''''''''''''' '''''''''' ');
setcolor(RED);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
2018-06-21 22:33:33 +02:00
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 380,'You run away from your quest like a coward.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 390,'As you run away, you hear the sound of the princess being eaten by the dragon.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 400,'When you arrive back at the town, the King arrests you for your cowardice.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 410,'The rest of your days are spent rotting in the dungeons.');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-06-25 01:16:00 +02:00
Delay(4000);
2018-08-24 02:20:01 +02:00
closegraph;
2018-06-21 22:33:33 +02:00
end;
procedure location1;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-21 22:33:33 +02:00
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' / \\ /''\\ _ ');
outtextxy(10, 30,' \\_.. /''.,/ \\_ .,'' \\ / \\_ ');
outtextxy(10, 40,' \\ / \\ _/ \\_ / \\ _ ');
outtextxy(10, 50,' \\__,. / \\ / \\/., _| _/ \\ ');
outtextxy(10, 60,' \\_/ \\ /'',.,''''\\ \\_ \\_/ \\/ \\ ');
outtextxy(10, 70,' _ \\/ / '',../'',.\\ _/ \\ ');
outtextxy(10, 80,' / _/m\\ \\ / | \\ /.,/''\\ _\\ ');
outtextxy(10, 90,' _/ /MMmm\\ \\_ | \\/ \\_/ \\ ');
outtextxy(10, 100,' / \\ |MMMMmm| \\__ \\ \\_ \\ \\_ ');
outtextxy(10, 110,' \\ /MMMMMMm| \\ \\ \\ \\ \\ ');
outtextxy(10, 120,' \\ |MMMMMMmm\\ \\___ \\_ \\_ \\ ');
outtextxy(10, 130,' \\|MMMMMMMMmm|____.'' /\\_ \\ \\ \\_ ');
outtextxy(10, 140,' /''.,___________...,,'' \\ \\ \\ \\ ');
outtextxy(10, 150,' / \\ | \\ |__ \\ \\_ \\ ');
outtextxy(10, 160,' _/ | \\ \\_ \\ \\ \\ \\_ ');
outtextxy(10, 170,' / \\ \\ \\_ \\ \\ ');
outtextxy(10, 180,' \\ \\ \\ \\__ \\ ');
outtextxy(10, 190,' \\ \\_ \\ \\ \\ ');
outtextxy(10, 200,' | \\ \\ \\ \\ ');
outtextxy(10, 210,' \\ | \\ ');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 230,'You see the entrance to the dragon''s lair to the north.');
outtextxy(10, 240,'You hear the princess yelling, "Help me! Help me!"');
outtextxy(10, 250,'You hear the bellow of the dragon.');
outtextxy(10, 260,'What do you do?');
outtextxy(10, 270,'X - Enter the lair.');
outtextxy(10, 280,'O - Run away.');
outtextxy(10, 290,'? ');
Moveto(20,290);
X := getX;
Y := getY;
repeat
choice := ReadKey;
2018-06-21 22:33:33 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#111,#79 : begin
2018-06-25 01:16:00 +02:00
wait;
coward;
end;
2018-08-24 02:20:01 +02:00
#120,#88 : begin
2018-06-25 01:16:00 +02:00
wait;
location2;
end;
2018-06-21 22:33:33 +02:00
end;
2018-08-24 02:20:01 +02:00
until (choice = #111) or (choice = #120) or (choice = #79) or (choice = #88);
2018-06-21 22:33:33 +02:00
end;
procedure location2;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-21 22:33:33 +02:00
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' _______ ______________ ___ _______');
outtextxy(10, 30,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 40,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 50,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 60,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 70,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 80,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 90,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 100,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 110,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 120,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 130,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 140,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 150,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 160,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 170,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 180,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 190,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 200,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 210,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 230,'You are inside the dragon''s burned fortress lair.');
outtextxy(10, 240,'The heat is opressive and the stench of brimstone burns your nostrils.');
outtextxy(10, 250,'You see a door leading west, a door leading east, and a door leading south.');
outtextxy(10, 260,'What do you do?');
outtextxy(10, 270,'X - Go east.');
outtextxy(10, 280,'O - Go west.');
outtextxy(10, 290,'^ - Go south.');
outtextxy(10, 300,'? ');
Moveto(20,300);
X := getX;
Y := getY;
repeat
choice := ReadKey;
2018-06-21 22:33:33 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
2018-06-25 01:16:00 +02:00
wait;
location4;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
2018-06-25 01:16:00 +02:00
wait;
location3;
end;
2018-08-24 02:20:01 +02:00
#115, #83 : begin
2018-06-25 01:16:00 +02:00
wait;
location1;
end;
2018-06-21 22:33:33 +02:00
end;
2018-08-24 02:20:01 +02:00
until (choice = #111) or (choice = #120) or (choice = #79) or (choice = #88) or (choice = #115) or (choice = #83);
2018-06-21 22:33:33 +02:00
end;
procedure location3;
begin
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10,340,'It''s very dark in this room.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 350,'You cannot see a thing.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 360,'You feel your way around the room, finding nothing as a point of reference and nothing of interest.');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 370,'Fumbling, you finally find your way out of the room.');
Moveto(10, 380);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
2018-06-21 22:33:33 +02:00
location2;
end;
procedure location4;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-21 22:33:33 +02:00
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' \_______/ ');
outtextxy(10, 30,' `.,-''\_____/`-.,'' ');
outtextxy(10, 40,' /`..''\ _ /`.,'' \ ');
outtextxy(10, 50,' / /`.,'' `.,''\\ \ ');
outtextxy(10, 60,' /__/__/ \__\__\ ');
outtextxy(10, 70,' \ \ \ / / / ');
outtextxy(10, 80,' \ \,''`._,''`./ / ');
outtextxy(10, 90,' \,''`./____\,''`./ ');
outtextxy(10, 100,' ,''`-./______\,-''`. ');
outtextxy(10, 110,' / \ ');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
2018-08-24 02:20:01 +02:00
outtextxy(10, 120,' _______ ______________ ___ _______');
outtextxy(10, 130,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 140,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 150,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 160,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 170,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 180,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 190,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 200,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 210,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 220,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 230,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 240,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 250,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 260,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 270,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 280,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 290,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 300,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 310,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 330,'You are standing in a room covered in spider webs.');
outtextxy(10, 340,'There are doors leading west, north, and east.');
outtextxy(10, 350,'What do you do?');
outtextxy(10, 360,'X - Go east.');
outtextxy(10, 370,'O - Go north.');
outtextxy(10, 380,'^ - Go west.');
outtextxy(10, 390,'? ');
Moveto(20, 390);
X := getX;
Y := getY;
repeat
choice := ReadKey;
2018-06-21 22:33:33 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
2018-06-25 01:16:00 +02:00
wait;
location5;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
2018-06-25 01:16:00 +02:00
wait;
location8;
end;
2018-08-24 02:20:01 +02:00
#115, #83 : begin
2018-06-25 01:16:00 +02:00
wait;
location2;
end;
2018-06-21 22:33:33 +02:00
end;
2018-08-24 02:20:01 +02:00
until (choice = #111) or (choice = #79) or (choice = #120) or (choice = #88) or (choice = #115) or (choice = #83);
2018-06-21 22:33:33 +02:00
end;
procedure location5;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-21 22:33:33 +02:00
if (drankpotion <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(green);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' _____ ');
outtextxy(10, 30,' `.___,'' ');
outtextxy(10, 40,' (___) ');
outtextxy(10, 50,' < > ');
outtextxy(10, 60,' ) ( ');
outtextxy(10, 70,' /`-.\ ');
outtextxy(10, 80,' / \ ');
outtextxy(10, 90,' / _ _\ ');
outtextxy(10, 100,' :,'' `-.'' `: ');
outtextxy(10, 110,' | | ');
outtextxy(10, 120,' : ; ');
outtextxy(10, 130,' \ / ');
outtextxy(10, 140,' `.___.'' ');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 160,'You are in a room with a table.');
outtextxy(10, 170,'On the table you can see a bottle that appears to be a potion.');
2018-06-21 22:33:33 +02:00
end
else
begin
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' ___ ');
outtextxy(10, 30,' < > ');
outtextxy(10, 40,' ) ( ');
outtextxy(10, 50,' / \ ');
outtextxy(10, 60,' / \ ');
outtextxy(10, 70,' / \ ');
outtextxy(10, 80,' : : ');
outtextxy(10, 90,' | | ');
outtextxy(10, 100,' : ; ');
outtextxy(10, 110,' \ / ');
outtextxy(10, 120,' `.___.'' ');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 140,'You are in a room with an empty potion bottle.');
2018-06-21 22:33:33 +02:00
end;
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
2018-06-21 00:06:34 +02:00
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 190,' _______ ______________ ___ _______');
outtextxy(10, 200,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 210,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 220,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 230,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 240,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 250,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 260,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 270,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 280,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 290,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 300,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 310,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 320,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 330,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 340,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 350,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 360,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 370,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 380,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 400,'There is a door to the west.');
outtextxy(10, 410,'What do you do?');
outtextxy(10, 420,'X - Go west.');
2018-06-21 22:33:33 +02:00
if (drankpotion <> 1) then
begin
2018-08-24 02:20:01 +02:00
outtextxy(10, 430,'O - Drink the potion.');
outtextxy(10, 440,'? ');
Moveto(20,440);
X := getX;
Y := getY;
end
else
begin
outtextxy(10,430,'? ');
Moveto(20,430);
X := getX;
Y := getY;
2018-06-21 22:33:33 +02:00
end;
2018-08-24 02:20:01 +02:00
repeat
choice := ReadKey;
2018-06-21 22:33:33 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
2018-06-25 01:16:00 +02:00
wait;
location4;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
repeat
2018-06-21 22:33:33 +02:00
if (drankpotion <> 1) then
begin
writeln();
2018-08-24 02:20:01 +02:00
setcolor(red);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
2018-08-24 02:20:01 +02:00
outtextxy(10, 450,'Yuck! It does not taste good. You wonder what will happen...');
2018-06-21 22:33:33 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
setcolor(green);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
2018-08-24 02:20:01 +02:00
outtextxy(10, 460,'Suddenly you feel much stronger!');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
drankPotion := 1;
2018-08-24 02:20:01 +02:00
Moveto(10,470);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location5;
2018-08-24 02:20:01 +02:00
end
else
begin
choice := Readkey;
if (choice = #120) or (choice = #88) then
begin
wait;
location4
end;
end;
until (choice = #120) or (choice = #88);
2018-06-21 22:33:33 +02:00
end;
end;
2018-08-24 02:20:01 +02:00
until (choice = #111) or (choice = #79) or (choice = #120) or (choice = #88);
2018-06-21 22:33:33 +02:00
end;
procedure location6;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-21 22:33:33 +02:00
if (havesword <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(yellow);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_YELLOW);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' (O) ');
outtextxy(10, 30,' <M ');
outtextxy(10, 40,' o <M ');
outtextxy(10, 50,' /| ...... /:M\\------------------------------------------------,,,,,, ');
outtextxy(10, 60,' (O)[]XXXXXX[]I:K+}=====<{H}>================================------------> ');
outtextxy(10, 70,' \\|^^^^^^ \:W/------------------------------------------------''''''''''''''');
outtextxy(10, 80,' o <W ');
outtextxy(10, 90,' <W ');
outtextxy(10, 100,' (O) ');
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 120,'You are in a room with a golden sword laying across a purple cloth draped over a table.');
2018-06-21 22:33:33 +02:00
end
else
begin
2018-08-24 02:20:01 +02:00
outtextxy(10, 70,'You are in a room with a purple cloth draped over a table.');
2018-06-21 22:33:33 +02:00
end;
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 160,' _______ ______________ ___ _______');
outtextxy(10, 170,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 180,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 190,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 200,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 210,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 220,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 230,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 240,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 250,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 260,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 270,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 280,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 290,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 300,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 310,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 320,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 330,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 340,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 350,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 370,'There is a door to the east.');
outtextxy(10, 380,'What do you do?');
outtextxy(10, 390,'X - Go east.');
2018-06-21 22:33:33 +02:00
if (havesword <> 1) then
begin
2018-08-24 02:20:01 +02:00
outtextxy(10, 400,'O - Take the sword.');
outtextxy(10, 410,'? ');
end
else
begin
outtextxy(10, 400,'? ');
Moveto(20, 400);
X := getX;
Y := getY;
end;
repeat
choice := ReadKey;
2018-06-21 22:33:33 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
Moveto(20, 400);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location7;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
repeat
2018-06-21 22:33:33 +02:00
if (havesword <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(green);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
2018-08-24 02:20:01 +02:00
outtextxy(10, 420,'You pick up the sword and buff it with the cloth, placing the cloth back onto the table.');
setcolor(white);
2018-06-21 22:33:33 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
haveSword := 1;
2018-08-24 02:20:01 +02:00
Moveto(10, 430);
X := getX;
Y := getY;
wait;
location6;
end
else
begin
choice := ReadKey;
if (choice = #120) or (choice = #88) then
begin
wait;
location7;
end;
end;
until (choice = #120) or (choice = #88);
2018-06-21 22:33:33 +02:00
end;
end;
2018-08-24 02:20:01 +02:00
until (choice = #120) or (choice = #88) or (choice = #111) or (choice = #79);
2018-06-21 22:33:33 +02:00
end;
procedure location7;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-25 01:16:00 +02:00
if (killedslug <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' ____ , ');
outtextxy(10, 30,' /---.''.__ ____// ');
outtextxy(10, 40,' ''--.\ /.---'' ');
outtextxy(10, 50,' _______ \\ // ');
outtextxy(10, 60,' /.------.\ \| .''/ ______ ');
outtextxy(10, 70,' // ___ \ \ ||/|\ // _/_----.\__ ');
outtextxy(10, 80,' |/ /.-.\ \ \:|< >|// _/.''..\ ''--'' ');
outtextxy(10, 90,' // \''. | \''.|.''/ /_/ / \\ ');
outtextxy(10, 100,' // \ \_\/'' '' ~\-''.-'' \\ ');
outtextxy(10, 110,' // ''-._| :H: |''-.__ \\ ');
outtextxy(10, 120,' // (/''===''\\)''-._\ || ');
outtextxy(10, 130,' || \\ \| ');
outtextxy(10, 140,' || \\ '' ');
outtextxy(10, 150,' |/ \\ ');
outtextxy(10, 160,' || ');
outtextxy(10, 170,' || ');
outtextxy(10, 180,' \\ ');
outtextxy(10, 190,' '' ');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 210,'You are in a musty room.');
outtextxy(10, 220,'On the ground, you see an unusually large spider.');
outtextxy(10, 230,'What do you do?');
outtextxy(10, 240,'X - Run away.');
outtextxy(10, 250,'O - Crunch it under your heel.');
outtextxy(10, 260,'? ');
repeat
choice := ReadKey;
2018-06-25 01:16:00 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
setcolor(red);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
2018-08-24 02:20:01 +02:00
outtextxy(10, 270,'You cry out in fear and run away.');
outtextxy(10, 280,'From the distance you hear the princess yell out, "Do I have to save myself!?"');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
Moveto(10,290);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location8;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
setcolor(green);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
2018-08-24 02:20:01 +02:00
outtextxy(10, 270,'You get bug guts on your boots as you crush the spider with a violent stomp.');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
killedSlug := 1;
2018-08-24 02:20:01 +02:00
Moveto(10, 280);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location7;
end;
end;
2018-08-24 02:20:01 +02:00
until (choice = #120) or (choice = #88) or (choice = #111) or (choice = #79);
2018-06-25 01:16:00 +02:00
end
else
begin
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' _______ ______________ ___ _______');
outtextxy(10, 30,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 40,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 50,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 60,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 70,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 80,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 90,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 100,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 110,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 120,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 130,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 140,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 150,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 160,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 170,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 180,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 190,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 200,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 210,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 230,'You are in a room with spider guts smeared on the floor.');
outtextxy(10, 240,'There is a door to the west and to the east.');
outtextxy(10, 250,'What do you do?');
outtextxy(10, 260,'X - Go west.');
outtextxy(10, 270,'O - Go east.');
outtextxy(10, 280,'? ');
Moveto(20, 280);
X := getX;
Y := getY;
repeat
choice := ReadKey;
2018-06-25 01:16:00 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
2018-06-25 01:16:00 +02:00
wait;
location6;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
2018-06-25 01:16:00 +02:00
wait;
location8;
end;
end;
2018-08-24 02:20:01 +02:00
until (choice = #120) or (choice = #88) or (choice = #111) or (choice = #79);
2018-06-25 01:16:00 +02:00
end;
end;
procedure location8;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
setcolor(8);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' _______ ______________ ___ _______');
outtextxy(10, 30,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 40,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 50,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 60,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 70,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 80,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 90,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 100,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 110,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 120,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 130,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 140,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 150,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 160,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 170,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 180,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 190,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 200,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 210,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 230,'You are in an empty room. The walls feel as though they are emanating heat.');
outtextxy(10, 240,'There is a door to the west, north, east, and south.');
outtextxy(10, 250,'What do you do?');
outtextxy(10, 260,'X - Go west.');
outtextxy(10, 270,'O - Go north.');
outtextxy(10, 280,'^ - Go east.');
outtextxy(10, 290,'[] - Go south.');
outtextxy(10, 300,'? ');
Moveto(20, 300);
X := getX;
Y := getY;
repeat
choice := ReadKey;
2018-06-25 01:16:00 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
2018-06-25 01:16:00 +02:00
wait;
location7;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
2018-06-25 01:16:00 +02:00
wait;
location10;
end;
2018-08-24 02:20:01 +02:00
#115, #83 : begin
2018-06-25 01:16:00 +02:00
wait;
location9;
end;
2018-08-24 02:20:01 +02:00
#122, #90 : begin
2018-06-25 01:16:00 +02:00
wait;
location4;
end;
end;
2018-08-24 02:20:01 +02:00
until (choice = #120) or (choice = #88) or (choice = #111) or (choice = #79) or (choice = #115) or (choice = #83) or (choice = #122) or (choice = #90);
2018-06-25 01:16:00 +02:00
end;
procedure location9;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-25 01:16:00 +02:00
if (haveflower <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(yellow);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_YELLOW);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' .-''`''-. _.---. ');
outtextxy(10, 30,' .'' \ .'' ''. ');
outtextxy(10, 40,' / \ / \ ');
outtextxy(10, 50,' | __ Y __ | ');
outtextxy(10, 60,' | .''` ''-./ \.-'' `''. | ');
outtextxy(10, 70,' \ / '',,'' \ /-. ');
outtextxy(10, 80,' \ | .-''()''-. |/--.`\ ');
outtextxy(10, 90,' | /` /||\ `\ | \ \ ');
outtextxy(10, 100,' \ | | / ; ; ');
outtextxy(10, 110,' ''--`\ /`--'' | | ');
outtextxy(10, 120,' ''-.__.-'' ; ; ');
outtextxy(10, 130,' __ / / ');
outtextxy(10, 140,' .-''''''-` ''. .-. _ /`/` ');
outtextxy(10, 150,' (_ .--..._ `-'' \_| \ /`/` ');
outtextxy(10, 160,' ''.__. `---._ |/`/` ');
outtextxy(10, 170,' `) _.. ''-./`/` ');
outtextxy(10, 180,' (__.-'' _) /`/` ');
outtextxy(10, 190,' `--`/` ');
outtextxy(10, 200,' ` ');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 220,'You are in a humid, musty room.');
outtextxy(10, 230,'On the ground, you see a single yellow flower growing.');
2018-06-25 01:16:00 +02:00
end
else
begin
2018-08-24 02:20:01 +02:00
outtextxy(10, 150,'You are in a humid, musty room. You see a patch of dirt where flowers once grew.');
2018-06-25 01:16:00 +02:00
end;
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 240,' _______ ______________ ___ _______');
outtextxy(10, 250,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 260,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 270,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 280,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 290,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 300,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 310,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 320,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 330,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 340,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 350,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 360,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 370,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 380,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 390,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 400,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 410,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 420,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 430,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 450,'There is a door to the west.');
outtextxy(10, 460,'What do you do?');
outtextxy(10, 470,'X - Go west.');
2018-06-25 01:16:00 +02:00
if (haveflower <> 1) then
begin
2018-08-24 02:20:01 +02:00
outtextxy(10, 480,'O - Pick the flower');
outtextxy(10, 490,'? ');
Moveto(20, 490);
X := getX;
Y := getY;
end
else
begin
outtextxy(10, 480,'? ');
Moveto(20, 480);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
end;
2018-08-24 02:20:01 +02:00
repeat
choice := ReadKey;
2018-06-25 01:16:00 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
2018-06-25 01:16:00 +02:00
wait;
location8;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
repeat
if (haveflower <> 1) then
2018-06-25 01:16:00 +02:00
begin
2018-08-24 02:20:01 +02:00
setcolor(green);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
2018-08-24 02:20:01 +02:00
outtextxy(10, 500,'You pick the flower and place it in your chainmail.');
outtextxy(10, 510,'It smells subtle and sweet.');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
haveflower := 1;
2018-08-24 02:20:01 +02:00
Moveto(10, 520);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location9;
2018-08-24 02:20:01 +02:00
end
else
begin
choice := ReadKey;
if (choice = #120) or (choice = #88) then
begin
wait;
location8;
end;
end;
until (choice = #120) or (choice = #88);
end;
2018-06-25 01:16:00 +02:00
end;
2018-08-24 02:20:01 +02:00
until (choice = #120) or (choice = #88) or (choice = #111) or (choice = #79);
2018-06-25 01:16:00 +02:00
end;
procedure location10;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-25 01:16:00 +02:00
if (killedDragon <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(red);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' .%%, ');
outtextxy(10, 30,' X:-x\\'', ');
outtextxy(10, 40,' X:/%%;::\\:X ');
outtextxy(10, 50,' X:l%% ; :''\\:X ');
outtextxy(10, 60,' X:l%% : : ''\\:X ');
outtextxy(10, 70,' X:l%% : : ''\\:X ');
outtextxy(10, 80,' b, b, X:/l%% : : \\:X ');
outtextxy(10, 90,' JPQ, JPQ, X:l%% : : ''\\:X ');
outtextxy(10, 100,' .dP''d|._,=dPQq\\ X:l%%'' : : ''\\:X ');
outtextxy(10, 110,' xdP #P''_ _,: .X:l%% : : ''\\:X ');
outtextxy(10, 120,' .d/''p '' ''O \\ ''O:; X:l%%'' : : \\:X ');
outtextxy(10, 130,' ,pP'' q. \\: `# X:ld : : '':X ');
outtextxy(10, 140,' ,d'' ,pq .,-qx_, ''\\ `Q: l%% : : k:X ');
outtextxy(10, 150,' ./'' Jp . ` ` 3 %% : ; k:X ');
outtextxy(10, 160,' dP p p ` `q : : k:X ');
outtextxy(10, 170,' d/ ; J,/'';xpx''\\: ''*q ` `\\, : : l:X. ');
outtextxy(10, 180,' dP ;'' dP ''\\:_,`.q. /d b\\ : : k:X ');
outtextxy(10, 190,' .d'' ; dP .\\_j ''- u-'' : : k:X ');
outtextxy(10, 200,'X ./'' ;'' /'''' .'' : ; k:X ');
outtextxy(10, 210,'\\X .d'' ; ,'''' : X:l%% : : k:X ');
outtextxy(10, 220,':\\X d'' ; ./'' : X:/%% : ; k:X ');
outtextxy(10, 230,'::lX JP ; J : .X:/ %% : : k;X ');
outtextxy(10, 240,'k:lX #'' : j'' : .X:/ %% : : d:lX ');
outtextxy(10, 250,'k:lX |P ; | : .X:/ %% : ; k;lX ');
outtextxy(10, 260,'k:lX || ; |'' : X:/ %% ; : d:;X'' ');
outtextxy(10, 270,'k:lX d| ; :l :X:/ %%'' : : k:lX ');
outtextxy(10, 280,'k:iX #| ; || X:/ %% ; ; k:lX ');
outtextxy(10, 290,' k:\\X || ; || X:/ %% : : k:lX ');
outtextxy(10, 300,' k:\\pQJb ; \.PQ XX/ %% ; ; k:lX ');
outtextxy(10, 310,' kJP.Ql\\; XQ. J Q J : ; k:lX ');
outtextxy(10, 320,' 6Q : Q%% \\Q Q J ;'''''''''':.:;''''::. : k:lX ');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 340,'You are in a room, the heat is opressive. Your armour is warming up.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 350,'You see the dragon!');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 360,'Fear grips you.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 370,'What do you do?');
outtextxy(10, 380,'X - Run away.');
outtextxy(10, 390,'O - Fight the dragon.');
outtextxy(10, 400,'? ');
repeat
choice := ReadKey;
2018-06-25 01:16:00 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
setcolor(red);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
2018-08-24 02:20:01 +02:00
outtextxy(10, 410,'You run away wailing.');
outtextxy(10, 420,'You hear the princess call out, "Where are you going, knight!? Help me!"');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
Moveto(10, 430);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location8;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
2018-06-25 01:16:00 +02:00
if (havesword <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(red);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
2018-08-24 02:20:01 +02:00
outtextxy(10, 410,'You lunge at the dragon.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 420,'It snorts amused at the image of you desperately clawing at him with your measely iron sword.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 430,'The dragon arches down and swallows you.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 440,'You are dead.');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
Moveto(10, 450);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
2018-08-24 02:20:01 +02:00
dead;
2018-06-25 01:16:00 +02:00
end
else if (drankpotion <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(red);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
2018-08-24 02:20:01 +02:00
outtextxy(10, 410,'You lunge at the dragon swinging the golden sword.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 420,'But you just don''t have the strength to pierce his incredible scales.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 430,'It breathes a burst of fire and burns you to a crisp.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 440,'You are dead.');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
Moveto(10, 450);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
2018-08-24 02:20:01 +02:00
dead;
2018-06-25 01:16:00 +02:00
end
else
begin
2018-08-24 02:20:01 +02:00
setcolor(green);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
2018-08-24 02:20:01 +02:00
outtextxy(10, 410,'You lunge at the dragon swinging the golden sword with fervour.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 420,'You drive your sword deep into the dragon''s chest, plunging it into it''s dark heart.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 430,'The dragon roars in pain, clasping at it''s chest.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 440,'It snorts it''s final breath as life ebbs from it''s nostrils.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
killedDragon := 1;
2018-08-24 02:20:01 +02:00
Moveto(10, 450);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location10;
end;
end;
end;
2018-08-24 02:20:01 +02:00
until (choice = #120) or (choice = #88) or (choice = #111) or (choice = #79);
2018-06-25 01:16:00 +02:00
end
else
begin
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' _______ ______________ ___ _______');
outtextxy(10, 30,' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 40,' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 50,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 60,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 70,' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 80,' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 90,' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 100,' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 110,' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 120,' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 130,' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 140,' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 150,' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|');
outtextxy(10, 160,' |____|__|////////// \\|_|_|\\\\\\\\|__|____|');
outtextxy(10, 170,' |_|_____|///////// |\\\\\\\\|_____|_|');
outtextxy(10, 180,' |____|__|//////// |\\\\\\\\|__|____|');
outtextxy(10, 190,' |_|_____|/////// |\\\\\\\\|_____|_|');
outtextxy(10, 200,' |____|__|////// |\\\\\\\\|__|____|');
outtextxy(10, 210,' |_|_____|///// \\\\\\\\|_____|_|');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 230,'You are in a room with the carcass of a dead dragon.');
outtextxy(10, 240,'There is a door to the south and north.');
outtextxy(10, 250,'What do you do?');
outtextxy(10, 260,'X - Go north.');
outtextxy(10, 270,'O - Go south.');
outtextxy(10, 280,'? ');
Moveto(20, 280);
X := getX;
Y := getY;
repeat
choice := ReadKey;
2018-06-25 01:16:00 +02:00
case (choice) of
2018-08-24 02:20:01 +02:00
#120, #88 : begin
2018-06-25 01:16:00 +02:00
wait;
location11;
end;
2018-08-24 02:20:01 +02:00
#111, #79 : begin
2018-06-25 01:16:00 +02:00
wait;
location8;
end;
end;
2018-08-24 02:20:01 +02:00
until (choice = #120) or (choice = #88) or (choice = #111) or (choice = #79);
2018-06-25 01:16:00 +02:00
end;
end;
procedure location11;
begin
2018-08-24 02:20:01 +02:00
cleardevice;
2018-06-25 01:16:00 +02:00
if (haveflower <> 1) then
begin
2018-08-24 02:20:01 +02:00
setcolor(yellow);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_YELLOW);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' %%%%%%%% ');
outtextxy(10, 30,' %%%%%%%%-( ');
outtextxy(10, 40,' _%%%%%%%%%%_/ ');
outtextxy(10, 50,' _%%%%%%%%%%%%%%%% ');
outtextxy(10, 60,' _%%%%%%%%%%%%%%/ \%% ');
outtextxy(10, 70,' %%%%%%%%%%%%%%%%%%\\ \_ ');
outtextxy(10, 80,' %%%%%%%%%%%% \ \\ ');
outtextxy(10, 90,' ) /\_/ ');
outtextxy(10, 100,' /(___. \ ');
outtextxy(10, 110,' ''----'' ( ');
outtextxy(10, 120,' / ) ');
outtextxy(10, 130,' / ( ');
outtextxy(10, 140,' / ) ');
outtextxy(10, 150,' ,'' ( ');
outtextxy(10, 160,' ,-'' ) ');
outtextxy(10, 170,' ''-._ ''-..___( ');
outtextxy(10, 180,' ``---....__) ');
outtextxy(10, 190,' )|)| ');
outtextxy(10, 200,' ''-''-.\ ');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 220,'You enter the room.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 230,'Before you is the most beautiful woman you have ever seen!');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
setcolor(yellow);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_YELLOW);
2018-08-24 02:20:01 +02:00
outtextxy(10, 240,'She looks upset.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
setcolor(red);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_RED);
2018-08-24 02:20:01 +02:00
outtextxy(10, 250,'"No flowers!? Not even a poem!?"');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 260,'Annoyed, she pushes you out of the room and huffs at the barred window.');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
Moveto(10, 270);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
location10;
end
else
begin
2018-08-24 02:20:01 +02:00
setcolor(cyan);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_CYAN);
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 20,' ,-''. ');
outtextxy(10, 30,' ,@@o. ) ');
outtextxy(10, 40,' (_ ) ');
outtextxy(10, 50,' s S. '' ');
outtextxy(10, 60,' )= ''? / ');
outtextxy(10, 70,' \ (` ');
outtextxy(10, 80,' `-; \ ');
outtextxy(10, 90,' /,-. ) ');
outtextxy(10, 100,' ,-''''-.`-''| ');
outtextxy(10, 110,' ( /\ /{_\ ! ');
outtextxy(10, 120,' ,/\ /\ / {_\ ; ');
outtextxy(10, 130,' /\ /\ /\ {V ');
outtextxy(10, 140,' ,/\ /\ // ) (_ ');
outtextxy(10, 150,' ,\ /\ /\ //,- `-. ');
outtextxy(10, 160,' /\ /\ /\ /-'' \ _ `-. ');
outtextxy(10, 170,' __,--\ /\ /\ /( ''. `-. `. ');
outtextxy(10, 180,' ///`-\ /\ / \ `. `-.__ `. ');
outtextxy(10, 190,' ,\ / `. `. `----''''\ ');
outtextxy(10, 200,' / `. `-. \ ');
outtextxy(10, 210,' / `-. `-. \ ');
outtextxy(10, 220,' / `-. `----''--'''' \ ');
outtextxy(10, 230,' / `-.____.__.-''-'' ');
outtextxy(10, 240,' / \ ');
outtextxy(10, 250,' / \ ');
outtextxy(10, 260,' / \ ');
outtextxy(10, 270,' `--___-_ __-__--'' ');
outtextxy(10, 280,' `-___-_ ___-'' ');
outtextxy(10, 290,' `---___-_____--'' ');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 310,'You enter the room.');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 320,'Before you is the most beautiful woman you have ever seen!');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
setcolor(green);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_GREEN);
2018-08-24 02:20:01 +02:00
outtextxy(10, 330,'She runs toward you with her arms open!');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 340,'"My hero!!!"');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 350,'"What a beautfil flower! I love flowers!"');
2018-06-25 01:16:00 +02:00
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 360,'"Get me out of here! I want to go home!"');
setcolor(white);
2018-06-25 01:16:00 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
Moveto(10, 370);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
savedprincess1;
end;
2018-06-21 22:33:33 +02:00
end;
begin
2018-08-24 02:20:01 +02:00
gD := Detect;
Initgraph(gD, gM, '');
2018-06-21 22:33:33 +02:00
drankpotion := 0;
havesword := 0;
2018-06-25 01:16:00 +02:00
killedslug := 0;
haveflower := 0;
killedDragon := 0;
//savedprincess := 0;
2018-06-21 22:33:33 +02:00
writeln();
2018-06-21 00:06:34 +02:00
writeln();
writeln();
2018-08-24 02:20:01 +02:00
setcolor(yellow);
outtextxy(10,10,' , \ / , ');
outtextxy(10,20,' / \ )\__/( / \ ');
outtextxy(10,30,' / \ (_\ /_) / \ ');
outtextxy(10,40,' __________________/_____\_ \@ @/___/_____\__________________ ');
outtextxy(10,50,' | |\../| | ');
outtextxy(10,60,' | \VV/ | ');
outtextxy(10,70,' | __ __| | | ');
outtextxy(10,80,' | | _ \ \ \ / __| | ');
outtextxy(10,90,' | | __/ ` < | | ');
outtextxy(10,100,' | ________ _| \___| _/\_\ \__| __ | ');
outtextxy(10,110,' | \_____ \ __ __ ____ _______/ |_ | ');
outtextxy(10,120,' | / / \ \| | \_/ __ \ / ___/\ __\ | ');
outtextxy(10,130,' | / \_/. \ | /\ ___/ \___ \ | | | ');
outtextxy(10,140,' | \_____\ \_/____/ \___ >____ > |__| | ');
outtextxy(10,150,' | \__> \/ \/ | ');
outtextxy(10,160,' |_____________________________________________________________| ');
outtextxy(10,170,' | /\ / \\ \ /\ | ');
outtextxy(10,180,' | / V )) V \ | ');
outtextxy(10,190,' |/ ` // '' \| ');
outtextxy(10,200,' '' V '' ');
setcolor(8); // 8 is grey but the fucking pascal compiler is stupid and wont accept "grey"
2018-06-21 00:06:34 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
2018-08-24 02:20:01 +02:00
outtextxy(10,210,' A simple choose your own adventure text game ');
outtextxy(10,220,' by josh_axey ported to windows by IllusionMan1212 ');
2018-06-21 00:06:34 +02:00
writeln(' ');
writeln(' ');
2018-08-24 02:20:01 +02:00
setcolor(white);
2018-06-21 00:06:34 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
outtextxy(10,230,' PRESS [START] TO BEGIN YOUR JOURNEY ');
choice := ReadKey;
if (choice = #13) then
begin
//readkey();
cleardevice;
2018-06-21 00:06:34 +02:00
writeln();
writeln();
writeln();
2018-08-24 02:20:01 +02:00
outtextxy(10, 10,'A herald has come to deliver news from the King to all of his knights.');
2018-06-21 00:06:34 +02:00
writeln();
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 30,'The princess and future queen, April, has been kidnapped by a dragon.');
2018-06-21 00:06:34 +02:00
writeln();
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 50,'The dragon has stolen her away to his cave in the ruins of an old fortress.');
2018-06-21 00:06:34 +02:00
writeln();
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 70,'You have heard tales of her beauty and wit, and hope not only to save her but to ask her hand in marriage.');
2018-06-21 00:06:34 +02:00
writeln();
Delay(5000);
2018-08-24 02:20:01 +02:00
outtextxy(10, 90,'You bravely accept the King''s quest and head off into the dark forest, towards the dragon''s lair.');
2018-06-21 00:06:34 +02:00
writeln();
Delay(5000);
writeln();
writeln();
2018-08-24 02:20:01 +02:00
setcolor(8);
2018-06-21 00:06:34 +02:00
//psvDebugScreenSetFgColor(COLOR_GREY);
2018-08-24 02:20:01 +02:00
outtextxy(10, 100,' .');
outtextxy(10, 110,' . ; ');
outtextxy(10, 120,' . . ;%% ;; ');
outtextxy(10, 130,' , , :;%% %%; ');
outtextxy(10, 140,' : ; :;%%;'' ., ');
outtextxy(10, 150,' ,. %%; %%; ; %%;'' ,;');
outtextxy(10, 160,' ; ;%%; %%%%; , %%; ;%%; ,%%''');
outtextxy(10, 170,' %%; %%;%%; , ; %%; ;%%; ,%%;'' ');
outtextxy(10, 180,' ;%%; %%; ;%%; %% ;%%; ,%%;''');
outtextxy(10, 190,' `%%;. ;%%; %%;'' `;%%%%;.%%;''');
outtextxy(10, 200,' `:;%%. ;%%%%. %%@; %%; ;@%%;%%''');
outtextxy(10, 210,' `:%%;. :;bd%%; %%;@%%;''');
outtextxy(10, 220,' `@%%:. :;%%. ;@@%%;'' ');
outtextxy(10, 230,' `@%%. `;@%%. ;@@%%; ');
outtextxy(10, 240,' `@%%%%. `@%%%% ;@@%%; ');
outtextxy(10, 250,' ;@%%. :@%%%% %%@@%%; ');
outtextxy(10, 260,' %%@bd%%%%%%bd%%%%:; ');
outtextxy(10, 270,' #@%%%%%%%%%%:;;');
outtextxy(10, 280,' %%@@%%%%%%::;');
outtextxy(10, 290,' %%@@@%%(o); . ''');
outtextxy(10, 300,' %%@@@o%%;:(.,'' ');
outtextxy(10, 310,' `.. %%@@@o%%::; ');
outtextxy(10, 320,' `)@@@o%%::; ');
outtextxy(10, 330,' %%@@(o)::; ');
outtextxy(10, 340,' .%%@@@@%%::; ');
outtextxy(10, 350,' ;%%@@@@%%::;. ');
outtextxy(10, 360,' ;%%@@@@%%%%:;;;. ');
outtextxy(10, 370,' ...;%%@@@@@%%%%:;;;;,.. ');
setcolor(white);
2018-06-21 00:06:34 +02:00
//psvDebugScreenSetFgColor(COLOR_WHITE);
2018-08-24 02:20:01 +02:00
Moveto(10, 380);
X := getX;
Y := getY;
2018-06-25 01:16:00 +02:00
wait;
2018-06-21 22:33:33 +02:00
location1;
2018-08-24 02:20:01 +02:00
end;
2018-06-21 00:06:34 +02:00
end.