' ' ' G O I N G H O M E ' ' ' ' A QBASIC TEXT ADVENTURE BY PUCKDROPPER ' ' Press [Shift]+[F5] to begin a new game! ' ' ' ' ' ' ' ' ' ' ' DECLARE SUB PortalLoop () DECLARE SUB WelcomeScreen () DECLARE SUB Begin () DECLARE SUB StepIn () DECLARE SUB GotSurge () DECLARE SUB GotCoke () DECLARE SUB Game () DECLARE SUB Pocket () DECLARE SUB WaitNukem () DECLARE SUB LeaveOffice () DECLARE SUB NukemComes () DECLARE SUB StraightAhead () DECLARE SUB NukemOffice () DECLARE SUB CallOnLord () DECLARE SUB GameWin () DECLARE SUB WaitEyes () DECLARE SUB Order () DECLARE SUB Warn () DECLARE SUB GodHelps () DECLARE SUB Wait4Serpent () DECLARE SUB Deny () DECLARE SUB EatCookies () DECLARE SUB RunAway () DECLARE SUB ThrowCoin () DECLARE SUB AskCookie () DECLARE SUB Yell () DECLARE SUB Listen () DECLARE SUB Climb () DECLARE SUB GameOver () DECLARE SUB InCave () DECLARE SUB AroundCave () DECLARE SUB AskMan () DECLARE SUB KillMan () DECLARE SUB Go.East () DECLARE SUB Go.South () DECLARE SUB Go.North () DECLARE SUB Go.West () DECLARE SUB KeepWalking () DECLARE SUB FollowDog () DECLARE SUB DoNothing () DECLARE SUB BuildRaft () DECLARE SUB Swim () DECLARE SUB Fish () DECLARE SUB EatRaw () DECLARE SUB CookIt () DECLARE SUB CookIt2 () DECLARE SUB JumpInFire () DECLARE SUB PocketAx () DECLARE SUB Attach2Yourself () DECLARE SUB Wontwork () DECLARE SUB TooDifficult () DECLARE SUB GoNorth () DECLARE SUB GoSouth () DECLARE SUB AskDirections () DECLARE SUB LeavePO () DECLARE SUB FollowDirections () DECLARE SUB IgnoreDirections () DECLARE SUB Menu () DECLARE SUB SpecialInfo () DECLARE SUB Instructions () DECLARE SUB AboutGame () DIM SHARED C(5) DIM SHARED Tool(4) COMMON SHARED Nukem CLS WelcomeScreen Menu SUB AboutGame COLOR 7, 0 CLS PRINT "+---------------------------------------------------------------------------+" PRINT "| G O I N G H O M E |" PRINT "+---------------------------------------------------------------------------+" PRINT "+ +" PRINT "+ Going Home is a text-based adventure created by Puckdropper. All coding +" PRINT "+ has been done by him, with a few parts of this game inspired by Wry, +" PRINT "+ a text-based comedy by Nukem Enterprises. +" PRINT "+ +" PRINT "+ Nukem: I rewrote the menu in Wry almost from scratch. There are only a +" PRINT "+ a few lines that are original. It's 53 lines compared to your 100+. +" PRINT "+ +" PRINT "+ This game is copyright (c) 2003 by Matt Brault any direct rip-offs of +" PRINT "+ forbidden and the original source is protected by law. I do not mind if +" PRINT "+ you look at the source to (a) find out how I did something or (b) use the +" PRINT "+ source in your own program. You MUST give me credit. +" PRINT "+ +" PRINT "+ Contact the author at: +" PRINT "+ Email: puckdropper@fastmail.fm (This is NOT permission to send spam.) +" PRINT "+ Website: http://www.mtco.com/~brault1/ +" PRINT "+ +" PRINT "+ Press a key to return to menu +" PRINT "+---------------------------------------------------------------------------+" SLEEP END SUB SUB AroundCave AroundCaveInfo: CLS PRINT "You walk around the cave. As you're walking, you stumble over something." PRINT "You pick it up to examine it. It's a solid branch that could easily be used" PRINT "as a walking stick." PRINT PRINT "What do you do?" PRINT "1. Pick it up" PRINT "2. Leave it alone" INPUT A IF A = 0 THEN GOTO AroundCaveInfo IF A = 1 THEN Tool(3) = 1 IF A = 2 THEN PRINT "You leave it alone." IF A > 2 THEN GOTO AroundCaveInfo END SUB SUB AskCookie AskCookieTop: CLS PRINT "You ask for a cookie. The man gives you a cookie, and you decide to help" PRINT "them." PRINT PRINT "How do you help?" PRINT "1. Eat all their cookies" PRINT "2. DIE!" PRINT "3. Wait until The Serpent comes, and appeal to his moral side." INPUT A IF A = 1 THEN EatCookies IF A = 2 THEN GameOver IF A = 3 THEN Wait4Serpent IF A > 3 THEN SOUND 400, 9.1 GOTO AskCookieTop END IF END SUB SUB AskDirections CLS PRINT "You ask for directions to the town in which you live. After getting them," PRINT "what do you do?" PRINT PRINT " 1 . Follow them" PRINT " 2 . Ignore them" INPUT A IF A = 1 THEN FollowDirections IF A = 2 THEN IgnoreDirections END SUB SUB AskMan CLS PRINT "You decide to ask the man for advice. He tells you not to go into the" PRINT "for it means certain death." PRINT PRINT "What would you like to do?" PRINT "1. Go in the cave" PRINT "2. Go around the cave" PRINT "3. Kill the man" INPUT A IF A > 3 THEN INPUT A IF A = 0 THEN INPUT A IF A = 1 THEN InCave IF A = 2 THEN AroundCave IF A = 3 THEN KillMan END SUB SUB Attach2Yourself CLS PRINT "You try to attach the tag to yourself. It doesn't work. You get frustrated" PRINT "and quit. You decide to walk around a bit, and find another Surge machine." PRINT "You use the magic coin, and get Surge." PRINT "As you drink it, you realize that the Ohio River is SOUTH of where you live!" PRINT "What do you do?" PRINT PRINT " 1. Go North" PRINT " 2. Go further South" INPUT A IF A = 1 THEN GoNorth IF A = 2 THEN GoSouth END SUB SUB Begin 'Introduction COLOR 7, 0 CLS PRINT " You are trapped in an alternate dimension, far away from your home." PRINT "You must make decisions to get you home. Each decision can lead to success," PRINT "imprisionment, slavery, or even death." PRINT "" PRINT " To get anywhere, this game requires you to input the number to the" PRINT "left of your desired selection, then press the [enter] key." PRINT INPUT "Press enter to continue...", A$ BeginTop: CLS PRINT "You wish to go home. What direction do you travel?" PRINT " 1 North" PRINT " 2 East" PRINT " 3 South" PRINT " 4 West -Not begun!-" OPT: Repeat = 0 INPUT O IF O = 1 THEN Go.North IF O = 2 THEN Go.East IF O = 3 THEN Go.South IF O = 4 THEN Go.West ELSE PRINT "Error--Please select 1, 2, 3, or 4. " SLEEP 1 GOTO BeginTop END IF END SUB SUB BuildRaft COLOR 15, 4 CLS PRINT "You build a raft to float on the river. You float for a while, and decide " PRINT "to try to land where you see a group and a camp fire. Perhaps, you think" PRINT "they'll lead you home." PRINT "" PRINT "You find out that they're a religous group in Kentucky that doesn't believe" PRINT "in welcoming newcomers, and like to make them work as slaves. You're forced" PRINT "to work as a slave, and eventually die." GameOver END SUB SUB CallOnLord CLS PRINT "You call on the name of the Lord, and an army suddenly comes over the hill" PRINT "They defeat the Serpent, and then leave as quickly as they came." PRINT PRINT "You realize this isn't an alternate dimension, but just Nebraska. You find" PRINT "the Amtrak station, and take a train home." GameWin END SUB SUB Climb CLS IF Tool(3) = 1 THEN PRINT "You use the walking stick to help climb out of the hole. While " PRINT "working with the stick, you notice a silver-colored coin, and pick it" PRINT "up." PRINT Tool(2) = 1 PRINT "You look around, and notice a girl and her father. They look friendly," PRINT "so you ask about the trap. The trap, it seems, is to catch a tiger who has" PRINT "been robbing the farms in the area." PRINT INPUT "Press ENTER to continue.", A ELSE PRINT "You can't climb the walls of the pit, so you must either yell or listen." PRINT "Do You:" PRINT "1. Yell" PRINT "2. Listen" INPUT A IF A = 0 THEN INPUT A IF A > 2 THEN INPUT A IF A = 1 THEN Yell IF A = 2 THEN Listen END IF END SUB SUB CookIt CLS PRINT "You decide to cook the fish. In order to do that, you make a fire. What do you " PRINT "do with the fire?" PRINT PRINT " 1. Cook the fish" PRINT " 2. Jump in it" INPUT A IF A = 1 THEN CookIt2 IF A = 2 THEN JumpInFire END SUB SUB CookIt2 CLS PRINT "You cook your fish in the fire. Once you determine it's done, you eat it." PRINT "" PRINT "Since it was a good sized fish, you have some left overs. You see a stray" PRINT "dog, and decide to feed the left overs to it." PRINT PRINT "Press ENTER to continue." INPUT A END SUB SUB Deny COLOR 15, 4 CLS PRINT "You deny that you ever said that, which is true. However, it just makes" PRINT "The Serpent angry." PRINT PRINT "He wraps his ugly body around you, and you suffocate." GameOver END SUB SUB DoNothing COLOR 15, 4 CLS PRINT "You decide it couldn't be his dog, and give up your search to go home. If" PRINT "you haven't gotten there by now, you never will, right?" PRINT "" PRINT "Well, you stay where you are, it's a nice place. You fish and wander around" PRINT "for the rest of your life. You die at the ripe old age of 25. Nice knowing ya!" GameOver END SUB SUB EatCookies COLOR 15, 4 CLS PRINT "You eat all their cookies, and get fat. The serpent comes, and eats you." PRINT "He chokes on your fat, and dies. You've saved the villiage, but still" PRINT "are not home." PRINT GameOver END SUB SUB EatRaw COLOR 15, 4 CLS PRINT "You eat the fish raw. That's a bad idea, as you get food poisining and die." GameOver END SUB SUB Fish CLS PRINT "You decide to fish in the Ohio River. Luckily, you find the stuff you need" PRINT "to fish with. After fishing for a while, you catch a fish. What do you do with it?" PRINT " 1. Eat it raw" PRINT " 2. Cook it" INPUT A IF A = 1 THEN EatRaw IF A = 2 THEN CookIt END SUB SUB FollowDirections PRINT "You follow the directions, and though it takes you a week to travel only" PRINT "a short distance, (the directions were from the Postal Service, remember?)" PRINT "You eventually make it there, safe and sound." SLEEP 2 GameWin END SUB SUB FollowDog CLS PRINT "The dog really looks like his dog. You follow it and come to his house." PRINT "Once you know where you are, you return home. Congratulations, you're home." GameWin END SUB SUB Game 'I'd like to have an actual game here... And make it accessable through a 'special menu CLS PRINT "You decide to play a game. Since the coin you have is a magic coin," PRINT "you put it in the machine, and it comes back out, while still letting you" PRINT "play the game." PRINT PLAY "T120 O3 D A C E G A C E" LOCATE , 33 PRINT "HIGH SCORE!" PRINT "Press ENTER to continue." INPUT "", A Pocket END SUB SUB GameOver LOCATE 12, 33 PRINT "YOU DIED..." LOCATE 16, 33 PRINT "GAME OVER!!!" FOR X = 440 TO 320 STEP -10 SOUND X, 4.55 NEXT X SLEEP CLOSE STOP END SUB SUB GameWin PLAY "MB T120 L8 O3 E F G F E F G A B O4 C C+ D" PLAY "MB T120 L4 O3 A E C" LOCATE 12, 33 PRINT "Press a key for credits." DO FOR X = 0 TO 15 LOCATE 11, 33 COLOR X PRINT "YOU WIN!!!" FOR Delay = 1 TO 1000: NEXT Delay NEXT X LOOP UNTIL INKEY$ > "" CLS PRINT COLOR 6 PRINT " AND NOW THE CREDITS:" PRINT PRINT COLOR 3 PRINT " PROGRAMING:" COLOR 14 PRINT " Puckdropper" PRINT "" PRINT COLOR 3 PRINT " STORY:" COLOR 14 PRINT " Puckdropper" PRINT COLOR 3 PRINT PRINT " GRAPHICS:" COLOR 14 PRINT " Puckdropper" COLOR 3 PRINT PRINT " CREDITS SCREEN:" COLOR 14 PRINT " Erik Eriksen (From Wry)" PRINT PRINT INPUT "Press ENTER to continue", A STOP END SUB SUB Go.East COLOR 15, 4 CLS PRINT "You go east, fall into a hole and die." GameOver END SUB SUB Go.North CLS 10 PRINT "You head north. After walking a short distance, you come to a cave." PRINT "Outside the cave, there is a man outside. What would you like to do?" PRINT PRINT "1. Go in the cave" PRINT "2. Go around the cave" PRINT "3. Ask the man for advice" PRINT "4. Kill the man" INPUT A IF A = 1 THEN InCave IF A = 2 THEN AroundCave IF A = 3 THEN AskMan IF A = 4 THEN KillMan IF A > 4 THEN GOTO 10 'Only AroundCave should return. The others should terminate. 20 CLS 'Next Set of Options PRINT "You continue walking around the cave. On the other side of the cave," PRINT "you fall in to a pit." PRINT PRINT "What do you do?" PRINT "1. Yell for help" PRINT "2. Stay still and listen" PRINT "3. Climb out" INPUT A IF A = 1 THEN Yell IF A = 2 THEN Listen IF A = 3 THEN Climb IF A > 3 THEN GOTO 20 'Once again, only one should continue. Yell and climb terminate. 30 CLS PRINT "Since these seem like friendly people, you ask about the coin you found." PRINT "''According to legend,'' explains her father, ''There is one who will come" PRINT "with this coin. He will save the village from destruction by The Serpent.''" PRINT PRINT "`Who is The Serpent?' you ask." PRINT "''He is the root of evil. The embodiment of evil itself. A prophecy said" PRINT "that he will return on the six-hundred sixty sixth day from the time he" PRINT "left." PRINT PRINT "''On that day, he will destroy not only the village, but everything in and " PRINT "around it. The only way we can prevent this is to bow down to him, and " PRINT "follow his every immoral wish." PRINT "`What day is this?' you ask." PRINT "''It is the six-hundred sixty-first day.''" PRINT PRINT "What do you do?" PRINT "1. Run from the situation" PRINT "2. Throw the coin in to the sea." PRINT "3. Ask for a cookie" PRINT "4. Call your mom for help" INPUT A IF A = 1 THEN RunAway IF A = 2 THEN ThrowCoin IF A = 3 THEN AskCookie IF A = 4 THEN 40 CLS BEEP PRINT "Your mom isn't in this dimension! You're alone, dummy!" PRINT PRINT "Now, What do you do?" PRINT "1. Run from the situation" PRINT "2. Throw the coin in to the sea." PRINT "3. Ask for a cookie" INPUT A IF A = 1 THEN RunAway IF A = 2 THEN ThrowCoin IF A = 3 THEN AskCookie IF A > 4 THEN GOTO 40 IF A > 4 THEN GOTO 30 END IF END SUB SUB Go.South 11 CLS PRINT "You head south, towards a large sign reading ``Shamrice: You can wash your" PRINT "hair and eat it too!''" PRINT PRINT "You ask someone on the street what it is. He answers your question with a" PRINT "question of his own:" PRINT PRINT "Are you Nukem?" PRINT "1. Yes" PRINT "2. No" INPUT A IF A = 1 THEN Nukem = 1 IF A = 2 THEN Nukem = 0 IF A > 2 THEN GOTO 11 IF Nukem = 1 THEN CLS PRINT "The man tells you to ask that guy over there. He points at Retna. You see" PRINT "Retna, and walk up to him and punch him in the face. Retna pulls out two" PRINT "knifes he's selling, and cuts your hair." PRINT PRINT "Retna then says, ``There! Now you don't look like a hippy anymore!''" PRINT "You say ``thanks'' and go into your office at Shamrice, Inc." PRINT INPUT "Press ENTER to continue", A ELSE CLS PRINT "Since you're not Nukem, I'll tell you. Nukem is one of the proprietors of" PRINT "Shamrice, Inc. It's a product made of shampoo and rice. Quite good, actually." PRINT PRINT "I will take you to meet Nukem." END IF NukemOffice 'LeaveOffice comes here... 21 CLS PRINT "Bored, you walk into a video arcade. Retna hands you a knife, and a magic" PRINT "coin. What do you do with the magic coin?" Tool(2) = 1 Tool(4) = 1 RetnaGivesCoin: IF Retna > 0 THEN CLS PRINT "What do you do with the magic coin?" END IF PRINT "1. Play a game" PRINT "2. Put it in your pocket" PRINT "3. Give it back to Retna (who's disappeared)" INPUT A IF A = 1 THEN Game IF A = 2 THEN Pocket IF A = 3 THEN PRINT "Retna's disappeared! You can't give him a coin!" Retna = Retna + 1 IF Retna = 2 THEN BEEP PRINT "Press 1 or 2 next time!" END IF GOTO RetnaGivesCoin END IF IF A > 3 THEN 21 'You play a game then get thirsty. 'GotSurge and GotCoke come here. 31 CLS PRINT "After quenching your thirst, you decide to go home..." PRINT "Wait a minute... You're in an alternate dimension! Where is your home?" PRINT PRINT "You decide to walk south more. You walk for about a mile, and on the" PRINT "right appears a giant portal looking thing. Do you step in to it?" PRINT "1. Yes" PRINT "2. No" INPUT A IF A = 1 THEN StepIn IF A = 2 THEN KeepWalking IF A > 2 THEN 31 'Next! 'CookIt2 comes here PRINT "You notice the dog looks like a friends dog. What do you do?" PRINT " 1 . Follow the dog home (now there's a reverse!)" PRINT " 2 . Think it's a coincidence and do nothing." INPUT A IF A = 1 THEN FollowDog IF A = 2 THEN DoNothing END SUB SUB Go.West END SUB SUB GodHelps CLS PRINT "You then pray to the Lord, the one true God, and the Serpent suddenly " PRINT "shrinks. You crush him with your heel, and get transported back to your" PRINT "own dimension." PRINT PRINT "You then sell the story to Hollywood, and become rich. Being the generous" PRINT "person you are, you give the money to Nukem." GameWin END SUB SUB GoNorth CLS PRINT "You decide to go back north. Going south was wrong the whole time, but it" PRINT "was an adventure, eh? After traveling 250 miles, you come to your door," PRINT "let yourself in, and realize you're finally home. Truely where you belong." SLEEP 3 GameWin END SUB SUB GoSouth COLOR 15, 4 CLS PRINT "You go further South. It's the wrong way, but you don't care. You find a" PRINT "tall building and jump off in a single bound." GameOver END SUB SUB GotCoke CLS PRINT "You decide to get a can of Coca-cola. You open it up, and drink it. It's" PRINT "ok stuff, but you're still thirsty. You get another can of Coca-cola, and this" PRINT "time, swap it with Retna for a walking stick. It leads you to water, and your" PRINT "thirst is quenched." PRINT Tool(3) = 1 PRINT "Press Enter to continue" INPUT "", A END SUB SUB GotSurge CLS PRINT "You decide to get Surge. A wise decision, as it's simply the best Coca-cola" PRINT "product on the market! (Yes, it's still on the market!!!)" PRINT PRINT "You decide to call the number on the can (1-800-438-2653) and tell them how" PRINT "good it is. You also ask them to start producing it in cans and bottles" PRINT "again. The expiration date on your can is ``FEB1698EEE14440'' or February 16," PRINT "1998." PRINT PRINT "Press Enter to continue." INPUT "", A END SUB SUB IgnoreDirections COLOR 15, 4 CLS PRINT "You don't follow the directions, and just wander. You forget to eat, and" PRINT "die of starvation." GameOver END SUB SUB InCave COLOR 15, 4 CLS PRINT "You go in the cave. Bad Decision. This is a bear's cave. The bear is " PRINT "disturbed, and you get killed." GameOver END SUB SUB Instructions COLOR 7, 0 CLS PRINT "The idea of the game is simple. Make choices in order to get home. Some" PRINT "choices will be good, others bad. There are multiple paths to the ending," PRINT "and special screens for some people." PRINT PRINT "In order to play, select the ``play game'' option and play the game! All you" PRINT "need to do is type the number of the option in, and press the enter key." PRINT INPUT "Press ENTER to continue.", A END SUB SUB JumpInFire COLOR 15, 4 CLS PRINT "You jump in to the fire. That was really smart. You get third degree burns and" PRINT "can't move. The fire consumes you and you die." GameOver END SUB SUB KeepWalking CLS PRINT "You decide not to enter the portal. Since you were going south, you just" PRINT "continue. Eventually, you come to the Ohio River. What do you do?" PRINT PRINT " 1. Build Raft" PRINT " 2. Swim Across" PRINT " 3. Fish" INPUT A IF A = 1 THEN BuildRaft IF A = 2 THEN Swim IF A = 3 THEN Fish END SUB SUB KillMan COLOR 15, 4 CLS PRINT "In the process, you wind up killing yourself also. I have no" PRINT "sympathy for you, for you murdered a stranger." SLEEP 2 GameOver END SUB SUB LeaveOffice LeaveOfficeTop: CLS PRINT "You decide to leave the office. It's time to get on to some real fun!" PRINT "You trip over an ax. Do you pick it up?" PRINT "1. Yes" PRINT "2. No" INPUT A IF A = 1 THEN Tool(1) = 1 IF A = 2 THEN Tool(1) = 0 IF A > 2 THEN SOUND 400, 9.1 GOTO LeaveOfficeTop END IF PRINT PRINT IF Tool(1) = 1 THEN COLOR 15, 4 CLS PRINT "Well, that was smart. The ax belongs to JMB. He calls the police and you" PRINT "get arrested. Luckily, you convince him to drop the charges." PRINT PRINT "As you're leaving the cell, Kevin Bacon comes into the police station, and" PRINT "chokes you to death. You're dead, but satisfied with the knowledge he'll soon" PRINT "be dead too." GameOver END IF CLS PRINT "``Hey! That's my ax!'' you hear somebody shout. Good thing you didn't pick" PRINT "pick it up. He could have had you arrested." PRINT END SUB SUB LeavePO CLS PRINT "You decide to leave. Since you think you know where you are, what direction " PRINT "do you travel?" PRINT PRINT " 1. Straight ahead" PRINT " 2. Back inside to ask for directions" INPUT A IF A = 1 THEN StraightAhead IF A = 2 THEN AskDirections END SUB SUB Listen CLS PRINT "You stay still and listen. You hear a tiger howling in the distance. " PRINT "If you yelled, the tiger may have heard you and ate you." PRINT PRINT "After another few minutes, a girl's face peers over the side of the hole." PRINT "She says that she will go get help." PRINT PRINT "While you wait, you pick up a silver-colored coin." Tool(2) = 1 PRINT PRINT "The girl returns with her father and a rope. Since they look friendly," PRINT "you ask about the trap. The trap, it seems, is to catch that tiger you heard." PRINT "It has been stealing from the farms in the area." PRINT INPUT "Press enter to continue", A END SUB SUB Menu MenuTop: CLS COLOR 9 PRINT PRINT PRINT PRINT " G O I N G H O M E" LOCATE 19: COLOR 9 PRINT " GGGG GGGG H H EEEE" LOCATE 20: COLOR 9 PRINT " G G H H E" LOCATE 21: COLOR 9 PRINT " G GGG OOO I NNN G GGG HHHH OOO MM MM EEEE" LOCATE 22: COLOR 9 PRINT " G G O O I N N G G H H O O M M M E" LOCATE 23: COLOR 9 PRINT " GGGG OOO I N N GGGG H H OOO M M M EEEE" 'My version... 'Here we go! 'First, we'll set c(1)-c(4) to basic grey. FOR X = 1 TO 5 C(X) = 8 NEXT X 'Set option variable to 1 Optn = 1 'Then we'll draw the menu. LOCATE 7, 25: COLOR 15: PRINT "Play Game" LOCATE 9, 25: COLOR 8: PRINT "Instructions" LOCATE 11, 25: COLOR 8: PRINT "About the game" LOCATE 13, 25: COLOR 8: PRINT "Special information" LOCATE 15, 25: COLOR 8: PRINT "Quit" 'Wait for key press 1 A$ = INKEY$ IF RIGHT$(A$, 1) = "H" THEN Optn = Optn - 1 IF Optn < 1 THEN Optn = 5 GOSUB Move END IF IF RIGHT$(A$, 1) = "P" THEN Optn = Optn + 1 IF Optn > 5 THEN Optn = 1 GOSUB Move END IF IF A$ = CHR$(13) THEN GOSUB ExecuteOptn GOTO 1 'This should simplify code quite a bit: Move: 'Then, we'll draw the menu. FOR X = 1 TO 5 IF Optn = X THEN C(X) = 15 ELSE C(X) = 8 NEXT X LOCATE 7, 25: COLOR C(1): PRINT "Play Game" LOCATE 9, 25: COLOR C(2): PRINT "Instructions" LOCATE 11, 25: COLOR C(3): PRINT "About the game" LOCATE 13, 25: COLOR C(4): PRINT "Special information" LOCATE 15, 25: COLOR C(5): PRINT "Quit" RETURN ExecuteOptn: CLS IF Optn = 1 THEN Begin IF Optn = 2 THEN Instructions IF Optn = 3 THEN AboutGame IF Optn = 4 THEN SpecialInfo IF Optn = 5 THEN EXIT SUB GOTO MenuTop END SUB SUB NukemComes CLS PRINT "Nukem walks in and says ``Hi, I'm Nukem. I like short walks on the beach, " PRINT "making fun of Puckdropper, talking about music with sk8er and JMB, and" PRINT "typing the words `benny dies.'''" PRINT PRINT "It appears Nukem's having an off day, and isn't funny. You decide to leave" PRINT "the office." INPUT "Press ENTER to continue", A$ LeaveOffice END SUB SUB NukemOffice NukemOfficeTop: CLS IF Nukem = 0 THEN PRINT "The man takes you to meet Nukem in his office. Nukem isn't here. Do you" PRINT "Wait for him?" PRINT "1. Yes" PRINT "2. No" PRINT "3. Fall asleep on his man-eating couch" INPUT A IF A = 1 THEN WaitNukem IF A = 2 THEN LeaveOffice IF A = 3 THEN COLOR 15, 4 CLS PRINT "You fall asleep on Nukem's man-eating couch. As promised, it eats you." GameOver END IF IF A > 3 THEN SOUND 400, 9.1 GOTO NukemOfficeTop END IF END IF IF Nukem = 1 THEN PRINT "You walk into your office. A memo is on your desk telling about Joe's" PRINT "ShamSpam product. He wants you to market it for him." PRINT PRINT "If you market it for him, press 1. If not, press 2." INPUT A IF A = 1 THEN COLOR 15, 4 CLS PRINT "You decide to market it for him. You decide to taste it first, and choke" PRINT "on it and die." GameOver END IF CLS PRINT "You decide not to market it for him. Instead, you decide to sue him for" PRINT "copyright infringement." PRINT PRINT "Well, anyway, you get bored, and at 35 lines and counting, this sub is getting" PRINT "too big. You decide to leave the office." LeaveOffice END IF END SUB SUB Order CLS PRINT "You order the army not to bow. Now what?" PRINT "1. Bow down and pray to Baal." PRINT "2. Call upon the name of the Lord, the God of Abraham, Issac, and Jacob" PRINT "3. Push the coin-battery in to your sword." INPUT A IF A = 1 THEN COLOR 15, 4 CLS PRINT "You bow down and pray to Baal. He's incapable of helping you, and the" PRINT "Serpent takes the villagers and turns them into his slaves. He then directs" PRINT "them to offer you as a burnt sacrifice to him." GameOver END IF IF A = 2 THEN CallOnLord IF A = 3 THEN COLOR 15, 4 CLS PRINT "You push the coin-battery in to your sword. The sword lights up, and you" PRINT "swing it through the air. You're a horrible swordsman, and you lose control" PRINT "and it kills you." END IF END SUB SUB Pocket PocketTop: CLS PRINT "You put the coin in your pocket. Now, you feel thirsty. (If you really do," PRINT "take this opportunity to go get something to drink. I'll wait. -Narrarator)." PRINT PRINT "So anyway, you decide to go to a Surge machine on the side of the road, thanks" PRINT "to the folks at savesurge.org. You put the coin in, and it comes out. You" PRINT "try pushing the button anyway, and the soda-pop comes out. What did you get?" PRINT "1. Surge" PRINT "2. Coca-Cola" PRINT "3. Outhouse water" PRINT "4. Barq's Rootbeer" INPUT A IF A = 1 THEN GotSurge IF A = 2 THEN GotCoke IF A = 3 THEN COLOR 15, 4 CLS PRINT "Do you know what Outhouse Water is????" GameOver END IF IF A = 4 THEN PRINT "Oooh! It's warm! That's no good. You decide to try the Surge." INPUT "Press ENTER to try the Surge.", A GotSurge END IF IF A > 4 THEN SOUND 400, 9.1 GOTO PocketTop END IF END SUB SUB PocketAx CLS PRINT "Since you got a small ax, you decide to put it in your pocket. You first" PRINT "take your keys out of your pocket, so they're easily reached." PRINT "?" PRINT "You notice a little tag saying Drop in any mail box. Postage Guaranteed." PRINT "You start to think that this has your address... maybe you can go home!" PRINT "What do you do with it?" PRINT PRINT " 1. Attach it to yourself and get into a mail box" PRINT " 2. Don't attach it to yourself because you don't believe it'll work." PRINT " 3. Don't attach it to yourself because it'll be too difficult." INPUT A IF A = 1 THEN Attach2Yourself IF A = 2 THEN Wontwork IF A = 3 THEN TooDifficult END SUB SUB PortalLoop PortalLoopTop: CLS IF PortalLoopCounter = 6 THEN PRINT "Ahh! Stuck in an infinate loop!" PRINT PRINT "You step into the portal-looking thing." PRINT PRINT "It takes you to another one." PRINT "Do you step in?" PRINT "1. Yes" INPUT A IF A = 1 THEN PortalLoopCounter = PortalLoopCounter + 1 IF PortalLoopCounter = 6 THEN COLOR 15, 4 IF PortalLoopCounter = 7 THEN GameOver GOTO PortalLoopTop END IF IF A > 1 THEN PortalLoopCounter = PortalLoopCounter + 1 IF PortalLoopCounter = 6 THEN COLOR 15, 4 IF PortalLoopCounter = 7 THEN GameOver GOTO PortalLoopTop END IF END SUB SUB RunAway RunAwayTop: CLS PRINT "You start to run, but the girl stops you. She looks at you, and pleads for" PRINT "your help. You refuse, and start again to run. You feel something sharp" PRINT "hit you, and lose consciousness." PRINT PRINT "When you awake, you find yourself tied up, and facing The Serpent. " PRINT PRINT "He looks at you and says, ``So, you think you think you can defeat me.''" PRINT PRINT "How do you reply" PRINT "1. It is not I who will defeat you, but Him who guides my life!" PRINT "2. I never said that." PRINT "3. Eat me!" INPUT A IF A = 1 THEN GodHelps IF A = 2 THEN Deny IF A = 3 THEN COLOR 15, 4 CLS PRINT "You tell the serpent to eat you, and he does." GameOver END IF IF A > 3 THEN GOTO RunAwayTop END SUB SUB SpecialInfo COLOR 7, 0 CLS PRINT "+--------------------------------------------------------------------------+" PRINT "+ Special Information +" PRINT "+--------------------------------------------------------------------------+" PRINT "+ +" PRINT "+ As you may suspect, I am one of many people who loves Surge Cola. It is +" PRINT "+ only produced in the fountain syrup form now, and I would love to see it +" PRINT "+ available in cans. What you can do to help is visit www.savesurge.org +" PRINT "+ +" PRINT "+ There is a list of Surge Sightings that the members and webmasters try to+" PRINT "+ keep up to date. Please look for Surge in fountains and report any +" PRINT "+ sightings to the webmasters. +" PRINT "+ +" PRINT "+ Press a key to return to menu +" PRINT "+--------------------------------------------------------------------------+" SLEEP CLS END SUB SUB StepIn StepInTop: CLS PRINT "You step in to the portal, thinking you'll go home. Instead, you find" PRINT "yourself in the monopoly prision. Apparently, you rolled doubles 3 times," PRINT "and had to go to jail." PRINT PRINT "Great! What do I do now?" PRINT "1. Roll doubles to try to get out" PRINT "2. Pay $50" PRINT "3. Use your get out of jail free card?" INPUT "Hint...You have no get out of jail free card ", A IF A = 1 THEN IF Nukem = 1 THEN COLOR 15, 4 CLS PRINT "You unsuccessfully try to roll doubles. The other players just laugh at you" PRINT "because of your failure. You get mad, over turn the table, quit this game," PRINT "and decide to work on Wry 3: Stale." GameOver ELSE CLS PRINT "You roll doubles. The players give you an ax just for the fun of it." Tool(1) = 1 'Instant win... InstantWin = 0 FOR X = 1 TO 4 IF Tool(X) = 1 THEN InstantWin = InstantWin + 1 IF InstantWin = 4 THEN PRINT "You have collected all the tools! Special Instant Win (this screen only!)" GameWin END IF END IF NEXT X END IF PocketAx END IF IF A = 2 THEN PRINT "You don't have $50. You have to roll." PRINT SLEEP 1 PRINT "You rolled..." PRINT "A 1 and a 3..." SLEEP 1 PRINT "Suddenly, a second portal looking thing opens up." PRINT "Do you step in?" PRINT "1. Yes." INPUT A IF A = 1 THEN PortalLoop IF A > 1 THEN PRINT "2 doesn't mean no... You step in" PortalLoop GOTO StepInTop END IF END IF IF A = 3 THEN BEEP PRINT "You don't have a ``get out of jail free card'' dork!" GOTO StepInTop END IF IF A > 4 THEN GOTO StepInTop END SUB SUB StraightAhead COLOR 15, 4 CLS PRINT "You travel straight ahead. You walk into the 10-lane road in Nebraska (that" PRINT "no one needs... What's in Nebraska?) and get run over by the ONE car on the" PRINT "road. " SLEEP 2 GameOver END SUB SUB Swim CLS PRINT "You decide to swim in the Ohio River. A boat passing by picks you up, and" PRINT "you tell the captain about your journey. While doing that, you see your sister" PRINT "pass by. You catch up with her, and reunite with your family. You then go" PRINT "home." PRINT PRINT "Oh about that alternate dimension thing... it's not important. You're there," PRINT "but no one else is. You're still physically in this one..." SLEEP 2 GameWin END SUB SUB ThrowCoin COLOR 15, 4 CLS PRINT "You go to throw the coin into the sea. Since there's no sea here, you can't" PRINT "do that... but you throw the coin anyway." PRINT PRINT "As you release the coin, it takes all your strength, and you die." GameOver END SUB SUB TooDifficult CLS PRINT "You realize that it *will* be too hard to attach the tag to you, so you take" PRINT "it to a post office. On the front, you see where you are, and ask the " PRINT "person at the desk what the address on your key tag is." PRINT "?" PRINT "Now what, sherlock?" PRINT PRINT " 1. Ask for directions." PRINT " 2. Leave." INPUT A IF A = 1 THEN AskDirections IF A = 2 THEN LeavePO END SUB SUB Wait4Serpent Wait4SerpentTop: CLS PRINT "You wait for The Serpent, and while you wait, realize he has NO moral side!" PRINT "If you had appealed to his moral side, you would have surely died." PRINT PRINT "You decide to prepare the town to fight. At your request, they take up arms" PRINT "and become a fighting force. One man gives you a sword, and you notice" PRINT "an indention the size of your coin." PRINT PRINT "You place the coin in the sword, and it lights up. You remove the coin," PRINT "and the sword stops shining. Perhaps the coin isn't a coin but a battery." PRINT "Realizing this, you leave the coin-battery out of the sword and wait for The" PRINT "Serpent to attack." PRINT PRINT "The Serpent is comming, and shouts a warning. ``Bow down before me and serve" PRINT "me and you will be spared! All that don't will be killed!''" PRINT PRINT "Your choice?" PRINT "1. Give an order to wait until they see The Serpent's eyes." PRINT "2. Order the armed citizens to not bow." PRINT "3. Warn The Serpent of your magical powers, and when he gets close, put the" PRINT " battery-coin in your sword." INPUT A IF A = 1 THEN WaitEyes IF A = 2 THEN Order IF A = 3 THEN Warn IF A > 3 THEN GOTO Wait4SerpentTop END SUB SUB WaitEyes COLOR 15, 4 CLS PRINT "You order the army to wait until they can see The Serpent's eyes. By" PRINT "this time, the serpent is close enough to attack, and eats all of you." GameOver END SUB SUB WaitNukem WaitNukemTop: CLS PRINT "You decide to wait for Nukem. Is he your hero?" PRINT "1. Yes" PRINT "2. No" INPUT A IF A = 1 THEN PRINT "Are you lieing?" PRINT "1. Yes" PRINT "2. No" INPUT A IF A = 1 THEN COLOR 15, 4 CLS PRINT "You know what liers get? The game over screen!" SLEEP 3 GameOver END IF IF A = 2 THEN PRINT "You're strange!" SLEEP 3 NukemComes END IF IF A = 2 THEN PRINT "Since Nukem's not your hero, you decide to leave." LeaveOffice IF A > 2 THEN GOTO WaitNukemTop END IF END SUB SUB Warn COLOR 15, 4 CLS PRINT "You warn The Serpent of your magical power, and make the sword light up." PRINT "Unfortunately, The Serpent has real power, and destroys your puny sword." PRINT PRINT "Without a sword, you decide to ram the serpent. You run in to him, and he" PRINT "easily kills you." GameOver END SUB SUB WelcomeScreen PLAY "MB T140 l4 o2 B- o3 D F o2 B- o3 D F F D o2 B- o3 F D o2 B-" PLAY "MB T140 L8 O2 B- O3 D L4 F P4 L8 O2 B- O3 D F P4 P8 F D O2 B- P8 O3 B- F D O2 B-" CLS COLOR 15 PRINT "Puckdropper's Place Presents:" SLEEP 2 COLOR 1, 6 CLS PRINT PRINT PRINT " ÛÛÛÛÛ ²²²²² °°°°° ²²² ²² ÛÛÛÛÛ" PRINT " ÛÛ ÛÛ ²² ²² ° ²²²² ²² ÛÛ ÛÛ" PRINT " ÛÛ ²² ²² ° ²² ²² ²² ÛÛ" PRINT " ÛÛ ÛÛÛ ²² ²² ° ²² ²² ²² ÛÛ ÛÛÛ" PRINT " ÛÛ ÛÛ ²² ²² ° ²² ²²²² ÛÛ ÛÛ" PRINT " ÛÛÛ ²²²²² °°°°° ²² ²²² ÛÛÛ" PRINT PRINT PRINT " °° °° ²²²²² ²² ²² °°°°°°°" PRINT " °° °° ²² ²² ²²² ²²² °°" PRINT " °°°°°°° ²² ²² ²² ²² ²² °°°°°°°" PRINT " °° °° ²² ²² ²² ²² °°" PRINT " °° °° ²²²²² ²² ²² °°°°°°°" PRINT PRINT " T h e t e x t - b a s e d a d v e n t u r e" PRINT " P r e s s a k e y t o p l a y" PRINT SLEEP END SUB SUB Wontwork COLOR 15, 4 CLS PRINT "You don't attach the tag to you because you don't think it will work. You" PRINT "may be right, but it's not worth the trouble. Finding your way home isn't" PRINT "worth it either. Bye." GameOver END SUB SUB Yell COLOR 15, 4 CLS PRINT "You yell for help. All your yelling does is disturb the rest of a tiger." PRINT "He eats you, and you die." GameOver END SUB