! The Adventure, or Snafufun ! ! Done by Chris Kerton ! Ported to Inform by Duncan Cross Array CenterText string 128; [ Center instring i; CenterText-->0 = 128; @output_stream 3 CenterText; if (instring ofclass string) print (string) instring; if (instring ofclass Routine) indirect(instring); @output_stream -3; #Ifdef V6DEFS_H; i = ActiveZWindow.GetXSize(); i = i - 0-->($30/2); i = i/2; ActiveZWindow.SetCursor(0, i); #Ifnot; i = 0->$21; i = i - CenterText-->0; i = i/2; font off; spaces(i); #endif; if (instring ofclass string) print (string) instring; if (instring ofclass Routine) indirect(instring); #ifndef V6DEFS_H; font on; #endif; ]; array charname->83; [ entername; charname->0=80; read charname 0; ]; [ printname i; for(i=0:i1:i++) print (char) charname->(i+2); ]; array textb->83; array parseb-->5; [ getinput; print " "; textb->0=80; parseb->0=1; read textb parseb; if(parseb-->1==#n$q) quit; return parseb-->1; ]; [ Main; font off; Snafufun(); ]; [ Snafufun var; .Start; @erase_window -1; center("***************"); new_line; center("*THE ADVENTURE*"); new_line; center("***************"); new_line; new_line; center("Written by Chris Kerton (C-Tek)"); new_line; center("==============================="); new_line; center("Ported to Inform by Duncan Cross (aka BoingBall)"); new_line; new_line; print "Please enter your name^?"; entername(); print "Would you like instructions (y or n)?"; if (getinput() == #n$n) jump LikeToStart; @erase_window -1; Center("######################################"); new_line; Center("#THE INSTRUCTIONS FOR 'The Adventure'#"); new_line; Center("######################################"); new_line; new_line; new_line; print "Okay "; printname(); print " 'ADVENTURE' is a fantasy, role-playing game.^"; new_line; print "The object of the game is to make it to the end and win.^"; new_line; print "To do this you will need to use your imagination and wit.^"; new_line; print "---------------------------------------------------------^"; new_line; new_line; new_line; Center("BASIC CONTROLS"); new_line; Center("=============="); new_line; new_line; print "S-key means go south----------------E-key means go east^"; new_line; print "N-key means go north----------------W-key means go west^"; new_line; print "L-key means look--------------------K-key means kill^"; new_line; print "CTRL and run/stop means quit--------T-key means talk^"; print "-------------------------------------------------------^"; new_line; new_line; .LikeToStart; print "Would you like to start (y or n)?"; if (getinput() == #n$n) jump TheEnd; @erase_window -1; new_line; center("***************"); new_line; center("*THE ADVENTURE*"); new_line; center("***************"); new_line; new_line; center("Designed by Chris Kerton------------C-Tek industries"); new_line; center("<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>"); new_line; center("Copyright 1988-12-22----------------Volume One"); new_line; new_line; new_line; new_line; .OutsideSchool; print "You are outside of your local high school.^"; print "It will probably be another boring uneventful day.^"; .Prompt1; print "What would you like to do?"; var = getinput(); switch(var) { #n$l: jump Look1; #n$s: jump South1; #n$n: jump North1; #n$e: jump East1; #n$w: jump West1; #n$k: jump Kill1; #n$t: jump Talk1; } .Look1; new_line; new_line; print "To your north is the school entrance, with your usual^"; print "group of wasteoids who smoke things with weird smells,^"; print "and the entrance to the school.^"; new_line; new_line; print "To your south you see the stairway which you have just^"; print "descended and the usual group of jocks hanging around, waiting^"; print "for the morning bell to ring while they talk about hockey.^"; new_line; new_line; print "To your east you see nothing of importance except the rest of the^"; print "school and to the west you see the school parking lot with^"; print "a couple of school buses pulling in that are about to^"; print "drop off their load of shit, *OOPS*, I mean students.^"; jump Prompt1; .Kill1; new_line; new_line; print "Kill who!? The students? Man, you must be crazy!^"; print "But since you said so:^"; .Kill4; new_line; new_line; print "You attack the nearest unsuspecting person which happens^"; print "to be a wasteoid with a leather jacket, spike bands, and^"; print "various other things a street gang person might have.^"; new_line; print "Three of the wasteoids, who look tough, immediately jump foward^"; print "to save their buddy you have just attacked.^"; new_line; print "They pull out a switch-blade knife and then *#fasdfsg!@@64@@64##%@@292@@64%@@94BN!!!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .Talk1; new_line; new_line; print "As you babble on to nobody in particular, a few people turn^"; print "to look at you strangely and then go back to what they were doing.^"; jump Prompt1; .West1; new_line; new_line; print "You find yourself walking toward a wall which is part of the^"; print "school and is also a dead end.^"; jump Prompt1; .East1; new_line; new_line; print "You are in the school parking lot with a few cars^"; print "and a bus is dropping off some students.^"; jump Prompt3; .North1; new_line; new_line; print "You are standing in front of the school doors^"; print "with a few wasteoids standing around going about their own^"; print "business.^"; jump EnterSchool; .South1; new_line; new_line; print "As you are going up the stairs you meet up with^"; print "two of your friends, Larry and Moe. They greet you^"; print "with 'hey "; printname(); print " hows it goin?'^"; new_line; .Prompt2; print "What do you want to do?"; var = getinput(); switch(var) { #n$l: jump Look2; #n$s: jump South2; #n$n: jump North2; #n$e, #n$w: jump East2; #n$k: jump Kill2; #n$t: jump Talk2; } .Prompt3; new_line; new_line; print "What do you want to do?"; var = getinput(); switch(var) { #n$l: jump Look3; #n$s: jump South3; #n$n: jump North3; #n$e: jump OutsideSchool; #n$w: jump West3; #n$k: jump Kill3; #n$t: jump Talk3; } .Look3; new_line; new_line; print "To the south you see a muddy field, the school sign, and^"; print "the street.^"; new_line; print "To the north you see the end of the school and a moving^"; print "bus.^"; new_line; print "To the east you see where you have just came from.^"; new_line; print "To the west you see the woods.^"; jump Prompt3; .South3; new_line; new_line; print "You are walking across the muddy, wet, slippery field^"; print "towards the school sign and the street and !@@64#@@292%@@94&*(((!!!!^"; print "woo!!!!. You slip in the mud and hit your head on^"; print "on the metal post of the sign killing yourself.^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .North3; new_line; new_line; print "You start to walk north and notice the bus you saw^"; print "is coming straight at you! Apparentely the bus driver^"; print "does not see you.^"; print "You trip over your own feet trying to get out^"; print "of the way, you clumsy oaf, and !@@64#@@292%@@94&*()!!!!!!!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; } new_line; new_line; jump OutsideSchool; .West3; new_line; new_line; print "You go west and slide down the steep bank on your^"; print "ass.^"; print "You are now at the base of the woods.^"; jump Chapter2; new_line; new_line; .Kill3; print "You take a swat at the blackfly buzzing around your^"; print "head and with your excellent reflexes, you^"; print "manage to squash it. You notice blood spurts^"; print "everywhere indicating that the blackfly just got^"; print "done feasting on your arm.^"; jump Prompt3; new_line; new_line; .Talk3; print "You find yourself talking to yourself and then^"; print "realize, am I going insane?^"; jump Prompt3; .Look2; new_line; new_line; print "To the north you see the entrance to the school^"; print "and the few wasteoids that have not gone inside yet.^"; new_line; print "To the south you see the top of the stairs^"; print "and the odd person rushing to get to class.^"; new_line; print "To the east you see the side of the school and^"; print "to the west you see the school parking lot and the street.^"; print "You also see Larry and Moe.^"; jump Prompt2; new_line; new_line; .South2; print "You go south which is to the top of the stairs.^"; print "Here you see the upper parking lot where most^"; print "of the students park their cars.^"; print "Apparently Larry and Moe have followed and ask^"; print "where are you going?^"; print "They must think you want to jig school today and^"; print "they say is sounds like a good plan.^"; new_line; new_line; .Talk2; print "You ask Larry and Moe what they want to do today^"; print "and they say cut class.^"; new_line; print "Do you want to cut class (y or n)?"; var = getinput(); switch(var) { #n$y: jump CutClass; } new_line; new_line; print "Larry and Moe say 'What a Bummer' come on "; printname(); print ","; print "let's go to class."; print "You go back down the stairs and towards the school doors.^"; new_line; jump North1; .CutClass; new_line; new_line; jump Prompt3; new_line; new_line; .North2; jump OutsideSchool; new_line; new_line; .East2; print "You hop over the stair railing and end up catching^"; print "your foot on the railing, roll down the hill and^"; print "the next thing you know, you wake up in a hospital^"; print "bed with a broken spine!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .Kill2; new_line; new_line; print "You grab Moe and try to strangle him.^"; print "Larry hollers out "; printname(); print " what the hell do you^"; print "think you are doing? You manage to snap Moe's neck^"; print "killing him and Larry picks up a big rock and brings^"; print "it crashing down on your skull with a crunching^"; print "sound...!@@64#@@292%@@94&*()!!!!!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .EnterSchool; new_line; new_line; print "Would you like to enter the school (y or n)?"; var = getinput(); switch(var) { #n$n: jump OutsideSchool; } new_line; new_line; print "You open the door and enter the school.^"; .Prompt4; new_line; new_line; print "What would you like to do?"; var = getinput(); switch(var) { #n$l: jump Look4; #n$s: jump North1; #n$n: jump Walkabit; #n$e: jump InGym; #n$w: jump WalkToExit; #n$k: jump Kill4; #n$t: jump Talk4; } .Look4; new_line; new_line; print "You are in a hallway. To your south is the^"; print "exit, to the north is the rest of the hallway,^"; print "to the east is the entrance to the gym and to^"; print "the west another hallway with various classrooms.^"; jump Prompt4; .WalkABit; new_line; new_line; print "You walk a bit more and come to hallways^"; print "at your west and east. To your north is another^"; print "exit. At the ends of the west and east hallways are^"; print "exits.^"; print "The hallways have various doors which are classrooms,^"; print "and the library is to your east.^"; jump Prompt5; .InGym; new_line; new_line; print "You enter the gym and notice that a class is in session.^"; print "The gym teacher asks you what you want and then says^"; print "please leave and do not interrupt my class or you will^"; print "get detention!^"; jump Prompt4; .WalkToExit; new_line; new_line; print "You walk up the hallway to the exit.^"; .Prompt5; print "What do you want to do?"; jump Parse5; new_line; new_line; .Talk4; print "You babble on aimlessly and a couple of students^"; print "turn to look at you strangely.^"; jump Prompt4; .Parse5; var = getinput(); switch(var) { #n$l: jump Look5; #n$s: jump Look4; #n$e: jump EnterLibrary; #n$w: jump WallInWay; #n$k: jump Kill1; #n$t: jump Talk5; #n$n: jump Slipwater; } .Look5; new_line; new_line; print "To your east is the library, you just came from the south^"; print "to your west is nothing of significance and to your north^"; print "is a water fountain.^"; jump Prompt5; .EnterLibrary; new_line; new_line; print "You enter the library which is a typical school library.^"; jump Prompt6; .WallInWay; new_line; new_line; print "There is a wall in your way!^"; jump Prompt5; .Talk5; new_line; new_line; print "Do you like talking to yourself idiot stick?^"; jump Prompt5; new_line; new_line; print "The door seems to be locked! Dam it, shit, darn!^"; print "That really burns the shit off your underwear!^"; jump Prompt5; .Prompt6; new_line; new_line; print "What would you like to do?"; var = getinput(); switch(var) { #n$l: jump Look6; #n$s: jump RunInBooks; #n$e: jump Bollocks; #n$w: jump Look5; #n$k: jump ImSickOfThis; #n$t: jump Talk6; #n$n: jump CantBeArsed; } .Look6; new_line; new_line; print "To your west is where you just came from, to your^"; print "east and south is the rest of the library and^"; print "to your north is an exit.^"; jump Prompt6; .RunInBooks; new_line; new_line; .DontRunAway; print "You run into a stack of books knocking them over.^"; print "@@64#@@64@@64#@@292@@94@@94&&%*&*(()!!!!! too bad "; PrintName(); print " you will be picking up^"; print "books for the rest of the day! Idiot stick!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .Bollocks; new_line; new_line; jump DontRunAway; .ImSickOfThis; new_line; new_line; print "You try to kill the librarian who is big and fat^"; print "and she just knocks you down with a big swipe^"; print "and puts her fat ass on your ugly face killing^"; print "you!!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .SlipWater; new_line; new_line; print "You slip on some water that has spilled out of the^"; print "fountain @@64#@@292%@@94&*()!!!!!!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .Talk6; new_line; new_line; print "Talking to yourself causes people to think^"; print "you are weird.^"; jump Prompt6; .CantBeArsed; new_line; new_line; print "You go through the exit meeting up with the principal!^"; print "He thinks you want to cut class and you tell him off.^"; print "For that you will be spending time in detention all week!^"; print "Would you like to start over (y or n)?"; var = getinput(); switch(var) { #n$y: jump Start; #n$n: jump TheEnd; } .Chapter2; new_line; new_line; print "<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>^"; print " -----------^"; new_line; new_line; new_line; print " WEIRDOID LAND!!!!!!!!!!!!!!^"; print "Would you like to begin (y or n)?"; var = getinput(); switch(var) { #n$y: jump Chapter2; } .TheEnd; @erase_window -1; print "*******************************************************************^"; print "*******************************************************************^"; print "* What a shit head you are "; printname(); print " you got wanked or killed! *^"; print "* I hope you know what mistake you made and will remember it next *^"; print "* time. *^"; print "* Please do not list this program. If you looked at the solutions *^"; print "* then the game would be no fun. It is recomended that you just *^"; print "* play the game normally because C-Tek does not know the command *^"; print "* to keep you from listing this game. Keep an eye open for updated*^"; print "* versions of this game. *^"; print "* *^"; print "* *^"; print "*=================================================================*^"; print "* ##THE ADVENTURE## ##VOLUME ONE## *^"; print "*=================================================================*^"; print "* Nice try "; printname(); print " we hope you liked this software....... *^"; print "*@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94@@94*^"; print "*Designed by Chris Kerton-------------------------C-Tek industries*^"; print "*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*^"; print "*Copyright 1988-12-22-----------------------------------Volume One*^"; print "*******************************************************************^"; print "Would you like to start over (y or n)?"; if (getinput()==#n$y) jump Start; print "What a wang and a poor sport you are "; printname(); print " see you later asswipe^^[Press any key.]"; @read_char 1 var; quit; ];