Program TextQuest; uses crt; var choice : char; drankpotion, havesword : integer; procedure location2 forward; procedure location4 forward; procedure location3 forward; procedure location5 forward; procedure location6 forward; procedure location7 forward; procedure savedprincess; begin clrscr; textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(); writeln(); writeln(); writeln(' ///........./|\\.........\\\\\\ '); writeln(' //// : ||| : \\\\\\\\ '); writeln(' \\\\'''''''''''':''''''''|||'''''''':''''''''''''// '); writeln(' \\\\`. . ||| . .''// '); writeln(' \\\\\\`. . ||| . .''/// '); writeln(' \\\\\\\\`. . ||| . .''//// '); writeln(' \\\\\\\\\\`. .|||. .''///// '); writeln(' ''\\\\\\\\\\`.|||.''/////'' '); writeln(' ''\\\\\\\\\\\\|||//////'' '); writeln(' ''\\\\\\\\\\|/////'' '); textcolor(yellow); //psvDebugScreenSetFgColor(COLOR_YELLOW); writeln(' .:::::::::::::::::::::. '); writeln(' .::::::::''''''''''''''''''::::::::. '); writeln(' .::::::'''' ''''::::::. '); writeln(' ::::::'''' '''':::::: '); writeln(' ::::::'' '':::::: '); writeln(' ::::::'' '':::::: '); writeln(' ::::::'' '':::::: '); writeln(' :::::: :::::: '); writeln(' :::::: :::::: '); writeln(' :::::: :::::: '); writeln(' ::::::. .:::::: '); writeln(' ::::::. .:::::: '); writeln(' ::::::. .:::::: '); writeln(' ::::::.. ..:::::: '); writeln(' ''::::::.. ..::::::'' '); writeln(' ''::::::::........::::::::'' '); writeln(' ''::::::::::::::::::::'' '); writeln(' ''''::::::::::::'''' '); textcolor(green); //psvDebugScreenSetFgColor(COLOR_GREEN); writeln('You have saved princess April.'); Delay(5000); writeln('You marry her and live happily ever after.'); Delay(5000); writeln('...'); Delay(5000); writeln('THE END.'); Delay(5000); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); end; procedure coward; begin clrscr; textcolor(8); //psvDebugScreenSetFgColor(COLOR_GREY); writeln(' ._--+. '); writeln(' -'''' ''. '); writeln(' +:'' ''. '); writeln(' | ''. _.-''| '); writeln(' | + .-'' J '); writeln(' _.+ .....''.''| ''.-'' | '); writeln(' _.-'''' ''. ..'' | + J''''.. '); writeln(' +:'' ''.'' ;-+. | _+.| : '); writeln(' | \\ _.-+ _.'' _.F F +:'' ''. ''.... '); writeln(' L \\ _.-'''' | _.-'' _.'' J J J ''. + : '); writeln(' | ''+'' |_.-'' _.-'' | | | + ''. ''._''''. '); writeln(' .'' L L J _.-'' | | | ''. ''. _.-'' ''. '); writeln(' : | | J-'' F F F ''. _.-'' ''. '); writeln(' : L L _+ L J J J ''|. ''; '); writeln(' : J | +-'' \\ L _.+.|.+. F ''. _.-'' F '); writeln(' : | L L\\ \\| _.-'' '' ''. J ''. .-'' | '); writeln(' : .L | | \\ '', _.-'' ''. | ''..-'' J''. '); writeln(' : : | L L ''. \\ _.-+. ''. :+-. | F ''. '); writeln(' : : L | | \\ ;.-'''' ''. :-'' '':+ J | : '); writeln(' : : | L L +:'''' ''. _.-'' .-'' | | J: : '); writeln(' : : L | | J \\ ''.-'' _.-'' J J F : : '); writeln(' : : \\ L L L \\ _.-+ _.-'' | | | : : '); writeln(' : : \\| | | ''. _.-'' |-'' J J J : : '); writeln(' : ''. +''\\ J \\ _.-'' F ,-T''\\ | | .-'' : : '); writeln(' : ''. \\ L +'' J / | J J J .-'' .'' : '); writeln(' : : \\ | | | F ''.|.-''+|-'' .'' : '); writeln(' : : \\ J | F J ''... .'' : '); writeln(' : : \\ L | J | \\ ''.''''.''''''''.'' : '); writeln(' : : \\| | | .-''\\ \\ : '); writeln(' : ''. J | F-'' .''\\ \\ .'' '); writeln(' : : L | J : \\ \\ .'' '); writeln(' : : | | .+ ...'' \\ \\ .''''.'' '); writeln(' : : J | .-'' .'' \\ \\''.''''''.''.'' '); writeln(' : : \\ | .-'' .'' .\\ _-'' '); writeln(' '''''''''''''''''''''''''''''''''''''''''''''''' '''''''''' '); //psvDebugScreenSetFgColor(COLOR_RED); textcolor(RED); writeln(); writeln('You run away from your quest like a coward.'); Delay(5000); writeln('As you run away, you hear the sound of the princess being eaten by the dragon.'); Delay(5000); writeln('When you arrive back at the town, the King arrests you for your cowardice.'); Delay(5000); writeln('The rest of your days are spent rotting in the dungeons.'); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); readln(); halt; end; procedure location1; begin clrscr; writeln(); writeln(); writeln(); textcolor(8); //psvDebugScreenSetFgColor(COLOR_GREY); writeln(' / \\ /''\\ _ '); writeln(' \\_.. /''.,/ \\_ .,'' \\ / \\_ '); writeln(' \\ / \\ _/ \\_ / \\ _ '); writeln(' \\__,. / \\ / \\/., _| _/ \\ '); writeln(' \\_/ \\ /'',.,''''\\ \\_ \\_/ \\/ \\ '); writeln(' _ \\/ / '',../'',.\\ _/ \\ '); writeln(' / _/m\\ \\ / | \\ /.,/''\\ _\\ '); writeln(' _/ /MMmm\\ \\_ | \\/ \\_/ \\ '); writeln(' / \\ |MMMMmm| \\__ \\ \\_ \\ \\_ '); writeln(' \\ /MMMMMMm| \\ \\ \\ \\ \\ '); writeln(' \\ |MMMMMMmm\\ \\___ \\_ \\_ \\ '); writeln(' \\|MMMMMMMMmm|____.'' /\\_ \\ \\ \\_ '); writeln(' /''.,___________...,,'' \\ \\ \\ \\ '); writeln(' / \\ | \\ |__ \\ \\_ \\ '); writeln(' _/ | \\ \\_ \\ \\ \\ \\_ '); writeln(' / \\ \\ \\_ \\ \\ '); writeln(' \\ \\ \\ \\__ \\ '); writeln(' \\ \\_ \\ \\ \\ '); writeln(' | \\ \\ \\ \\ '); writeln(' \\ | \\ '); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(); writeln('You see the entrance to the dragon''s lair to the north.'); writeln('You hear the princess yelling, "Help me! Help me!"'); writeln('You hear the bellow of the dragon.'); writeln('What do you do?'); writeln('X - Enter the lair.'); writeln('O - Run away.'); writeln('? '); readln(choice); case (choice) of 'O' : coward; 'o' : coward; 'X' : location2; end; end; procedure location2; begin clrscr; writeln(); writeln(); writeln(); textcolor(8); //psvDebugScreenSetFgColor(COLOR_GREY); writeln(' _______ ______________ ___ _______'); writeln(' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|////////// \\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|///////// |\\\\\\\\|_____|_|'); writeln(' |____|__|//////// |\\\\\\\\|__|____|'); writeln(' |_|_____|/////// |\\\\\\\\|_____|_|'); writeln(' |____|__|////// |\\\\\\\\|__|____|'); writeln(' |_|_____|///// \\\\\\\\|_____|_|'); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(); writeln('You are inside the dragon''s burned fortress lair.'); writeln('The heat is opressive and the stench of brimstone burns your nostrils.'); writeln('You see a door leading west, a door leading east, and a door leading south.'); writeln('What do you do?'); writeln('X - Go east.'); writeln('O - Go west.'); writeln('^ - Go south.'); writeln('? '); readln(choice); case (choice) of 'X' : location4; 'O' : location3; '^' : location1; end; end; procedure location3; begin writeln(); writeln(); writeln(); writeln('It''s very dark in this room.'); Delay(5000); writeln('You cannot see a thing.'); Delay(5000); writeln('You feel your way around the room, finding nothing as a point of reference and nothing of interest.'); Delay(5000); writeln('Fumbling, you finnally find your way out of the room.'); readln(); location2; end; procedure location4; begin clrscr; writeln(); writeln(); writeln(); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(' \\_______/ '); writeln(' `.,-''\\_____/`-.,'' '); writeln(' /`..''\\ _ /`.,''\\ '); writeln(' / /`.,'' `.,''\\ \\ '); writeln(' /__/__/ \\__\\__\\ '); writeln(' \\ \\ \\ / / / '); writeln(' \\ \\,''`._,''`./ / '); writeln(' \\,''`./___\\,''`./ '); writeln(' ,''`-./_____\\,-''`. '); writeln(' / \\ '); //psvDebugScreenSetFgColor(COLOR_WHITE); //psvDebugScreenSetFgColor(COLOR_GREY); writeln(' _______ ______________ ___ _______'); writeln(' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|////////// \\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|///////// |\\\\\\\\|_____|_|'); writeln(' |____|__|//////// |\\\\\\\\|__|____|'); writeln(' |_|_____|/////// |\\\\\\\\|_____|_|'); writeln(' |____|__|////// |\\\\\\\\|__|____|'); writeln(' |_|_____|///// \\\\\\\\|_____|_|'); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(); writeln('You are standing in a room covered in spider webs.'); writeln('There are doors leading west, north, and east.'); writeln('What do you do?'); writeln('X - Go east.'); writeln('O - Go north.'); writeln('^ - Go west.'); writeln('? '); readln(choice); case (choice) of 'X' : location5; 'O' : location8; '^' : location2; end; end; procedure location5; begin if (drankpotion <> 1) then begin textcolor(green); //psvDebugScreenSetFgColor(COLOR_GREEN); writeln(); writeln(); writeln(); writeln(' _____ '); writeln(' `.___,'' '); writeln(' (___) '); writeln(' < > '); writeln(' ) ( '); writeln(' /`-.\\ '); writeln(' / \\ '); writeln(' / _ _\\ '); writeln(' :,'' `-.'' `: '); writeln(' | | '); writeln(' : ; '); writeln(' \\ / '); writeln(' `.___.'' '); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(); writeln('You are in a room with a table.'); writeln('On the table you can see a bottle that appears to be a potion.'); end else begin textcolor(8); //psvDebugScreenSetFgColor(COLOR_GREY); writeln(); writeln(); writeln(); writeln(); writeln(); writeln(' ___ '); writeln(' < > '); writeln(' ) ( '); writeln(' / \\ '); writeln(' / \\ '); writeln(' / \\ '); writeln(' : : '); writeln(' | | '); writeln(' : ; '); writeln(' \\ / '); writeln(' `.___.'' '); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(); writeln('You are in a room with an empty potion bottle.'); end; textcolor(8); //psvDebugScreenSetFgColor(COLOR_GREY); writeln(); writeln(); writeln(); writeln(' _______ ______________ ___ _______'); writeln(' |_|_____|/////////////|+-+-+-+-+-+-+-|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-+______+-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+| | ++|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-I |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+| |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|-+-| |-+-|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////////|+-+I |+-+|\\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|/////////////|===--------===|\\\\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|///////////// \\\\\\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|//////////// \\\\\\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|/////////// \\\\|___|\\\\\\\\|_____|_|'); writeln(' |____|__|////////// \\|_|_|\\\\\\\\|__|____|'); writeln(' |_|_____|///////// |\\\\\\\\|_____|_|'); writeln(' |____|__|//////// |\\\\\\\\|__|____|'); writeln(' |_|_____|/////// |\\\\\\\\|_____|_|'); writeln(' |____|__|////// |\\\\\\\\|__|____|'); writeln(' |_|_____|///// \\\\\\\\|_____|_|'); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(); writeln('There is a door to the west.'); writeln('What do you do?'); writeln('X - Go west.'); if (drankpotion <> 1) then begin writeln('O - Drink the potion.'); end; writeln('? '); readln(choice); case (choice) of 'X' : location4; 'O' : begin if (drankpotion <> 1) then begin writeln(); textcolor(red); //psvDebugScreenSetFgColor(COLOR_RED); writeln('Yuck! It does not taste good. You wonder what will happen...'); Delay(5000); textcolor(green); //psvDebugScreenSetFgColor(COLOR_GREEN); writeln('Suddenly you feel much stronger!'); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); drankPotion := 1; end; readln(); location6; end; end; end; procedure location6; begin clrscr; if (havesword <> 1) then begin //psvDebugScreenSetFgColor(COLOR_YELLOW); writeln(); writeln(); writeln(); writeln(' (O) '); writeln(' ================================------------> '); writeln(' \\| ^^^^^^ \\:W/------------------------------------------------'''''''''''''''); writeln(' o 1) then begin writeln('O - Take the sword.'); end; writeln('? '); readln(choice); case (choice) of 'X' : location7; 'O' : begin if (havesword <> 1) then begin textcolor(green); //psvDebugScreenSetFgColor(COLOR_GREEN); writeln('You pick up the sword and buff it with the cloth, placing the cloth back onto the table.'); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); haveSword := 1; end; readln(); location7; end; end; end; procedure location7; begin //TODO end; begin drankpotion := 0; havesword := 0; writeln(); writeln(); writeln(); textcolor(yellow); writeln(' , \\ / , '); writeln(' / \\ )\\__/( / \\ '); writeln(' / \\ (_\\ /_) / \\ '); writeln(' __________________/_____\\_\\@ @/___/_____\\_________________ '); writeln(' | |\\../| | '); writeln(' | \\VV/ | '); writeln(' | __ __| | | '); writeln(' | | _ \\ \\ \\ / __| | '); writeln(' | | __/ ` < | | '); writeln(' | ________ _| \\___| _/\\_\\ \\__| __ | '); writeln(' | \\_____ \\ __ __ ____ _______/ |_ | '); writeln(' | / / \\ \\| | \\_/ __ \\ / ___/\\ __\\ | '); writeln(' | / \\_/. \\ | /\\ ___/ \\___ \\ | | | '); writeln(' | \\_____\\ \\_/____/ \\___ >____ > |__| | '); writeln(' | \\__> \\/ \\/ | '); writeln(' |_____________________________________________________________| '); writeln(' | /\\ / \\\\ \\ /\\ | '); writeln(' | / V )) V \\ | '); writeln(' |/ ` // '' \\| '); writeln(' '' V '' '); textcolor(8); // 8 is grey but the fucking pascal compiler is stupid and wont accept "grey" //psvDebugScreenSetFgColor(COLOR_GREY); writeln(' A simple choose your own adventure text game '); writeln(' by josh_axey '); writeln(' '); writeln(' '); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); writeln(' PRESS [START] TO BEGIN YOUR JOURNEY '); readln(); clrscr; writeln(); writeln(); writeln(); writeln('A herald has come to deliver news from the King to all of his knights.'); writeln(); Delay(5000); writeln('The princess and future queen, April, has been kidnapped by a dragon.'); writeln(); Delay(5000); writeln('The dragon has stolen her away to his cave in the ruins of an old fortress.'); writeln(); Delay(5000); writeln('You have heard tales of her beauty and wit, and hope not only to save her but to ask her hand in marriage.'); writeln(); Delay(5000); writeln('You bravely accept the King''s quest and head off into the dark forest, towards the dragon''s lair.'); writeln(); Delay(5000); writeln(); writeln(); textcolor(8); //psvDebugScreenSetFgColor(COLOR_GREY); writeln(' .'); writeln(' . ; '); writeln(' . . ;%% ;; '); writeln(' , , :;%% %%; '); writeln(' : ; :;%%;'' ., '); writeln(' ,. %%; %%; ; %%;'' ,;'); writeln(' ; ;%%; %%%%; , %%; ;%%; ,%%'''); writeln(' %%; %%;%%; , ; %%; ;%%; ,%%;'' '); writeln(' ;%%; %%; ;%%; %% ;%%; ,%%;'''); writeln(' `%%;. ;%%; %%;'' `;%%%%;.%%;'''); writeln(' `:;%%. ;%%%%. %%@; %%; ;@%%;%%'''); writeln(' `:%%;. :;bd%%; %%;@%%;'''); writeln(' `@%%:. :;%%. ;@@%%;'' '); writeln(' `@%%. `;@%%. ;@@%%; '); writeln(' `@%%%%. `@%%%% ;@@%%; '); writeln(' ;@%%. :@%%%% %%@@%%; '); writeln(' %%@bd%%%%%%bd%%%%:; '); writeln(' #@%%%%%%%%%%:;;'); writeln(' %%@@%%%%%%::;'); writeln(' %%@@@%%(o); . '''); writeln(' %%@@@o%%;:(.,'' '); writeln(' `.. %%@@@o%%::; '); writeln(' `)@@@o%%::; '); writeln(' %%@@(o)::; '); writeln(' .%%@@@@%%::; '); writeln(' ;%%@@@@%%::;. '); writeln(' ;%%@@@@%%%%:;;;. '); writeln(' ...;%%@@@@@%%%%:;;;;,.. '); textcolor(white); //psvDebugScreenSetFgColor(COLOR_WHITE); write('.'); Delay(3000); write('.'); Delay(3000); write('.'); Delay(3000); location1; end.