Bill MacKenty

 
 
 
 

Quivering Communist Zombie Space Death - Part 2

Posted in Games in education Text-based gaming on 06 - June 2011 at 07:11 AM (11 years ago) 15 views.

(Part 1 here) I have started this exercise late in the year, and haven’t had any luck grabbing students. Drat. I invited some teachers to participate, but they haven’t bitten. I intend to continue onward, building our text-based space game about quivering communist zombies. A simple exercise, to create a reasonably accurate model of the solar system, yes? Let’s dig. We start with the planets (trivial google search) and then move to modeling them in hspace. We use the new universe wiki to help us. We use this fairly well referenced guide to get us started. Creating the actual planets objects is pretty easy. In pennmush, logged in as a wizard (with hspace running, of course): @create Earth @create Mars @create Venus @create Sun etc... We then assign each object an attribute . 1 is an internal attribute for planets in our example, assume #4 is the object for earth, and #5 is the object for Mars @space/addobject #4=1 @space/addobject #5=1 And then we need to define size, mass, name and location. And here, friends, is where things get interesting. Let’s look at the actual command syntax: @space/setobject #5/NAME=Earth @space/setobject #5/MASS= MASS HERE @space/setobject #5/LOCATION=10000 10000 0 So, what is the mass of earth? Again, a google search reveals: 5.9742×1024 (it is referenced to NASA, and I checked the source, so it looks legit. A first task is to convert scientific notation to standard number that hspace can understand. We know 5.9742×1024 equals 5,974,200,000,000,000,000,000,000 (which is freaking huge) So we simply plug this in. @space/setobject #5/MASS= 5974200000000000000000000 We do the same thing for size. I know, MASS isn’t SIZE, but for the purposes of this game, this will work. According to the wiki, hspace uses size of an object for sensor reading (very weak sensors might not see pluto) and MASS for how much an object can “hold”. For planets, this is kind of irrelevant. But if you have a big ship that serves as an aircraft carrier, mass is important. We are using cartesian coordinates to represent position. We’ve placed the center of the sun at 0,0,0. So where do we put earth? We are not modeling orbits, but we are trying to be “about right” with distances. So we return to our resource page and look at how far earth is from the sun. We see the mean distance is 149,597,890 kilometers. so, if the sun is at 0,0,0, we can put the earth at 149597890,0,0 This puts the earth on a straight line from the sun - pretty far away! The syntax: @space/setobject #5/LOCATION=149597890, 0, 0 We’ll need a pretty zippy ship to get around our solar system. I wonder how fast a ship would need to be in order to make it from Earth to Mars in a decent amount of time?


Quivering Communist Zombie Space Death - Part 1

Posted in Educational Tech Design Games in education Practical Advice Text-based gaming on 06 - May 2011 at 07:58 PM (11 years ago) 17 views.

I'm developing a new game, Quivering Communist Zombie Space Death. It's a text based game with an integrated (hardcoded) space system. What this game means, and why I'm developing it, is what this post is about. Quivering Communist Zombie Space Death (herein qczsd) is a game where players take on the role of humans desperately trying to save the earth from quivering communist zombies in space. The game is deeply educational, deeply funny, satirical, blatantly ribald, and of course most of all, fun. Basic mechanics are all textual! The player creates a persona (over-the-top stereotypical), get's a ship, and flys on different missions to take out the zombies. There is a leveling up mechanism, and "buy better crap for your ship dynamic". The zombies will be AI bots, and there will be all sorts of funny in-space dangers. Here's the website: [url=http://quiveringcommunistzombiespacedeath.com/index.html]http://quiveringcommunistzombiespacedeath.com/index.html[/url] I'll be blogging frequently about qczsd - talking about my journey of learning as I create this new game. Let's start, though, with the first task to make this game. We are using trusty pennmush, which can be found by clicking here and hspace, which can be found by clicking here. Let's start off with the first student assignment. Let's see where they go with this one: We are going to work with an accurate model of our solar system. What does this mean? It means that we are going to try to accurately model the planets, their distance from one another, mass, and even their moons. We of course also need to know their location from each other. What we are NOT modeling is orbits and gravity (I'll write the "difference between fun and realistic" post later). So, finding the names, mass, and distance of our solar-system planets is as easy as a simple google search. It might help to cross-reference them so we know the numbers are right. But we will eventually need to represent the location of the planets on a XYZ grid. Here's where it get's kind of interesting. How do astronomers (you know, the dolts who didn't even see the communist zombies coming) measure and represent distance in space? What scale of measurement do they use? How do they represent mass? Let's start with a simple assumption (that might be wrong). Let's say the very center of the sun is 0,0,0. Where would the center of the sun's closest planet, Mercury, be? Students should answer these questions and have the answers in the comment of this blog post as soon as they can.


Hspace and Textual 3D space

Posted in Text-based gaming Links on 29 - November 2010 at 05:11 PM (12 years ago) 10 views.

As my 4 regular readers know, I'm a text-based gaming guy. There's something "pure" about computers, networks, and text based games that appeals to me. I started back in the heady days of infocom, and moved to pennmush. In the interest of sharing my geek cred, I became interested in Star Trek MUSHes about 5 or 6 years ago - really great coded systems, especially their space systems. You interact with the game (only through text) and fly through 3D space. Imagine Eve online, only textual. A text-based space system is exactly what it sounds like; a text-based representation of 3 dimensional space. You want a sensor report? Try this: --[Sensor Report]-------------------------------------------------------------------------------------------- ### Type Res Bearing Range S Heading Speed S Name Class Flags --- ---- --- ------- ------- - ------- ------ - ------------------------ ------ 1 Base 100 224 328 0.71981 A 0 0 None F IRS D'Stelam AbEem --- ---- --- ------- ------- - ------- ------ - ------------------------ ------ 2 Plan 100 296 309 [0.933] V 0 0 None D Addams IX A 3 Plan 100 0 0 0.00000 F 0 0 None F Marion III AEe ------------------------------------------------------------------------------- Course: 0.000 0.000 Speed: Stationary Location: Open Space Velocity: Stationary ------------------------------------------------------------------------------- (screen grab from ats: among the stars, which uses A-Space). Trading, combat, role playing, and even skill building are all custom built text-based systems. My point is these games are totally textual and totally immersive. Really great stuff. Imagine, if you will, what it would be like to play a book - except of course you choose where you want to go, and what you want to do. I'll be increasing my frequency of text-based gaming, and text based gaming resources. [url=http://www.hspace.org/]http://www.hspace.org/[/url] [url=https://www.hsdev.org/trac/]https://www.hsdev.org/trac/[/url] [url=http://community.pennmush.org]http://community.pennmush.org[/url] [url=http://code.google.com/p/pennmush/downloads/list]http://code.google.com/p/pennmush/downloads/list[/url]


Transitioning to google apps for education

Posted in Educational Tech Design Leadership HOWTO google Text-based gaming on 02 - October 2010 at 12:37 PM (12 years ago) 16 views.

In four days, our school will be transitioning to google apps for education. I'm leading this transition, it's my first big organizational change as a director of technology. When I started as the director of technology here, half the school was using google apps for education (using one domain) and the other half of the school was using Novell Groupwise (using a different domain). Messages were being forwarded, pop'ed, filtered, and missed. It wasn't a great situation. Moreover, there was no school-wide calendaring solution; again, the result of two different systems. Usually, when you want to create change in an organization, you really need to get buy-in. You know, all those buzzwords like stakeholders, collaboration, shared-vision, etc. All that stuff is important. If you don't bring people on board when you change, they won't buy it and the change won't work. However, in this case, we just did it. I believe the success or failure of this change will hinge on the professional development, training and support our staff receives. The actual technical change is minor (we are simply pointing the old domain MX records to google's MX records - not rocket science). However for end users, this is a big change. Like any organization, we have a bell-curve of technical ability. Some uber-users, and some people who, well, aren't uber. We: 1. Setup a gmail moodle course chock full of resources, links, videos, PDFs, FAQ's, etc. 2. Recruited in-house gmail experts (calling them gmail ninjas). Out of 170 end-users, we have 30 people who will be walking around on "switchover day" ready to make a difference, offer assistance, and ask for help. 3. We have already moved all email, contacts, and cabinets from groupwise to gmail. I think this is a key point: users need to know what they don't know before you train them. This way, when training starts, they have a long list of questions. 4. We bought this fantastic video training from boost elearning. I'm no shill, but these guys do a whole lot right. My entire staff has a full year of gmail web-based training. From anywhere. And the courses are designed so users can just learn the part they are interested in; want to make a vacation responder? It's a two-minute video. 5. I met with each faculty and carefully explained WHY we are moving, and what benefits we expect to realize as a result of this switch. I listened carefully to concerns (what happens if the cloud blows up and data ownership). Based on these concerns, we purchased a backup solution for our school - all users have their documents, emails, and calendar data backed up on a third-party server. 6. Setup increased monitoring - monitors with outgoing / incoming status, monitors looking at every device in our organization (thank you Nagios), monitoring for our wireless status. We have a control center where everyone can see everything that is happening on our network. 7. I will be sharing our communication strategy on Monday - who calls who if a user cant access email, regular check-in times through the day. We've also setup a hot-support line with our external ISP. They will be on standby if we need anything. 8. Our in-house support help will be wearing t-shirts on the switchover day. I think it matters to actually see the people who are helping. I'll keep my finger crossed, and of course look forward to any comments or questions as we move forward.


Myrddin’s Global Bulletin Board v. 4.0.6

Posted in Text-based gaming on 28 - June 2009 at 06:32 PM (13 years ago) 9 views.

Mirrored from here. This is posted for archival purposes. Myrddin_Global_406.txt bb_help.txt bb_help_ascii.txt


Review: Legends of Zork

Posted in Text-based gaming on 02 - April 2009 at 09:24 PM (13 years ago) 10 views.

Legends of Zork I love the art style. I love the monsters. I love the locations. I love the "feel". Very well realized, but, um, activision.... THIS ISNT ZORK! This is something....awful. This is some horrible, Frankensteinian aberration. This is heresy. This is a gut-wrenching vomit soaked, "find out you have cancer" thing to do to the zork series. W.T.F. ?! This is...so....*gasp* web-based. You've made a pretty decent web-based game, and given it the spiritual name of the most important game to EVER COME TO COMPUTERS. Do you see where I'm coming from? DO YOU SEE WHAT YOU'VE DONE?! Kingdom of loathing is a great web based game, and in all honest more deserving of the title zork. Have you guys ever played nethack? Adventure? MUD II? Do you even KNOW who Richard Bartle is? This is like a terrible thing to do with zork! Zork is a text-based game! text-based! that's why WE LOVED ZORK because we could imagine stuff - you know - WITH OUR IMAGINATION THINGY!!!!! But text based games are alive and well - both multiplayer (in the MUD and MUSH community) and single player (in the interactive fiction community). PS: whoever thought of the idea of buying coconuts for fucking action points needs to be eaten by a grue. you know about that, right?


What would you teach a group of 11 year old kids about text based games - part 3

Posted in Teaching Diary Text-based gaming on 08 - October 2008 at 05:38 PM (14 years ago) 11 views.

part 1 part 2 We started our exploration of MUD's today (specifically, we played legend mud). We talked about the similarities and differences between interactive fiction and MUDS. We used Atlantis client to connect. After a brief character generation process, we settled into the game - the syntax and milieu was familiar to the kids, save the "real time" aspect of muds. We noted the status (HP, MP and MV) and looked at SCORE, STAT, and other MUD commands. We put our party in a group and started with small MOB's like rats, toads and snakes. The excitement was palpable as the combat started - experience points started flowing into our group and each combat was followed by a period of rest as we waitied for our hit points to regenerate. It wasn't long before we ended up in a swamp, and encountered something (I forget the name) but it ended in a total party wipe. Humbled, we restarted and continued our adventures. Again, I was struck with their enthusiasm and excitement. These kids were (not literally) glued to the screen, laughing, jumping out of their seats and carefully coordinating their attacks. A snippet: Student 1: ok. Everyone type attack toad, but DONT PUSH ENTER! Student 2: ok Student 3: where is the d key? oh yea. ok! Student 4: ready! Student 1: ok! now! (The poor toad never had a chance) The time went quickly and with 5 minutes left, we debriefed. Again, we discussed the differences between MUDs and interactive fiction. We talked about making a text based game, and they were full of questions; how long does it take? Can I make a mud? I want to make a mud like our school! Is it difficult? They seem especially interested in making their own game...I warned them that making a game takes a long time. I told them we still need to explore the MUSH family of games (there is a world war II mush I might take them to in a few weeks) and then we will decide what kind of game we will make. I reminded them about the differences between single player and multiplayer, and I told them I knew more about mushing and interactive fiction than mudding, but if they really wanted to make a mud, I'd learn with them. Next week, we will continue to play this mud, and I'll start looking for a decent mush.


Text-based games with a group of 11 year old kids

Posted in Games in education Text-based gaming on 17 - September 2008 at 09:45 PM (14 years ago) 12 views.

I've started teaching a small group of 4th and 5th graders (age 10 and 11) about text based games. We are meeting in an after school program. I wrote my first introduction about this project here and cross-posted it to to a couple of community listserves. Yesterday was our first class, and I admit, I was nervous. How would a 11 year old kid respond to a text-based game in 2008? My anxiety increased as one of the kids asked me if we were going to design video games. I told him no, we might design text-based games if we have time. I started with an introduction "you are about to play one of the very first computer games" (ok, a bit of a stretch, but it's kind of close). Enticed, they started typing On the screen, a blue screen with the words "You are standing West of a white house...." I wrote the cardinal directions on a whiteboard, as well as some commands they might need (look, i, open, close, etc..). Then they began. There was some initial playing with the parser: kid -> "you are stupid" Zork -> "I don't know the word "you" kid -> "what am I supposed to do?" I teased them a bit. "Make sure you examine everything, and if you find a weapon, I strongly suggest you get it...never know when you're going to run into a troll who wants to eat you...." The kids looked at me in disbelief. Troll? Weapons? Combat? WHERE?! They became glued to their screens and excitedly started pointing and yelling. I was almost brought to tears (literally) when a young voiced piped up "Um, Mr. MacKenty, What's a Grue?". I immediately halted the class and we reviewed the wikipedia entry about grues. I carefully explained that grues are sort of like rattlesnakes, in that they like to be left alone - but if they are annoyed, they might eat you. I told them if they want to avoid being eaten, it's best to have some light available. Immediately they started asking each other about the brass lantern in the old white house. It was about 35 minutes into the class I realized how utterly and completely captivated the kids were. I mean, they were literally glued to the screens; in a state of flow - they were consulting invisclues, they had printed maps, and they were trying to write a guide to solve the game quickly. It was a wonderful experience. They didn't solve zork, we ran out of time. But they did download the interpreter and the z machine files to usb drives so they could play it at home. We'll continue with Zork I next week, and I hope to introduce MUD's the week after. This is why I love teaching.


Text based games in an after school program

Posted in Games in education Text-based gaming on 22 - June 2008 at 04:13 PM (14 years ago) 12 views.

I'll be running an after-school class in text-based games next year (starting September 2008). I'm quite excited about it, and there seems to be interest from many in the school community. I've developed a tentative outline, and I have begun reaching out to others in the text-based gaming community to get some ideas and feedback. I'll keep track of my progress here on my blog, and I'm really looking forward to running this class. The class would last an entire school year (September through June), meeting once a week. So we would be looking at about 30 class meeting times (probably more like 20 with interruptions and field trips). I have thought about this a bit, and here's my basic outline: Text based games The classics: play part of Adventure play part of zork I play a multiplayer text based game (but this is tricky as they will all be minors) MUDS Talk about different code bases Play some muds: fantasy science fiction popular fiction building build a mud using (mud code base 1) build a mud using (mud code base 2) interviewing a mud builder interviewing a mud creator MUSHES Talk about different mushes Play some MUSHES: fantasy science fiction popular fiction building Build a mush using the pennmush server MUXes playing muxes playing a Battle tech mux Interactive fiction The big difference in interactive fiction and MU*'s playing IF: play some games designing IF using Inform 7 Puzzles: what makes a puzzle fun? Good writing How to write a good story How to write a good bad guy General game skills How to run a TP (tiny plot, from the mu* world) Coded systems versus free form RP


RSS links for text-based games

Posted in Personal Text-based gaming on 04 - April 2008 at 04:22 PM (14 years ago) 12 views.

These are the RSS links I regularly review to keep abreast of events in the text-based-gaming community. I am a text-based gaming aficionado here's my meager page to more links and information about text-based games. [url=http://community.pennmush.org/rss.xml]http://community.pennmush.org/rss.xml[/url] [url=http://www.mudmagic.com/rss/code/livebookmark/rss20/index.xml]http://www.mudmagic.com/rss/code/livebookmark/rss20/index.xml[/url] [url=http://feeds.feedburner.com/TMCForums]http://feeds.feedburner.com/TMCForums[/url] [url=http://feeds.feedburner.com/MudconnectReviews]http://feeds.feedburner.com/MudconnectReviews[/url] [url=http://www.mudmagic.com/t/index.xml]http://www.mudmagic.com/t/index.xml[/url] [url=http://www.mudmagic.com/rss/listings/rss20/livebookmark/index.xml]http://www.mudmagic.com/rss/listings/rss20/livebookmark/index.xml[/url] [url=http://terranova.blogs.com/terra_nova/atom.xml]http://terranova.blogs.com/terra_nova/atom.xml[/url] [url=http://www.topmudsites.com/forums/external.php?type=RSS2]http://www.topmudsites.com/forums/external.php?type=RSS2[/url] [url=http://del.icio.us/rss/ulrichp/mush]http://del.icio.us/rss/ulrichp/mush[/url] [url=http://wora.netlosers.com/index.php?type=rss;action=.xml]http://wora.netlosers.com/index.php?type=rss;action=.xml[/url]


Interactive Fiction after school program

Posted in Text-based gaming Links on 02 - April 2008 at 04:21 PM (14 years ago) 9 views.

[url=http://if1.home.comcast.net/~if1/]http://if1.home.comcast.net/~if1/[/url]


Original fortran code for Adventure part 1

Posted in Text-based gaming on 02 - March 2008 at 02:55 PM (14 years ago) 9 views.

Cross posting this to reduce possibility of link rot and preserve important part of our heritage: Source: [url=http://jerz.setonhill.edu/if/crowther/]http://jerz.setonhill.edu/if/crowther/[/url] Original news story: [url=http://www.gamedev.net/community/forums/topic.asp?topic_id=460192]http://www.gamedev.net/community/forums/topic.asp?topic_id=460192[/url] If you are the owner of this code, and would like me to remove it, please let me know. kthxbai. C ADVENTURES IMPLICIT INTEGER(A-Z) REAL RAN COMMON RTEXT,LLINE DIMENSION IOBJ(300),ICHAIN(100),IPLACE(100) 1 ,IFIXED(100),COND(300),PROP(100),ABB(300),LLINE(1000,22) 2 ,LTEXT(300),STEXT(300),KEY(300),DEFAULT(300),TRAVEL(1000) 3 ,TK(25),KTAB(1000),ATAB(1000),BTEXT(200),DSEEN(10) 4 ,DLOC(10),ODLOC(10),DTRAV(20),RTEXT(100),JSPKT(100) 5 ,IPLT(100),IFIXT(100),QUIP(100) C READ THE PARAMETERS IF(SETUP.NE.0) GOTO 1 SETUP=1 KEYS=1 LAMP=2 GRATE=3 ROD=5 BIRD=7 NUGGET=10 SNAKE=11 FOOD=19 WATER=20 AXE=21 DATA(QUIP(I),I=1,9)/50,51,64,66,67,68,69,49,79/ DATA(JSPKT(I),I=1,16)/24,29,0,31,0,31,38,38,42,42,43,46,77,71 1 ,73,75/ DATA(IPLT(I),I=1,20)/3,3,8,10,11,14,13,9,15,18,19,17,27,28,29 1 ,30,0,0,3,3/ DATA(IFIXT(I),I=1,20)/0,0,1,0,0,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0/ DATA(DTRAV(I),I=1,15)/36,28,19,30,62,60,41,27,17,15,19,28,36 1 ,300,300/ DO 1001 I=1,300 STEXT(I)=0 IF(I.LE.200) BTEXT(I)=0 IF(I.LE.100)RTEXT(I)=0 1001 LTEXT(I)=0 I=1 CALL IFILE(1,'TEXT') 1002 READ(1,1003) IKIND 1003 FORMAT(G) GOTO(1100,1004,1004,1013,1020,1004,1004)(IKIND+1) 1004 READ(1,1005)JKIND,(LLINE(I,J),J=3,22) 1005 FORMAT(1G,20A5) IF(JKIND.EQ.-1) GOTO 1002 DO 1006 K=1,20 KK=K IF(LLINE(I,21-K).NE.' ') GOTO 1007 1006 CONTINUE STOP 1007 LLINE(I,2)=20-KK+1 LLINE(I,1)=0 IF(IKIND.EQ.6)GOTO 1023 IF(IKIND.EQ.5)GOTO 1011 IF(IKIND.EQ.1) GOTO 1008 IF(STEXT(JKIND).NE.0) GOTO 1009 STEXT(JKIND)=I GOTO 1010 1008 IF(LTEXT(JKIND).NE.0) GOTO 1009 LTEXT(JKIND)=I GOTO 1010 1009 LLINE(I-1,1)=I 1010 I=I+1 IF(I.NE.1000)GOTO 1004 PAUSE 'TOO MANY LINES' 1011 IF(JKIND.LT.200)GOTO 1012 IF(BTEXT(JKIND-100).NE.0)GOTO 1009 BTEXT(JKIND-100)=I BTEXT(JKIND-200)=I GOTO 1010 1012 IF(BTEXT(JKIND).NE.0)GOTO 1009 BTEXT(JKIND)=I GOTO 1010 1023 IF(RTEXT(JKIND).NE.0) GOTO 1009 RTEXT(JKIND)=I GOTO 1010 1013 I=1 1014 READ(1,1015)JKIND,LKIND,(TK(L),L=1,10) 1015 FORMAT(12G) IF(JKIND.EQ.-1) GOTO 1002 IF(KEY(JKIND).NE.0) GOTO 1016 KEY(JKIND)=I GOTO 1017 1016 TRAVEL(I-1)=-TRAVEL(I-1) 1017 DO 1018 L=1,10 IF(TK(L).EQ.0) GOTO 1019 TRAVEL(I)=LKIND*1024+TK(L) I=I+1 IF(I.EQ.1000) STOP 1018 CONTINUE 1019 TRAVEL(I-1)=-TRAVEL(I-1) GOTO 1014 1020 DO 1022 IU=1,1000 READ(1,1021) KTAB(IU),ATAB(IU) 1021 FORMAT(G,A5) IF(KTAB(IU).EQ.-1)GOTO 1002 1022 CONTINUE PAUSE 'TOO MANY WORDS' C TRAVEL = NEG IF LAST THIS SOURCE + DEST*1024 + KEYWORD C COND = 1 IF LIGHT, 2 IF DON T ASK QUESTION 1100 DO 1101 I=1,100 IPLACE(I)=IPLT(I) IFIXED(I)=IFIXT(I) 1101 ICHAIN(I)=0 DO 1102 I=1,300 COND(I)=0 ABB(I)=0 1102 IOBJ(I)=0 DO 1103 I=1,10 1103 COND(I)=1 COND(16)=2 COND(20)=2 COND(21)=2 COND(22)=2 COND(23)=2 COND(24)=2 COND(25)=2 COND(26)=2 COND(31)=2 COND(32)=2 COND(79)=2 DO 1107 I=1,100 KTEM=IPLACE(I) IF(KTEM.EQ.0)GOTO 1107 IF(IOBJ(KTEM).NE.0) GOTO 1104 IOBJ(KTEM)=I GO TO 1107 1104 KTEM=IOBJ(KTEM) 1105 IF(ICHAIN(KTEM).NE.0) GOTO 1106 ICHAIN(KTEM)=I GOTO 1107 1106 KTEM=ICHAIN(KTEM) GOTO 1105 1107 CONTINUE IDWARF=0 IFIRST=1 IWEST=0 ILONG=1 IDETAL=0 PAUSE 'INIT DONE' 1 CALL YES(65,1,0,YEA) L=1 LOC=1 2 DO 73 I=1,3 IF(ODLOC(I).NE.L.OR.DSEEN(I).EQ.0)GOTO 73 L=LOC CALL SPEAK(2) GOTO 74 73 CONTINUE 74 LOC=L C DWARF STUFF IF(IDWARF.NE.0) GOTO 60 IF(LOC.EQ.15) IDWARF=1 GOTO 71 60 IF(IDWARF.NE.1)GOTO 63 IF(RAN(QZ).GT.0.05) GOTO 71 IDWARF=2 DO 61 I=1,3 DLOC(I)=0 ODLOC(I)=0 61 DSEEN(I)=0 CALL SPEAK(3) ICHAIN(AXE)=IOBJ(LOC) IOBJ(LOC)=AXE IPLACE(AXE)=LOC GOTO 71 63 IDWARF=IDWARF+1 ATTACK=0 DTOT=0 STICK=0 DO 66 I=1,3 IF(2*I+IDWARF.LT.8)GOTO 66 IF(2*I+IDWARF.GT.23.AND.DSEEN(I).EQ.0)GOTO 66 ODLOC(I)=DLOC(I) IF(DSEEN(I).NE.0.AND.LOC.GT.14)GOTO 65 DLOC(I)=DTRAV(I*2+IDWARF-8) DSEEN(I)=0 IF(DLOC(I).NE.LOC.AND.ODLOC(I).NE.LOC) GOTO 66 65 DSEEN(I)=1 DLOC(I)=LOC DTOT=DTOT+1 IF(ODLOC(I).NE.DLOC(I)) GOTO 66 ATTACK=ATTACK+1 IF(RAN(QZ).LT.0.1) STICK=STICK+1 66 CONTINUE IF(DTOT.EQ.0) GOTO 71 IF(DTOT.EQ.1)GOTO 75 TYPE 67,DTOT 67 FORMAT(' THERE ARE ',I2,' THREATENING LITTLE DWARVES IN THE 1 ROOM WITH YOU.',/) GOTO 77 75 CALL SPEAK(4) 77 IF(ATTACK.EQ.0)GOTO 71 IF(ATTACK.EQ.1)GOTO 79 TYPE 78,ATTACK 78 FORMAT(' ',I2,' OF THEM THROW KNIVES AT YOU!',/) GOTO 81 79 CALL SPEAK(5) CALL SPEAK(52+STICK) GOTO(71,83)(STICK+1) 81 IF(STICK.EQ.0) GOTO 69 IF(STICK.EQ.1)GOTO 82 TYPE 68,STICK 68 FORMAT(' ',I2,' OF THEM GET YOU.',/) GOTO 83 82 CALL SPEAK(6) 83 PAUSE 'GAMES OVER' GOTO 71 69 CALL SPEAK(7) C PLACE DESCRIPTOR 71 KK=STEXT(L) IF(ABB(L).EQ.0.OR.KK.EQ.0)KK=LTEXT(L) IF(KK.EQ.0) GOTO 7 4 TYPE 5,(LLINE(KK,JJ),JJ=3,LLINE(KK,2)) 5 FORMAT(20A5) KK=KK+1 IF(LLINE(KK-1,1).NE.0) GOTO 4 TYPE 6 6 FORMAT(/) 7 IF(COND(L).EQ.2)GOTO 8 IF(LOC.EQ.33.AND.RAN(QZ).LT.0.25)CALL SPEAK(8) J=L GOTO 2000 C GO GET A NEW LOCATION 8 KK=KEY(LOC) IF(KK.EQ.0)GOTO 19 IF(K.EQ.57)GOTO 32 IF(K.EQ.67)GOTO 40 IF(K.EQ.8)GOTO 12 LOLD=L 9 LL=TRAVEL(KK) IF(LL.LT.0) LL=-LL IF(1.EQ.MOD(LL,1024))GOTO 10 IF(K.EQ.MOD(LL,1024))GOTO 10 IF(TRAVEL(KK).LT.0)GOTO 11 KK=KK+1 GOTO 9 12 TEMP=LOLD LOLD=L L=TEMP GOTO 21 10 L=LL/1024 GOTO 21 11 JSPK=12 IF(K.GE.43.AND.K.LE.46)JSPK=9 IF(K.EQ.29.OR.K.EQ.30)JSPK=9 IF(K.EQ.7.OR.K.EQ.8.OR.K.EQ.36.OR.K.EQ.37.OR.K.EQ.68) 1 JSPK=10 IF(K.EQ.11.OR.K.EQ.19)JSPK=11 IF(JVERB.EQ.1)JSPK=59 IF(K.EQ.48)JSPK=42 IF(K.EQ.17)JSPK=80 CALL SPEAK(JSPK) GOTO 2 19 CALL SPEAK(13) L=LOC IF(IFIRST.EQ.0) CALL SPEAK(14) 21 IF(L.LT.300)GOTO 2 IL=L-300+1 GOTO(22,23,24,25,26,31,27,28,29,30,33,34,36,37)IL GOTO 2 22 L=6 IF(RAN(QZ).GT.0.5) L=5 GOTO 2 23 L=23 IF(PROP(GRATE).NE.0) L=9 GOTO 2 24 L=9 IF(PROP(GRATE).NE.0)L=8 GOTO 2 25 L=20 IF(IPLACE(NUGGET).NE.-1)L=15 GOTO 2 26 L=22 IF(IPLACE(NUGGET).NE.-1) L=14 GOTO 2 27 L=27 IF(PROP(12).EQ.0)L=31 GOTO 2 28 L=28 IF(PROP(SNAKE).EQ.0)L=32 GOTO 2 29 L=29 IF(PROP(SNAKE).EQ.0) L=32 GOTO 2 30 L=30 IF(PROP(SNAKE).EQ.0) L=32 GOTO 2 31 PAUSE 'GAME IS OVER' GOTO 1100 32 IF(IDETAL.LT.3)CALL SPEAK(15) IDETAL=IDETAL+1 L=LOC ABB(L)=0 GOTO 2 33 L=8 IF(PROP(GRATE).EQ.0) L=9 GOTO 2 34 IF(RAN(QZ).GT.0.2)GOTO 35 L=68 GOTO 2 35 L=65 38 CALL SPEAK(56) GOTO 2 36 IF(RAN(QZ).GT.0.2)GOTO 35 L=39 IF(RAN(QZ).GT.0.5)L=70 GOTO 2 37 L=66 IF(RAN(QZ).GT.0.4)GOTO 38 L=71 IF(RAN(QZ).GT.0.25)L=72 GOTO 2 39 L=66 IF(RAN(QZ).GT.0.2)GOTO 38 L=77 GOTO 2 40 IF(LOC.LT.8)CALL SPEAK(57) IF(LOC.GE.8)CALL SPEAK(58) L=LOC GOTO 2 C DO NEXT INPUT 2000 LTRUBL=0 LOC=J ABB(J)=MOD((ABB(J)+1),5) IDARK=0 IF(MOD(COND(J),2).EQ.1) GOTO 2003 IF((IPLACE(2).NE.J).AND.(IPLACE(2).NE.-1)) GOTO 2001 IF(PROP(2).EQ.1)GOTO 2003 2001 CALL SPEAK(16) IDARK=1 2003 I=IOBJ(J) 2004 IF(I.EQ.0) GOTO 2011 IF(((I.EQ.6).OR.(I.EQ.9)).AND.(IPLACE(10).EQ.-1))GOTO 2008 ILK=I IF(PROP(I).NE.0) ILK=I+100 KK=BTEXT(ILK) IF(KK.EQ.0) GOTO 2008 2005 TYPE 2006,(LLINE(KK,JJ),JJ=3,LLINE(KK,2)) 2006 FORMAT(20A5) KK=KK+1 IF(LLINE(KK-1,1).NE.0) GOTO 2005 TYPE 2007 2007 FORMAT(/) 2008 I=ICHAIN(I) GOTO 2004 C K=1 MEANS ANY INPUT 2012 A=B JTWO=0 GOTO 2021 2010 JSPK=QUIP(K) GOTO 5200 2009 JSPK=54 5200 CALL SPEAK(JSPK) 2011 JVERB=0 JOBJ=0 JTWO=0 2020 CALL GETIN(JTWO,A,TWOWD,B) K=70 IF(A.EQ.'ENTER'.AND.(B.EQ.'STREAM'.OR.B.EQ.'WATER'))GOTO 2010 IF(A.EQ.'ENTER'.AND.JTWO.NE.0)GOTO 2012 2021 IF(A.NE.'WEST')GOTO 2023 IWEST=IWEST+1 IF(IWEST.NE.10)GOTO 2023 CALL SPEAK(17) 2023 DO 2024 I=1,1000 IF(KTAB(I).EQ.-1)GOTO 3000 IF(ATAB(I).EQ.A)GOTO 2025 2024 CONTINUE PAUSE 'ERROR 6' 2025 K=MOD(KTAB(I),1000) KQ=KTAB(I)/1000+1 GOTO (5014,5000,2026,2010)KQ PAUSE 'NO NO' 2026 JVERB=K JSPK=JSPKT(JVERB) IF(JTWO.NE.0)GOTO 2028 IF(JOBJ.EQ.0)GOTO 2036 2027 GOTO(9000,5066,3000,5031,2009,5031,9404,9406,5081,5200, 1 5200,5300,5506,5502,5504,5505)JVERB PAUSE 'ERROR 5' 2028 A=TWOWD B=' ' JTWO=0 GOTO 2023 3000 JSPK=60 IF(RAN(QZ).GT.0.8)JSPK=61 IF(RAN(QZ).GT.0.8)JSPK=13 CALL SPEAK(JSPK) LTRUBL=LTRUBL+1 IF(LTRUBL.NE.3)GOTO 2020 IF(J.NE.13.OR.IPLACE(7).NE.13.OR.IPLACE(5).NE.-1)GOTO 2032 CALL YES(18,19,54,YEA) GOTO 2033 2032 IF(J.NE.19.OR.PROP(11).NE.0.OR.IPLACE(7).EQ.-1)GOTO 2034 CALL YES(20,21,54,YEA) GOTO 2033 2034 IF(J.NE.8.OR.PROP(GRATE).NE.0)GOTO 2035 CALL YES(62,63,54,YEA) 2033 IF(YEA.EQ.0)GOTO 2011 GOTO 2020 2035 IF(IPLACE(5).NE.J.AND.IPLACE(5).NE.-1)GOTO 2020 IF(JOBJ.NE.5)GOTO 2020 CALL SPEAK(22) GOTO 2020 2036 GOTO(2037,5062,5062,9403,2009,9403,9404,9406,5062,5062, 1 5200,5300,5062,5062,5062,5062)JVERB PAUSE 'OOPS' 2037 IF((IOBJ(J).EQ.0).OR.(ICHAIN(IOBJ(J)).NE.0)) GOTO 5062 DO 5312 I=1,3 IF(DSEEN(I).NE.0)GOTO 5062 5312 CONTINUE JOBJ=IOBJ(J) GOTO 2027 5062 IF(B.NE.' ')GOTO 5333 TYPE 5063,A 5063 FORMAT(' ',A5,' WHAT?',/) GOTO 2020 5333 TYPE 5334,A,B 5334 FORMAT(' ',2A5,' WHAT?',/) GOTO 2020 5014 IF(IDARK.EQ.0) GOTO 8 IF(RAN(QZ).GT.0.25) GOTO 8 5017 CALL SPEAK(23) PAUSE 'GAME IS OVER' GOTO 2011 5000 JOBJ=K IF(JTWO.NE.0)GOTO 2028 IF((J.EQ.IPLACE(K)).OR.(IPLACE(K).EQ.-1)) GOTO 5004 IF(K.NE.GRATE)GOTO 502 IF((J.EQ.1).OR.(J.EQ.4).OR.(J.EQ.7))GOTO 5098 IF((J.GT.9).AND.(J.LT.15))GOTO 5097 502 IF(B.NE.' ')GOTO 5316 TYPE 5005,A 5005 FORMAT(' I SEE NO ',A5,' HERE.',/) GOTO 2011 5316 TYPE 5317,A,B 5317 FORMAT(' I SEE NO ',2A5,' HERE.'/) GOTO 2011 5098 K=49 GOTO 5014 5097 K=50 GOTO 5014 5004 JOBJ=K IF(JVERB.NE.0)GOTO 2027 5064 IF(B.NE.' ')GOTO 5314 TYPE 5001,A 5001 FORMAT(' WHAT DO YOU WANT TO DO WITH THE ',A5,'?',/) GOTO 2020 5314 TYPE 5315,A,B 5315 FORMAT(' WHAT DO YOU WANT TO DO WITH THE ',2A5,'?',/) GOTO 2020 C CARRY 9000 IF(JOBJ.EQ.18)GOTO 2009 IF(IPLACE(JOBJ).NE.J) GOTO 5200 9001 IF(IFIXED(JOBJ).EQ.0)GOTO 9002 CALL SPEAK(25) GOTO 2011 9002 IF(JOBJ.NE.BIRD)GOTO 9004 IF(IPLACE(ROD).NE.-1)GOTO 9003 CALL SPEAK(26) GOTO 2011 9003 IF((IPLACE(4).EQ.-1).OR.(IPLACE(4).EQ.J)) GOTO 9004 CALL SPEAK(27) GOTO 2011 9004 IPLACE(JOBJ)=-1 9005 IF(IOBJ(J).NE.JOBJ) GOTO 9006 IOBJ(J)=ICHAIN(JOBJ) GOTO 2009 9006 ITEMP=IOBJ(J) 9007 IF(ICHAIN(ITEMP).EQ.(JOBJ)) GOTO 9008 ITEMP=ICHAIN(ITEMP) GOTO 9007 9008 ICHAIN(ITEMP)=ICHAIN(JOBJ) GOTO 2009 C LOCK, UNLOCK, NO OBJECT YET 9403 IF((J.EQ.8).OR.(J.EQ.9))GOTO 5105 5032 CALL SPEAK(28) GOTO 2011 5105 JOBJ=GRATE GOTO 2027 C DISCARD OBJECT 5066 IF(JOBJ.EQ.18)GOTO 2009 IF(IPLACE(JOBJ).NE.-1) GOTO 5200 5012 IF((JOBJ.NE.BIRD).OR.(J.NE.19).OR.(PROP(11).EQ.1))GOTO 9401 CALL SPEAK(30) PROP(11)=1 5160 ICHAIN(JOBJ)=IOBJ(J) IOBJ(J)=JOBJ IPLACE(JOBJ)=J GOTO 2011 9401 CALL SPEAK(54) GOTO 5160 C LOCK,UNLOCK OBJECT 5031 IF(IPLACE(KEYS).NE.-1.AND.IPLACE(KEYS).NE.J)GOTO 5200 IF(JOBJ.NE.4)GOTO 5102 CALL SPEAK(32) GOTO 2011 5102 IF(JOBJ.NE.KEYS)GOTO 5104 CALL SPEAK(55) GOTO 2011 5104 IF(JOBJ.EQ.GRATE)GOTO 5107 CALL SPEAK(33) GOTO 2011 5107 IF(JVERB.EQ.4) GOTO 5033 IF(PROP(GRATE).NE.0)GOTO 5034 CALL SPEAK(34) GOTO 2011 5034 CALL SPEAK(35) PROP(GRATE)=0 PROP(8)=0 GOTO 2011 5033 IF(PROP(GRATE).EQ.0)GOTO 5109 CALL SPEAK(36) GOTO 2011 5109 CALL SPEAK(37) PROP(GRATE)=1 PROP(8)=1 GOTO 2011 C LIGHT LAMP 9404 IF((IPLACE(2).NE.J).AND.(IPLACE(2).NE.-1))GOTO 5200 PROP(2)=1 IDARK=0 CALL SPEAK(39) GOTO 2011 C LAMP OFF 9406 IF((IPLACE(2).NE.J).AND.(IPLACE(2).NE.-1)) GOTO 5200 PROP(2)=0 CALL SPEAK(40) GOTO 2011 C STRIKE 5081 IF(JOBJ.NE.12)GOTO 5200 PROP(12)=1 GOTO 2003 C ATTACK 5300 DO 5313 ID=1,3 IID=ID IF(DSEEN(ID).NE.0)GOTO 5307 5313 CONTINUE IF(JOBJ.EQ.0)GOTO 5062 IF(JOBJ.EQ.SNAKE) GOTO 5200 IF(JOBJ.EQ.BIRD) GOTO 5302 CALL SPEAK(44) GOTO 2011 5302 CALL SPEAK(45) IPLACE(JOBJ)=300 GOTO 9005 5307 IF(RAN(QZ).GT.0.4) GOTO 5309 DSEEN(IID)=0 ODLOC(IID)=0 DLOC(IID)=0 CALL SPEAK(47) GOTO 5311 5309 CALL SPEAK(48) 5311 K=21 GOTO 5014 C EAT 5502 IF((IPLACE(FOOD).NE.J.AND.IPLACE(FOOD).NE.-1).OR.PROP(FOOD).NE.0 1 .OR.JOBJ.NE.FOOD)GOTO 5200 PROP(FOOD)=1 5501 JSPK=72 GOTO 5200 C DRINK 5504 IF((IPLACE(WATER).NE.J.AND.IPLACE(WATER).NE.-1) 1 .OR.PROP(WATER).NE.0.OR.JOBJ.NE.WATER) GOTO 5200 PROP(WATER)=1 JSPK=74 GOTO 5200 C RUB 5505 IF(JOBJ.NE.LAMP)JSPK=76 GOTO 5200 C POUR 5506 IF(JOBJ.NE.WATER)JSPK=78 PROP(WATER)=1 GOTO 5200 END SUBROUTINE SPEAK(IT) IMPLICIT INTEGER(A-Z) COMMON RTEXT,LLINE DIMENSION RTEXT(100),LLINE(1000,22) KKT=RTEXT(IT) IF(KKT.EQ.0)RETURN 999 TYPE 998, (LLINE(KKT,JJT),JJT=3,LLINE(KKT,2)) 998 FORMAT(20A5) KKT=KKT+1 IF(LLINE(KKT-1,1).NE.0)GOTO 999 997 TYPE 996 996 FORMAT(/) RETURN END SUBROUTINE GETIN(TWOW,B,C,D) IMPLICIT INTEGER(A-Z) DIMENSION A(5),M2(6) DATA M2/"4000000000,"20000000,"100000,"400,"2,0/ 6 ACCEPT 1,(A(I), I=1,4) 1 FORMAT(4A5) TWOW=0 S=0 B=A(1) DO 2 J=1,4 DO 2 K=1,5 MASK1="774000000000 IF(K.NE.1) MASK1="177*M2(K) IF(((A(J).XOR."201004020100).AND.MASK1).EQ.0)GOTO 3 IF(S.EQ.0) GOTO 2 TWOW=1 CALL SHIFT(A(J),7*(K-1),XX) CALL SHIFT(A(J+1),7*(I-6),YY) MASK=-M2(6-K) C=(XX.AND.MASK)+(YY.AND.(-2-MASK)) GOTO 4 3 IF(S.EQ.1) GOTO 2 S=1 IF(J.EQ.1) B=(B.AND.-M2(K)).OR.("201004020100.AND. 1 (-M2(K).XOR.-1)) 2 CONTINUE 4 D=A(2) RETURN END SUBROUTINE YES(X,Y,Z,YEA) IMPLICIT INTEGER(A-Z) CALL SPEAK(X) CALL GETIN(JUNK,IA1,JUNK,IB1) IF(IA1.EQ.'NO'.OR.IA1.EQ.'N') GOTO 1 YEA=1 IF(Y.NE.0) CALL SPEAK(Y) RETURN 1 YEA=0 IF(Z.NE.0)CALL SPEAK(Z) RETURN END


Original fortran code for Adventure - part 3

Posted in Text-based gaming on 01 - February 2008 at 02:55 PM (14 years ago) 9 views.

Cross posting this to reduce possibility of link rot and preserve important part of our heritage: Source: [url=http://jerz.setonhill.edu/if/crowther/]http://jerz.setonhill.edu/if/crowther/[/url] Original news story: [url=http://www.gamedev.net/community/forums/topic.asp?topic_id=460192]http://www.gamedev.net/community/forums/topic.asp?topic_id=460192[/url] If you are the owner of this code, and would like me to remove it, please let me know. kthxbai. 1 1 YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK 1 BUILDING . AROUND YOU IS A FOREST. A SMALL 1 STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY. 2 YOU HAVE WALKED UP A HILL, STILL IN THE FOREST 2 THE ROAD NOW SLOPES BACK DOWN THE OTHER SIDE OF THE HILL. 2 THERE IS A BUILDING IN THE DISTANCE. 3 YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. 4 YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING 4 ALONG A ROCKY BED. 5 YOU ARE IN OPEN FOREST, WITH A DEEP VALLEY TO ONE SIDE. 6 YOU ARE IN OPEN FOREST NEAR BOTH A VALLEY AND A ROAD. 7 AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A 7 2 INCH SLIT IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK. 8 YOU ARE IN A 20 FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO 8 THE DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY 8 STREAMBED LEADS INTO THE DEPRESSION. 9 YOU ARE IN A SMALL CHAMBER BENEATH A 3X3 STEEL GRATE TO THE 9 SURFACE. A LOW CRAWL OVER COBBLES LEADS INWARD TO THE WEST. 10 YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A 10 DIM LIGHT AT THE EAST END OF THE PASSAGE. 11 YOU ARE IN A DEBRIS ROOM, FILLED WITH STUFF WASHED IN FROM 11 THE SURFACE. A LOW WIDE PASSAGE WITH COBBLES BECOMES 11 PLUGGED WITH MUD AND DEBRIS HERE,BUT AN AWKWARD CANYON 11 LEADS UPWARD AND WEST. 11 A NOTE ON THE WALL SAYS 'MAGIC WORD XYZZY'. 12 YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. 13 YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS 13 ARE FROZEN RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A 13 GOOD PASSAGE EXIT FROM EAST AND WEST SIDES OF THE CHAMBER. 14 AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN 14 EAST PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. 15 YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF 15 SIGHT TO THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE 15 STONE STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH 15 WISPS OF WHITE MIST SWAYING TO AND FRO ALMOST AS IF ALIVE. 15 A COLD WIND BLOWS UP THE STAIRCASE. THERE IS A PASSAGE 15 AT THE TOP OF A DOME BEHIND YOU. 16 THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. 17 YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS 17 THE HALL. THE MIST IS QUITE THICK HERE, AND THE FISSURE IS 17 TOO WIDE TO JUMP. 18 THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. 18 IT SAYS 'YOU WON'T GET IT UP THE STEPS'. 19 YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES 19 OFF IN ALL DIRECTIONS. 20 YOU ARE AT THE BOTTOM OF THE PIT WITH A BROKEN NECK. 21 YOU DIDN'T MAKE IT 22 THE DOME IS UNCLIMBABLE 23 YOU CAN'T GO IN THROUGH A LOCKED STEEL GRATE! 24 YOU DON'T FIT DOWN A TWO INCH HOLE! 25 YOU CAN'T GO THROUGH A LOCKED STEEL GRATE. 27 YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. 28 YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. 28 THE HOLE GOES DOWN TO AN E/W PASSAGE. 29 YOU ARE IN THE SOUTH SIDE CHAMBER. 30 YOU ARE IN THE WEST SIDE CHAMBER OF HALL OF MT KING. 30 A PASSAGE CONTINUES WEST AND UP HERE. 31 THERE IS NO WAY ACROSS THE FISSURE. 32 YOU CAN'T GET BY THE SNAKE 33 YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, 33 A PASSAGE TO THE WEST, AND A WALL OF BROKEN ROCK TO 33 THE EAST. THERE IS A LARGE 'Y2' ON A ROCK IN ROOMS CENTER. 34 YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. 35 YOU ARE AT A WINDOW ON A HUGE PIT, WHICH GOES UP AND 35 DOWN OUT OF SIGHT. A FLOOR IS INDISTINCTLY VISIBLE 35 OVER 50 FEET BELOW. DIRECTLY OPPOSITE YOU AND 25 FEET AWAY 35 THERE IS A SIMILAR WINDOW. 36 YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. 36 TO THE WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO 36 ANOTHER PASSAGE. 37 YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. 37 A CRAWL LEADS WEST. 38 YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE 38 STREAM, WHICH ENTERS AND EXITS THROUGH TINY SLITS. 39 YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A 39 BIG HOLE IN THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND 39 A PASSAGE LEADING EAST. 40 YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL 40 TO AND NORTH OF THE HALL OF MISTS. 41 YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL 41 CONTINUES WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A 41 LITTLE PASSAGE 6 FEET OFF THE FLOOR. 42 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 43 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 44 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 45 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 46 DEAD END 47 DEAD END 48 DEAD END 49 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 50 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 51 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 52 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 53 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 54 DEAD END 55 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 56 DEAD END 57 YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE 57 ORANGE COLUMN DOWN ONE WALL. YOU COULD CLIMB DOWN HERE 57 BUT YOU COULD NOT GET BACK UP. THE MAZE CONTINUES AT THIS 57 LEVEL. 58 DEAD END 59 YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL 59 TO AND NORTH OF THE HALL OF MISTS. 60 YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY 60 WITHOUT SIDE CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS 60 UP. TO THE NORTH A ROUND TWO FOOT HOLE SLANTS DOWN. 61 YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. 62 YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. 63 DEAD END 64 YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES 64 PASSAGE FROM THE NORTH JOINS A HIGHER CRAWL 64 FROM THE EAST TO MAKE A WALKING PASSAGE GOING WEST 64 THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. 64 A SIGN IN MIDAIR HERE SAYS 'CAVE UNDER CONSTRUCTION BEYOND 64 THIS POINT. PROCEED AT OWN RISK.' 65 YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. 65 TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. 66 YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. 66 OBVIOUS PASSAGES GO WEST,EAST,NE, AND 66 NW. PART OF THE ROOM IS OCCUPIED BY A LARGE BEDROCK BLOCK. 67 YOU ARE IN THE TWOPIT ROOM. THE FLOOR 67 HERE IS LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT 67 EASY TO DESCEND THE PITS. THERE IS A PATH HERE BYPASSING 67 THE PITS TO CONNECT PASSAGES FROM EAST AND WEST.THERE 67 ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE WALL 67 DIRECTLY OVER THE EAST PIT WHERE YOU CAN'T GET TO IT. 68 YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN 68 IMMENSE SLAB FALLEN FROM THE CEILING(SLAB ROOM). EAST AND 68 WEST THERE ONCE WERE LARGE PASSAGES, BUT THEY ARE NOW FILLED 68 WITH BOULDERS. LOW SMALL PASSAGES GO NORTH AND SOUTH, AND THE 68 SOUTH ONE QUICKLY BENDS WEST AROUND THE BOULDERS. 69 YOU ARE IN A SECRET NS CANYON ABOVE A LARGE ROOM. 70 YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. 71 YOU ARE IN SECRET CANYON AT A JUNCTION OF THREE CANYONS, 71 BEARING NORTH, SOUTH, AND SE. THE NORTH ONE IS AS TALL 71 AS THE OTHER TWO COMBINED. 72 YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD N, SE, AND SW. 73 DEAD END CRAWL. 74 YOU ARE IN SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER 74 A VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY 74 NOT BE ABLE TO GET BACK UP 75 YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. 76 THE CANYON HERE BECOMES TO TIGHT TO GO FURTHER SOUTH. 77 YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET 77 NORTH AND SEEMS TO OPEN UP. 78 THE CANYON RUNS INTO A MASS OF BOULDERS - DEAD END. 79 THE STREAM FLOWS OUT THROUGH A PAIR OF 1 FOOT DIAMETER SEWER 79 PIPES. IT WOULD BE ADVISABLE TO USE THE DOOR. -1 END 2 1 YOU'RE AT END OF ROAD AGAIN. 2 YOU'RE AT HILL IN ROAD. 3 YOU'RE INSIDE BUILDING. 4 YOU'RE IN VALLEY 5 YOU'RE IN FOREST 6 YOU'RE IN FOREST 7 YOU'RE AT SLIT IN STREAMBED 8 YOU'RE OUTSIDE GRATE 9 YOU'RE BELOW THE GRATE 10 YOU'RE IN COBBLE CRAWL 11 YOU'RE IN DEBRIS ROOM. 13 YOU'RE IN BIRD CHAMBER. 14 YOU'RE AT TOP OF SMALL PIT. 15 YOU'RE IN HALL OF MISTS. 17 YOU'RE ON EAST BANK OF FISSURE. 18 YOU'RE IN NUGGET OF GOLD ROOM. 19 YOU'RE IN HALL OF MT KING. 33 YOU'RE AT Y2 35 YOU'RE AT WINDOW ON PIT 36 YOU'RE IN DIRTY PASSAGE 39 YOU'RE N DUSTY ROCK ROOM. 41 YOU'RE AT WEST END OF HALL OF MISTS. 57 YOU'RE AT BRINK OF PIT. 60 YOU'RE AT EAST END OF LONG HALL. 66 YOU'RE IN SWISS CHEESE ROOM 67 YOU'RE IN TWOPIT ROOM 68 YOU'RE IN SLAB ROOM -1 3 1 2 2 44 1 3 3 12 19 43 1 4 4 5 13 14 46 30 1 5 6 45 43 1 8 49 2 1 8 2 12 7 43 45 30 2 5 6 45 46 3 1 3 11 32 44 3 11 48 3 33 65 3 79 5 14 4 1 4 45 4 5 6 43 44 29 4 7 5 46 30 4 8 49 5 4 9 43 30 5 300 6 7 8 45 5 5 44 46 6 1 2 45 6 4 9 43 44 30 6 5 6 46 7 1 12 7 4 4 45 7 5 6 43 44 7 8 5 15 16 46 30 7 24 47 14 30 8 5 6 43 44 46 8 1 12 8 7 4 13 45 8 301 3 5 19 30 9 302 11 12 9 10 17 18 19 44 9 14 31 9 11 51 10 9 11 20 21 43 10 11 19 22 44 51 10 14 31 11 310 49 11 10 17 18 23 24 43 11 12 25 305 19 29 44 11 3 48 11 14 31 12 310 49 12 11 30 43 51 12 13 19 29 44 12 14 31 13 310 49 13 11 51 13 12 25 305 43 13 14 23 31 44 14 310 49 14 11 51 14 13 23 43 14 303 30 31 34 14 16 33 44 15 18 36 46 15 17 7 38 44 15 19 10 30 45 15 304 29 31 34 35 23 43 15 34 55 15 62 69 16 14 1 17 15 8 38 43 17 305 7 17 306 40 41 42 44 19 39 18 15 38 11 8 45 19 15 10 29 43 19 307 45 36 19 308 46 37 19 309 44 7 19 74 66 20 26 1 21 26 1 22 15 1 23 8 1 24 7 1 25 9 1 27 17 8 11 38 27 40 45 27 41 44 28 19 38 11 46 28 33 45 28 36 30 52 29 19 38 11 45 30 19 38 11 43 30 62 44 29 31 17 1 32 19 1 33 3 65 33 28 46 33 34 43 53 54 33 35 44 34 33 30 34 15 29 35 33 43 55 36 37 43 17 36 28 29 52 36 39 44 37 36 44 17 37 38 30 31 56 38 37 56 29 39 36 43 39 64 30 52 58 39 65 70 40 41 1 41 42 46 29 23 56 41 27 43 41 59 45 41 60 44 17 42 41 44 42 43 43 42 44 46 43 42 44 43 44 46 43 45 43 44 42 45 44 43 43 44 48 30 44 50 46 45 43 45 45 46 43 45 47 46 46 45 44 11 47 45 45 11 48 44 29 11 49 50 30 43 49 51 44 50 44 43 50 49 44 29 50 52 46 51 49 44 51 52 43 51 53 46 52 50 45 52 51 44 52 53 29 52 55 43 53 51 44 53 52 45 53 54 46 54 53 43 11 55 52 44 55 56 30 55 57 43 56 55 29 11 57 55 44 57 58 46 57 13 30 56 58 57 44 11 59 27 1 60 41 43 29 60 61 44 60 62 45 30 61 60 43 11 62 60 44 62 63 45 62 30 43 62 15 46 63 62 46 11 64 39 29 56 59 64 65 44 65 64 43 65 66 44 65 68 61 65 311 46 65 312 29 66 313 45 66 65 60 66 67 44 66 77 25 66 314 46 67 66 43 67 72 60 68 66 46 68 69 29 69 68 30 69 74 46 70 71 45 71 39 29 71 65 62 71 70 46 72 67 63 72 73 45 73 72 46 74 19 43 74 69 44 74 75 30 75 76 46 75 77 45 76 75 45 77 75 43 77 78 44 77 66 45 78 77 46 79 3 1 -1 4 2 ROAD 3 ENTER 3 DOOR 3 GATE 4 UPSTR 5 DOWNS 6 FORES 7 FORWA 7 CONTI 7 ONWAR 8 BACK 8 RETUR 8 RETRE 9 VALLE 10 STAIR 11 OUT 11 OUTSI 11 EXIT 11 LEAVE 12 BUILD 12 BLD 12 HOUSE 13 GULLY 14 STREA 15 ROCK 16 BED 17 CRAWL 18 COBBL 19 INWAR 19 INSID 19 IN 20 SURFA 21 NULL 21 NOWHE 22 DARK 23 PASSA 24 LOW 25 CANYO 26 AWKWA 29 UPWAR 29 UP 29 U 29 ABOVE 30 D 30 DOWNW 30 DOWN 31 PIT 32 OUTDO 33 CRACK 34 STEPS 35 DOME 36 LEFT 37 RIGHT 38 HALL 39 JUMP 40 MAGIC 41 OVER 42 ACROS 43 EAST 43 E 44 WEST 44 W 45 NORTH 45 N 46 SOUTH 46 S 47 SLIT 48 XYZZY 49 DEPRE 50 ENTRA 51 DEBRI 52 HOLE 53 WALL 54 BROKE 55 Y2 56 CLIMB 57 LOOK 57 EXAMI 57 TOUCH 57 LOOKA 58 FLOOR 59 ROOM 60 NE 61 SLAB 61 SLABR 62 SE 63 SW 64 NW 65 PLUGH 66 SECRE 67 CAVE 68 TURN 69 CROSS 70 BEDQU 1001 KEYS 1001 KEY 1002 LAMP 1002 HEADL 1003 GRATE 1004 CAGE 1005 ROD 1006 STEPS 1007 BIRD 1010 NUGGE 1010 GOLD 1011 SNAKE 1012 FISSU 1013 DIAMO 1014 SILVE 1014 BARS 1015 JEWEL 1016 COINS 1017 DWARV 1017 DWARF 1018 KNIFE 1018 KNIVE 1018 ROCK 1018 WEAPO 1018 BOULD 1019 FOOD 1019 RATIO 1020 WATER 1020 BOTTL 1021 AXE 1022 KNIFE 1023 CHEST 1023 BOX 1023 TREAS 2001 TAKE 2001 CARRY 2001 KEEP 2001 PICKU 2001 PICK 2001 WEAR 2001 CATCH 2001 STEAL 2001 CAPTU 2001 FIND 2001 WHERE 2001 GET 2002 RELEA 2002 FREE 2002 DISCA 2002 DROP 2002 DUMP 2003 DUMMY 2004 UNLOC 2004 OPEN 2004 LIFT 2005 NOTHI 2005 HOLD 2006 LOCK 2006 CLOSE 2007 LIGHT 2007 ON 2008 EXTIN 2008 OFF 2009 STRIK 2010 CALM 2010 WAVE 2010 SHAKE 2010 SING 2010 CLEAV 2011 WALK 2011 RUN 2011 TRAVE 2011 GO 2011 PROCE 2011 CONTI 2011 EXPLO 2011 GOTO 2011 FOLLO 2012 ATTAC 2012 KILL 2012 STAB 2012 FIGHT 2012 HIT 2013 POUR 2014 EAT 2015 DRINK 2016 RUB 3050 OPENS 3051 HELP 3051 ? 3051 WHAT 3064 TREE 3066 DIG 3066 EXCIV 3067 BLAST 3068 LOST 3069 MIST 3049 THROW 3079 FUCK -1 5 201 THERE ARE SOME KEYS ON THE GROUND HERE. 202 THERE IS A SHINY BRASS LAMP NEARBY. 3 THE GRATE IS LOCKED 103 THE GRATE IS OPEN. 204 THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. 205 A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY 206 ROUGH STONE STEPS LEAD DOWN THE PIT. 7 A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. 107 THERE IS A LITTLE BIRD IN THE CAGE. 8 THE GRATE IS LOCKED 108 THE GRATE IS OPEN. 209 ROUGH STONE STEPS LEAD UP THE DOME. 210 THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! 11 A HUGE GREEN FIERCE SNAKE BARS THE WAY! 112 A CRYSTAL BRIDGE NOW SPANS THE FISSURE. 213 THERE ARE DIAMONDS HERE! 214 THERE ARE BARS OF SILVER HERE! 215 THERE IS PRECIOUS JEWELRY HERE! 216 THERE ARE MANY COINS HERE! 19 THERE IS FOOD HERE. 20 THERE IS A BOTTLE OF WATER HERE. 120 THERE IS AN EMPTY BOTTLE HERE. 221 THERE IS A LITTLE AXE HERE -1 6 1 SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND 1 FORTUNES IN TREASURE AND GOLD, THOUGH IT IS RUMORED 1 THAT SOME WHO ENTER ARE NEVER SEEN AGAIN. MAGIC IS SAID 1 TO WORK IN THE CAVE. I WILL BE YOUR EYES AND HANDS. DIRECT 1 ME WITH COMMANDS OF 1 OR 2 WORDS. 1 (ERRORS, SUGGESTIONS, COMPLAINTS TO CROWTHER) 1 (IF STUCK TYPE HELP FOR SOME HINTS) 2 A LITTLE DWARF WITH A BIG KNIFE BLOCKS YOUR WAY. 3 A LITTLE DWARF JUST WALKED AROUND A CORNER,SAW YOU, THREW 3 A LITTLE AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. 4 THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! 5 ONE SHARP NASTY KNIFE IS THROWN AT YOU! 6 HE GETS YOU! 7 NONE OF THEM HIT YOU! 8 A HOLLOW VOICE SAYS 'PLUGH' 9 THERE IS NO WAY TO GO THAT DIRECTION. 10 I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR 10 NEARBY OBJECTS. 11 I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME 11 SOMETHING IN THE GENERAL DIRECTION YOU WANT TO GO. 12 I DON'T KNOW HOW TO APPLY THAT WORD HERE. 13 I DON'T UNDERSTAND THAT! 14 I ALWAYS UNDERSTAND COMPASS DIRECTIONS, OR YOU CAN NAME 14 A NEARBY THING TO HEAD THAT WAY. 15 SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL 15 REPEAT THE LONG DESCRIPTION OF YOUR LOCATION. 16 IT IS NOW PITCH BLACK. IF YOU PROCEED YOU WILL LIKELY 16 FALL INTO A PIT. 17 IF YOU PREFER, SIMPLY TYPE W RATHER THAN WEST. 18 ARE YOU TRYING TO CATCH THE BIRD? 19 THE BIRD IS FRIGHTENED RIGHT NOW AND YOU CANNOT CATCH IT 19 NO MATTER WHAT YOU TRY. PERHAPS YOU MIGHT TRY LATER. 20 ARE YOU TRYING TO ATTACK OR AVOID THE SNAKE? 21 YOU CAN'T KILL THE SNAKE, OR DRIVE IT AWAY, OR AVOID IT, 21 OR ANYTHING LIKE THAT. THERE IS A WAY TO GET BY, BUT YOU 21 DON'T HAVE THE NECESSARY RESOURCES RIGHT NOW. 22 MY WORD FOR HITTING SOMETHING WITH THE ROD IS 'STRIKE'. 23 YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! 24 YOU ARE ALREADY CARRYING IT! 25 YOU CAN'T BE SERIOUS! 26 THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH 26 IT BECOMES DISTURBED AND YOU CANNOT CATCH IT. 27 YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. 28 THERE IS NOTHING HERE WITH A LOCK! 29 YOU AREN'T CARRYING IT! 30 THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN 30 ASTOUNDING FLURRY DRIVES THE SNAKE AWAY. 31 YOU HAVE NO KEYS! 32 IT HAS NO LOCK. 33 I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING. 34 THE GRATE WAS ALREADY LOCKED. 35 THE GRATE IS NOW LOCKED. 36 THE GRATE WAS ALREADY UNLOCKED. 37 THE GRATE IS NOW UNLOCKED. 38 YOU HAVE NO SOURCE OF LIGHT. 39 YOUR LAMP IS NOW ON. 40 YOUR LAMP IS NOW OFF. 41 STRIKE WHAT? 42 NOTHING HAPPENS. 43 WHERE? 44 THERE IS NOTHING HERE TO ATTACK. 45 THE LITTLE BIRD IS NOW DEAD. ITS BODY DISAPPEARS. 46 ATTACKING THE SNAKE BOTH DOESN'T WORK AND IS VERY DANGEROUS. 47 YOU KILLED A LITTLE DWARF. 48 YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. 49 I HAVE TROUBLE WITH THE WORD 'THROW' BECAUSE YOU CAN THROW 49 A THING OR THROW AT A THING. PLEASE USE DROP OR ATTACK INSTEAD. 50 GOOD TRY, BUT THAT IS AN OLD WORN-OUT MAGIC WORD. 51 I KNOW OF PLACES, ACTIONS, AND THINGS. MOST OF MY VOCABULARY 51 DESCRIBES PLACES AND IS USED TO MOVE YOU THERE. TO MOVE TRY 51 WORDS LIKE FOREST, BUILDING, DOWNSTREAM, ENTER, EAST, WEST 51 NORTH, SOUTH, UP, OR DOWN. I KNOW ABOUT A FEW SPECIAL OBJECTS, 51 LIKE A BLACK ROD HIDDEN IN THE CAVE. THESE OBJECTS CAN BE 51 MANIPULATED USING ONE OF THE ACTION WORDS THAT I KNOW. USUALLY 51 YOU WILL NEED TO GIVE BOTH THE OBJECT AND ACTION WORDS 51 (IN EITHER ORDER), BUT SOMETIMES I CAN INFER THE OBJECT FROM 51 THE VERB ALONE. THE OBJECTS HAVE SIDE EFFECTS - FOR 51 INSTANCE, THE ROD SCARES THE BIRD. 51 USUALLY PEOPLE HAVING TROUBLE MOVING JUST NEED TO TRY A FEW 51 MORE WORDS. USUALLY PEOPLE TRYING TO MANIPULATE AN 51 OBJECT ARE ATTEMPTING SOMETHING BEYOND THEIR (OR MY!) 51 CAPABILITIES AND SHOULD TRY A COMPLETELY DIFFERENT TACK. 51 TO SPEED THE GAME YOU CAN SOMETIMES MOVE LONG DISTANCES 51 WITH A SINGLE WORD. FOR EXAMPLE, 'BUILDING' USUALLY GETS 51 YOU TO THE BUILDING FROM ANYWHERE ABOVE GROUND EXCEPT WHEN 51 LOST IN THE FOREST. ALSO, NOTE THAT CAVE PASSAGES TURN A 51 LOT, AND THAT LEAVING A ROOM TO THE NORTH DOES NOT GUARANTEE 51 ENTERING THE NEXT FROM THE SOUTH. GOOD LUCK! 52 IT MISSES! 53 IT GETS YOU! 54 OK 55 YOU CAN'T UNLOCK THE KEYS. 56 YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP 56 BACK IN THE MAIN PASSAGE. 57 I DON'T KNOW WHERE THE CAVE IS, BUT HEREABOUTS NO STREAM 57 CAN RUN ON THE SURFACE FOR LONG. I WOULD TRY THE STREAM. 58 I NEED MORE DETAILED INSTRUCTIONS TO DO THAT. 59 I CAN ONLY TELL YOU WHAT YOU SEE AS YOU MOVE ABOUT 59 AND MANIPULATE THINGS. I CANNOT TELL YOU WHERE REMOTE THINGS 59 ARE. 60 I DON'T KNOW THAT WORD. 61 WHAT? 62 ARE YOU TRYING TO GET INTO THE CAVE? 63 THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU 63 CANNOT ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. 63 I WOULD RECOMMEND LOOKING ELSEWHERE FOR THE KEYS. 64 THE TREES OF THE FOREST ARE LARGE HARDWOOD OAK AND MAPLE, 64 WITH AN OCCASIONAL GROVE OF PINE OR SPRUCE. THERE IS QUITE 64 A BIT OF UNDERGROWTH, LARGELY BIRCH AND ASH SAPLINGS PLUS 64 NONDESCRITPT BUSHES OF VARIOUS SORTS. THIS TIME OF YEAR 64 VISIBILITY IS QUITE RESTRICTED BY ALL THE LEAVES, BUT TRAVEL 64 IS QUITE EASY IF YOU DETOUR AROUND THE SPRUCE AND BERRY BUSHES. 65 WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? 66 DIGGING WITHOUT A SHOVEL IS QUITE IMPRACTICAL: EVEN WITH A 66 SHOVEL PROGRESS IS UNLIKELY. 67 BLASTING REQUIRES DYNAMITE. 68 I'M AS CONFUSED AS YOU ARE. 69 MIST IS A WHITE VAPOR, USUALLY WATER, SEEN FROM TIME TO TIME 69 IN CAVERNS. IT CAN BE FOUND ANYWHERE BUT IS FREQUENTLY A SIGN 69 OF A DEEP PIT LEADING DOWN TO WATER. 70 YOUR FEET ARE NOW WET. 71 THERE IS NOTHING HERE TO EAT. 72 EATEN! 73 THERE IS NO DRINKABLE WATER HERE. 74 THE BOTTLE OF WATER IS NOW EMPTY. 75 RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. 75 ANYWAY, NOTHING EXCITING HAPPENS. 76 PECULIAR. NOTHING UNEXPECTED HAPPENS. 77 YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. 78 YOU CAN'T POUR THAT. 79 WATCH IT! 80 WHICH WAY? -1 0


Original fortran code for Adventure - part 2

Posted in Text-based gaming on 01 - February 2008 at 02:55 PM (14 years ago) 10 views.

Cross posting this to reduce possibility of link rot and preserve important part of our heritage: Source: [url=http://jerz.setonhill.edu/if/crowther/]http://jerz.setonhill.edu/if/crowther/[/url] Original news story: [url=http://www.gamedev.net/community/forums/topic.asp?topic_id=460192]http://www.gamedev.net/community/forums/topic.asp?topic_id=460192[/url] If you are the owner of this code, and would like me to remove it, please let me know. kthxbai. 1 1 YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK 1 BUILDING . AROUND YOU IS A FOREST. A SMALL 1 STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY. 2 YOU HAVE WALKED UP A HILL, STILL IN THE FOREST 2 THE ROAD NOW SLOPES BACK DOWN THE OTHER SIDE OF THE HILL. 2 THERE IS A BUILDING IN THE DISTANCE. 3 YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. 4 YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING 4 ALONG A ROCKY BED. 5 YOU ARE IN OPEN FOREST, WITH A DEEP VALLEY TO ONE SIDE. 6 YOU ARE IN OPEN FOREST NEAR BOTH A VALLEY AND A ROAD. 7 AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A 7 2 INCH SLIT IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK. 8 YOU ARE IN A 20 FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO 8 THE DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY 8 STREAMBED LEADS INTO THE DEPRESSION. 9 YOU ARE IN A SMALL CHAMBER BENEATH A 3X3 STEEL GRATE TO THE 9 SURFACE. A LOW CRAWL OVER COBBLES LEADS INWARD TO THE WEST. 10 YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A 10 DIM LIGHT AT THE EAST END OF THE PASSAGE. 11 YOU ARE IN A DEBRIS ROOM, FILLED WITH STUFF WASHED IN FROM 11 THE SURFACE. A LOW WIDE PASSAGE WITH COBBLES BECOMES 11 PLUGGED WITH MUD AND DEBRIS HERE,BUT AN AWKWARD CANYON 11 LEADS UPWARD AND WEST. 11 A NOTE ON THE WALL SAYS 'MAGIC WORD XYZZY'. 12 YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. 13 YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS 13 ARE FROZEN RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A 13 GOOD PASSAGE EXIT FROM EAST AND WEST SIDES OF THE CHAMBER. 14 AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN 14 EAST PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. 15 YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF 15 SIGHT TO THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE 15 STONE STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH 15 WISPS OF WHITE MIST SWAYING TO AND FRO ALMOST AS IF ALIVE. 15 A COLD WIND BLOWS UP THE STAIRCASE. THERE IS A PASSAGE 15 AT THE TOP OF A DOME BEHIND YOU. 16 THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. 17 YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS 17 THE HALL. THE MIST IS QUITE THICK HERE, AND THE FISSURE IS 17 TOO WIDE TO JUMP. 18 THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. 18 IT SAYS 'YOU WON'T GET IT UP THE STEPS'. 19 YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES 19 OFF IN ALL DIRECTIONS. 20 YOU ARE AT THE BOTTOM OF THE PIT WITH A BROKEN NECK. 21 YOU DIDN'T MAKE IT 22 THE DOME IS UNCLIMBABLE 23 YOU CAN'T GO IN THROUGH A LOCKED STEEL GRATE! 24 YOU DON'T FIT DOWN A TWO INCH HOLE! 25 YOU CAN'T GO THROUGH A LOCKED STEEL GRATE. 27 YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. 28 YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. 28 THE HOLE GOES DOWN TO AN E/W PASSAGE. 29 YOU ARE IN THE SOUTH SIDE CHAMBER. 30 YOU ARE IN THE WEST SIDE CHAMBER OF HALL OF MT KING. 30 A PASSAGE CONTINUES WEST AND UP HERE. 31 THERE IS NO WAY ACROSS THE FISSURE. 32 YOU CAN'T GET BY THE SNAKE 33 YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, 33 A PASSAGE TO THE WEST, AND A WALL OF BROKEN ROCK TO 33 THE EAST. THERE IS A LARGE 'Y2' ON A ROCK IN ROOMS CENTER. 34 YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. 35 YOU ARE AT A WINDOW ON A HUGE PIT, WHICH GOES UP AND 35 DOWN OUT OF SIGHT. A FLOOR IS INDISTINCTLY VISIBLE 35 OVER 50 FEET BELOW. DIRECTLY OPPOSITE YOU AND 25 FEET AWAY 35 THERE IS A SIMILAR WINDOW. 36 YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. 36 TO THE WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO 36 ANOTHER PASSAGE. 37 YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. 37 A CRAWL LEADS WEST. 38 YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE 38 STREAM, WHICH ENTERS AND EXITS THROUGH TINY SLITS. 39 YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A 39 BIG HOLE IN THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND 39 A PASSAGE LEADING EAST. 40 YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL 40 TO AND NORTH OF THE HALL OF MISTS. 41 YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL 41 CONTINUES WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A 41 LITTLE PASSAGE 6 FEET OFF THE FLOOR. 42 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 43 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 44 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 45 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 46 DEAD END 47 DEAD END 48 DEAD END 49 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 50 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 51 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 52 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 53 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 54 DEAD END 55 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. 56 DEAD END 57 YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE 57 ORANGE COLUMN DOWN ONE WALL. YOU COULD CLIMB DOWN HERE 57 BUT YOU COULD NOT GET BACK UP. THE MAZE CONTINUES AT THIS 57 LEVEL. 58 DEAD END 59 YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL 59 TO AND NORTH OF THE HALL OF MISTS. 60 YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY 60 WITHOUT SIDE CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS 60 UP. TO THE NORTH A ROUND TWO FOOT HOLE SLANTS DOWN. 61 YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. 62 YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. 63 DEAD END 64 YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES 64 PASSAGE FROM THE NORTH JOINS A HIGHER CRAWL 64 FROM THE EAST TO MAKE A WALKING PASSAGE GOING WEST 64 THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. 64 A SIGN IN MIDAIR HERE SAYS 'CAVE UNDER CONSTRUCTION BEYOND 64 THIS POINT. PROCEED AT OWN RISK.' 65 YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. 65 TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. 66 YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. 66 OBVIOUS PASSAGES GO WEST,EAST,NE, AND 66 NW. PART OF THE ROOM IS OCCUPIED BY A LARGE BEDROCK BLOCK. 67 YOU ARE IN THE TWOPIT ROOM. THE FLOOR 67 HERE IS LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT 67 EASY TO DESCEND THE PITS. THERE IS A PATH HERE BYPASSING 67 THE PITS TO CONNECT PASSAGES FROM EAST AND WEST.THERE 67 ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE WALL 67 DIRECTLY OVER THE EAST PIT WHERE YOU CAN'T GET TO IT. 68 YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN 68 IMMENSE SLAB FALLEN FROM THE CEILING(SLAB ROOM). EAST AND 68 WEST THERE ONCE WERE LARGE PASSAGES, BUT THEY ARE NOW FILLED 68 WITH BOULDERS. LOW SMALL PASSAGES GO NORTH AND SOUTH, AND THE 68 SOUTH ONE QUICKLY BENDS WEST AROUND THE BOULDERS. 69 YOU ARE IN A SECRET NS CANYON ABOVE A LARGE ROOM. 70 YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. 71 YOU ARE IN SECRET CANYON AT A JUNCTION OF THREE CANYONS, 71 BEARING NORTH, SOUTH, AND SE. THE NORTH ONE IS AS TALL 71 AS THE OTHER TWO COMBINED. 72 YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD N, SE, AND SW. 73 DEAD END CRAWL. 74 YOU ARE IN SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER 74 A VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY 74 NOT BE ABLE TO GET BACK UP 75 YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. 76 THE CANYON HERE BECOMES TO TIGHT TO GO FURTHER SOUTH. 77 YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET 77 NORTH AND SEEMS TO OPEN UP. 78 THE CANYON RUNS INTO A MASS OF BOULDERS - DEAD END. 79 THE STREAM FLOWS OUT THROUGH A PAIR OF 1 FOOT DIAMETER SEWER 79 PIPES. IT WOULD BE ADVISABLE TO USE THE DOOR. -1 END 2 1 YOU'RE AT END OF ROAD AGAIN. 2 YOU'RE AT HILL IN ROAD. 3 YOU'RE INSIDE BUILDING. 4 YOU'RE IN VALLEY 5 YOU'RE IN FOREST 6 YOU'RE IN FOREST 7 YOU'RE AT SLIT IN STREAMBED 8 YOU'RE OUTSIDE GRATE 9 YOU'RE BELOW THE GRATE 10 YOU'RE IN COBBLE CRAWL 11 YOU'RE IN DEBRIS ROOM. 13 YOU'RE IN BIRD CHAMBER. 14 YOU'RE AT TOP OF SMALL PIT. 15 YOU'RE IN HALL OF MISTS. 17 YOU'RE ON EAST BANK OF FISSURE. 18 YOU'RE IN NUGGET OF GOLD ROOM. 19 YOU'RE IN HALL OF MT KING. 33 YOU'RE AT Y2 35 YOU'RE AT WINDOW ON PIT 36 YOU'RE IN DIRTY PASSAGE 39 YOU'RE N DUSTY ROCK ROOM. 41 YOU'RE AT WEST END OF HALL OF MISTS. 57 YOU'RE AT BRINK OF PIT. 60 YOU'RE AT EAST END OF LONG HALL. 66 YOU'RE IN SWISS CHEESE ROOM 67 YOU'RE IN TWOPIT ROOM 68 YOU'RE IN SLAB ROOM -1 3 1 2 2 44 1 3 3 12 19 43 1 4 4 5 13 14 46 30 1 5 6 45 43 1 8 49 2 1 8 2 12 7 43 45 30 2 5 6 45 46 3 1 3 11 32 44 3 11 48 3 33 65 3 79 5 14 4 1 4 45 4 5 6 43 44 29 4 7 5 46 30 4 8 49 5 4 9 43 30 5 300 6 7 8 45 5 5 44 46 6 1 2 45 6 4 9 43 44 30 6 5 6 46 7 1 12 7 4 4 45 7 5 6 43 44 7 8 5 15 16 46 30 7 24 47 14 30 8 5 6 43 44 46 8 1 12 8 7 4 13 45 8 301 3 5 19 30 9 302 11 12 9 10 17 18 19 44 9 14 31 9 11 51 10 9 11 20 21 43 10 11 19 22 44 51 10 14 31 11 310 49 11 10 17 18 23 24 43 11 12 25 305 19 29 44 11 3 48 11 14 31 12 310 49 12 11 30 43 51 12 13 19 29 44 12 14 31 13 310 49 13 11 51 13 12 25 305 43 13 14 23 31 44 14 310 49 14 11 51 14 13 23 43 14 303 30 31 34 14 16 33 44 15 18 36 46 15 17 7 38 44 15 19 10 30 45 15 304 29 31 34 35 23 43 15 34 55 15 62 69 16 14 1 17 15 8 38 43 17 305 7 17 306 40 41 42 44 19 39 18 15 38 11 8 45 19 15 10 29 43 19 307 45 36 19 308 46 37 19 309 44 7 19 74 66 20 26 1 21 26 1 22 15 1 23 8 1 24 7 1 25 9 1 27 17 8 11 38 27 40 45 27 41 44 28 19 38 11 46 28 33 45 28 36 30 52 29 19 38 11 45 30 19 38 11 43 30 62 44 29 31 17 1 32 19 1 33 3 65 33 28 46 33 34 43 53 54 33 35 44 34 33 30 34 15 29 35 33 43 55 36 37 43 17 36 28 29 52 36 39 44 37 36 44 17 37 38 30 31 56 38 37 56 29 39 36 43 39 64 30 52 58 39 65 70 40 41 1 41 42 46 29 23 56 41 27 43 41 59 45 41 60 44 17 42 41 44 42 43 43 42 44 46 43 42 44 43 44 46 43 45 43 44 42 45 44 43 43 44 48 30 44 50 46 45 43 45 45 46 43 45 47 46 46 45 44 11 47 45 45 11 48 44 29 11 49 50 30 43 49 51 44 50 44 43 50 49 44 29 50 52 46 51 49 44 51 52 43 51 53 46 52 50 45 52 51 44 52 53 29 52 55 43 53 51 44 53 52 45 53 54 46 54 53 43 11 55 52 44 55 56 30 55 57 43 56 55 29 11 57 55 44 57 58 46 57 13 30 56 58 57 44 11 59 27 1 60 41 43 29 60 61 44 60 62 45 30 61 60 43 11 62 60 44 62 63 45 62 30 43 62 15 46 63 62 46 11 64 39 29 56 59 64 65 44 65 64 43 65 66 44 65 68 61 65 311 46 65 312 29 66 313 45 66 65 60 66 67 44 66 77 25 66 314 46 67 66 43 67 72 60 68 66 46 68 69 29 69 68 30 69 74 46 70 71 45 71 39 29 71 65 62 71 70 46 72 67 63 72 73 45 73 72 46 74 19 43 74 69 44 74 75 30 75 76 46 75 77 45 76 75 45 77 75 43 77 78 44 77 66 45 78 77 46 79 3 1 -1 4 2 ROAD 3 ENTER 3 DOOR 3 GATE 4 UPSTR 5 DOWNS 6 FORES 7 FORWA 7 CONTI 7 ONWAR 8 BACK 8 RETUR 8 RETRE 9 VALLE 10 STAIR 11 OUT 11 OUTSI 11 EXIT 11 LEAVE 12 BUILD 12 BLD 12 HOUSE 13 GULLY 14 STREA 15 ROCK 16 BED 17 CRAWL 18 COBBL 19 INWAR 19 INSID 19 IN 20 SURFA 21 NULL 21 NOWHE 22 DARK 23 PASSA 24 LOW 25 CANYO 26 AWKWA 29 UPWAR 29 UP 29 U 29 ABOVE 30 D 30 DOWNW 30 DOWN 31 PIT 32 OUTDO 33 CRACK 34 STEPS 35 DOME 36 LEFT 37 RIGHT 38 HALL 39 JUMP 40 MAGIC 41 OVER 42 ACROS 43 EAST 43 E 44 WEST 44 W 45 NORTH 45 N 46 SOUTH 46 S 47 SLIT 48 XYZZY 49 DEPRE 50 ENTRA 51 DEBRI 52 HOLE 53 WALL 54 BROKE 55 Y2 56 CLIMB 57 LOOK 57 EXAMI 57 TOUCH 57 LOOKA 58 FLOOR 59 ROOM 60 NE 61 SLAB 61 SLABR 62 SE 63 SW 64 NW 65 PLUGH 66 SECRE 67 CAVE 68 TURN 69 CROSS 70 BEDQU 1001 KEYS 1001 KEY 1002 LAMP 1002 HEADL 1003 GRATE 1004 CAGE 1005 ROD 1006 STEPS 1007 BIRD 1010 NUGGE 1010 GOLD 1011 SNAKE 1012 FISSU 1013 DIAMO 1014 SILVE 1014 BARS 1015 JEWEL 1016 COINS 1017 DWARV 1017 DWARF 1018 KNIFE 1018 KNIVE 1018 ROCK 1018 WEAPO 1018 BOULD 1019 FOOD 1019 RATIO 1020 WATER 1020 BOTTL 1021 AXE 1022 KNIFE 1023 CHEST 1023 BOX 1023 TREAS 2001 TAKE 2001 CARRY 2001 KEEP 2001 PICKU 2001 PICK 2001 WEAR 2001 CATCH 2001 STEAL 2001 CAPTU 2001 FIND 2001 WHERE 2001 GET 2002 RELEA 2002 FREE 2002 DISCA 2002 DROP 2002 DUMP 2003 DUMMY 2004 UNLOC 2004 OPEN 2004 LIFT 2005 NOTHI 2005 HOLD 2006 LOCK 2006 CLOSE 2007 LIGHT 2007 ON 2008 EXTIN 2008 OFF 2009 STRIK 2010 CALM 2010 WAVE 2010 SHAKE 2010 SING 2010 CLEAV 2011 WALK 2011 RUN 2011 TRAVE 2011 GO 2011 PROCE 2011 CONTI 2011 EXPLO 2011 GOTO 2011 FOLLO 2012 ATTAC 2012 KILL 2012 STAB 2012 FIGHT 2012 HIT 2013 POUR 2014 EAT 2015 DRINK 2016 RUB 3001 OPENS 3002 HELP 3002 ? 3002 WHAT 3003 TREE 3004 DIG 3004 EXCIV 3005 BLAST 3006 LOST 3007 MIST 3008 THROW 3009 FUCK -1 5 201 THERE ARE SOME KEYS ON THE GROUND HERE. 202 THERE IS A SHINY BRASS LAMP NEARBY. 3 THE GRATE IS LOCKED 103 THE GRATE IS OPEN. 204 THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. 205 A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY 206 ROUGH STONE STEPS LEAD DOWN THE PIT. 7 A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. 107 THERE IS A LITTLE BIRD IN THE CAGE. 8 THE GRATE IS LOCKED 108 THE GRATE IS OPEN. 209 ROUGH STONE STEPS LEAD UP THE DOME. 210 THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! 11 A HUGE GREEN FIERCE SNAKE BARS THE WAY! 112 A CRYSTAL BRIDGE NOW SPANS THE FISSURE. 213 THERE ARE DIAMONDS HERE! 214 THERE ARE BARS OF SILVER HERE! 215 THERE IS PRECIOUS JEWELRY HERE! 216 THERE ARE MANY COINS HERE! 19 THERE IS FOOD HERE. 20 THERE IS A BOTTLE OF WATER HERE. 120 THERE IS AN EMPTY BOTTLE HERE. 221 THERE IS A LITTLE AXE HERE -1 6 1 SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND 1 FORTUNES IN TREASURE AND GOLD, THOUGH IT IS RUMORED 1 THAT SOME WHO ENTER ARE NEVER SEEN AGAIN. MAGIC IS SAID 1 TO WORK IN THE CAVE. I WILL BE YOUR EYES AND HANDS. DIRECT 1 ME WITH COMMANDS OF 1 OR 2 WORDS. 1 (ERRORS, SUGGESTIONS, COMPLAINTS TO CROWTHER) 1 (IF STUCK TYPE HELP FOR SOME HINTS) 2 A LITTLE DWARF WITH A BIG KNIFE BLOCKS YOUR WAY. 3 A LITTLE DWARF JUST WALKED AROUND A CORNER,SAW YOU, THREW 3 A LITTLE AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. 4 THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! 5 ONE SHARP NASTY KNIFE IS THROWN AT YOU! 6 HE GETS YOU! 7 NONE OF THEM HIT YOU! 8 A HOLLOW VOICE SAYS 'PLUGH' 9 THERE IS NO WAY TO GO THAT DIRECTION. 10 I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR 10 NEARBY OBJECTS. 11 I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME 11 SOMETHING IN THE GENERAL DIRECTION YOU WANT TO GO. 12 I DON'T KNOW HOW TO APPLY THAT WORD HERE. 13 I DON'T UNDERSTAND THAT! 14 I ALWAYS UNDERSTAND COMPASS DIRECTIONS, OR YOU CAN NAME 14 A NEARBY THING TO HEAD THAT WAY. 15 SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL 15 REPEAT THE LONG DESCRIPTION OF YOUR LOCATION. 16 IT IS NOW PITCH BLACK. IF YOU PROCEED YOU WILL LIKELY 16 FALL INTO A PIT. 17 IF YOU PREFER, SIMPLY TYPE W RATHER THAN WEST. 18 ARE YOU TRYING TO CATCH THE BIRD? 19 THE BIRD IS FRIGHTENED RIGHT NOW AND YOU CANNOT CATCH IT 19 NO MATTER WHAT YOU TRY. PERHAPS YOU MIGHT TRY LATER. 20 ARE YOU TRYING TO ATTACK OR AVOID THE SNAKE? 21 YOU CAN'T KILL THE SNAKE, OR DRIVE IT AWAY, OR AVOID IT, 21 OR ANYTHING LIKE THAT. THERE IS A WAY TO GET BY, BUT YOU 21 DON'T HAVE THE NECESSARY RESOURCES RIGHT NOW. 22 MY WORD FOR HITTING SOMETHING WITH THE ROD IS 'STRIKE'. 23 YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! 24 YOU ARE ALREADY CARRYING IT! 25 YOU CAN'T BE SERIOUS! 26 THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH 26 IT BECOMES DISTURBED AND YOU CANNOT CATCH IT. 27 YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. 28 THERE IS NOTHING HERE WITH A LOCK! 29 YOU AREN'T CARRYING IT! 30 THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN 30 ASTOUNDING FLURRY DRIVES THE SNAKE AWAY. 31 YOU HAVE NO KEYS! 32 IT HAS NO LOCK. 33 I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING. 34 THE GRATE WAS ALREADY LOCKED. 35 THE GRATE IS NOW LOCKED. 36 THE GRATE WAS ALREADY UNLOCKED. 37 THE GRATE IS NOW UNLOCKED. 38 YOU HAVE NO SOURCE OF LIGHT. 39 YOUR LAMP IS NOW ON. 40 YOUR LAMP IS NOW OFF. 41 STRIKE WHAT? 42 NOTHING HAPPENS. 43 WHERE? 44 THERE IS NOTHING HERE TO ATTACK. 45 THE LITTLE BIRD IS NOW DEAD. ITS BODY DISAPPEARS. 46 ATTACKING THE SNAKE BOTH DOESN'T WORK AND IS VERY DANGEROUS. 47 YOU KILLED A LITTLE DWARF. 48 YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. 49 I HAVE TROUBLE WITH THE WORD 'THROW' BECAUSE YOU CAN THROW 49 A THING OR THROW AT A THING. PLEASE USE DROP OR ATTACK INSTEAD. 50 GOOD TRY, BUT THAT IS AN OLD WORN-OUT MAGIC WORD. 51 I KNOW OF PLACES, ACTIONS, AND THINGS. MOST OF MY VOCABULARY 51 DESCRIBES PLACES AND IS USED TO MOVE YOU THERE. TO MOVE TRY 51 WORDS LIKE FOREST, BUILDING, DOWNSTREAM, ENTER, EAST, WEST 51 NORTH, SOUTH, UP, OR DOWN. I KNOW ABOUT A FEW SPECIAL OBJECTS, 51 LIKE A BLACK ROD HIDDEN IN THE CAVE. THESE OBJECTS CAN BE 51 MANIPULATED USING ONE OF THE ACTION WORDS THAT I KNOW. USUALLY 51 YOU WILL NEED TO GIVE BOTH THE OBJECT AND ACTION WORDS 51 (IN EITHER ORDER), BUT SOMETIMES I CAN INFER THE OBJECT FROM 51 THE VERB ALONE. THE OBJECTS HAVE SIDE EFFECTS - FOR 51 INSTANCE, THE ROD SCARES THE BIRD. 51 USUALLY PEOPLE HAVING TROUBLE MOVING JUST NEED TO TRY A FEW 51 MORE WORDS. USUALLY PEOPLE TRYING TO MANIPULATE AN 51 OBJECT ARE ATTEMPTING SOMETHING BEYOND THEIR (OR MY!) 51 CAPABILITIES AND SHOULD TRY A COMPLETELY DIFFERENT TACK. 51 TO SPEED THE GAME YOU CAN SOMETIMES MOVE LONG DISTANCES 51 WITH A SINGLE WORD. FOR EXAMPLE, 'BUILDING' USUALLY GETS 51 YOU TO THE BUILDING FROM ANYWHERE ABOVE GROUND EXCEPT WHEN 51 LOST IN THE FOREST. ALSO, NOTE THAT CAVE PASSAGES TURN A 51 LOT, AND THAT LEAVING A ROOM TO THE NORTH DOES NOT GUARANTEE 51 ENTERING THE NEXT FROM THE SOUTH. GOOD LUCK! 52 IT MISSES! 53 IT GETS YOU! 54 OK 55 YOU CAN'T UNLOCK THE KEYS. 56 YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP 56 BACK IN THE MAIN PASSAGE. 57 I DON'T KNOW WHERE THE CAVE IS, BUT HEREABOUTS NO STREAM 57 CAN RUN ON THE SURFACE FOR LONG. I WOULD TRY THE STREAM. 58 I NEED MORE DETAILED INSTRUCTIONS TO DO THAT. 59 I CAN ONLY TELL YOU WHAT YOU SEE AS YOU MOVE ABOUT 59 AND MANIPULATE THINGS. I CANNOT TELL YOU WHERE REMOTE THINGS 59 ARE. 60 I DON'T KNOW THAT WORD. 61 WHAT? 62 ARE YOU TRYING TO GET INTO THE CAVE? 63 THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU 63 CANNOT ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. 63 I WOULD RECOMMEND LOOKING ELSEWHERE FOR THE KEYS. 64 THE TREES OF THE FOREST ARE LARGE HARDWOOD OAK AND MAPLE, 64 WITH AN OCCASIONAL GROVE OF PINE OR SPRUCE. THERE IS QUITE 64 A BIT OF UNDERGROWTH, LARGELY BIRCH AND ASH SAPLINGS PLUS 64 NONDESCRITPT BUSHES OF VARIOUS SORTS. THIS TIME OF YEAR 64 VISIBILITY IS QUITE RESTRICTED BY ALL THE LEAVES, BUT TRAVEL 64 IS QUITE EASY IF YOU DETOUR AROUND THE SPRUCE AND BERRY BUSHES. 65 WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? 66 DIGGING WITHOUT A SHOVEL IS QUITE IMPRACTICAL: EVEN WITH A 66 SHOVEL PROGRESS IS UNLIKELY. 67 BLASTING REQUIRES DYNAMITE. 68 I'M AS CONFUSED AS YOU ARE. 69 MIST IS A WHITE VAPOR, USUALLY WATER, SEEN FROM TIME TO TIME 69 IN CAVERNS. IT CAN BE FOUND ANYWHERE BUT IS FREQUENTLY A SIGN 69 OF A DEEP PIT LEADING DOWN TO WATER. 70 YOUR FEET ARE NOW WET. 71 THERE IS NOTHING HERE TO EAT. 72 EATEN! 73 THERE IS NO DRINKABLE WATER HERE. 74 THE BOTTLE OF WATER IS NOW EMPTY. 75 RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. 75 ANYWAY, NOTHING EXCITING HAPPENS. 76 PECULIAR. NOTHING UNEXPECTED HAPPENS. 77 YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. 78 YOU CAN'T POUR THAT. 79 WATCH IT! 80 WHICH WAY? -1 0


Original fortran code for Adventure - part 4

Posted in Text-based gaming on 01 - February 2008 at 02:55 PM (14 years ago) 9 views.

Cross posting this to reduce possibility of link rot and preserve important part of our heritage: Source: [url=http://jerz.setonhill.edu/if/crowther/]http://jerz.setonhill.edu/if/crowther/[/url] Original news story: [url=http://www.gamedev.net/community/forums/topic.asp?topic_id=460192]http://www.gamedev.net/community/forums/topic.asp?topic_id=460192[/url] If you are the owner of this code, and would like me to remove it, please let me know. kthxbai. C ADVENTURES IMPLICIT INTEGER(A-Z) REAL RAN COMMON RTEXT,LLINE DIMENSION IOBJ(300),ICHAIN(100),IPLACE(100) 1 ,IFIXED(100),COND(300),PROP(100),ABB(300),LLINE(1000,22) 2 ,LTEXT(300),STEXT(300),KEY(300),DEFAULT(300),TRAVEL(1000) 3 ,TK(25),KTAB(1000),ATAB(1000),BTEXT(200),DSEEN(10) 4 ,DLOC(10),ODLOC(10),DTRAV(20),RTEXT(100),JSPKT(100) 5 ,IPLT(100),IFIXT(100),QUIP(100) C READ THE PARAMETERS IF(SETUP.NE.0) GOTO 1 SETUP=1 KEYS=1 LAMP=2 GRATE=3 ROD=5 BIRD=7 NUGGET=10 SNAKE=11 FOOD=19 WATER=20 AXE=21 DATA(QUIP(I),I=1,9)/50,51,64,66,67,68,69,49,79/ DATA(JSPKT(I),I=1,16)/24,29,0,31,0,31,38,38,42,42,43,46,77,71 1 ,73,75/ DATA(IPLT(I),I=1,20)/3,3,8,10,11,14,13,9,15,18,19,17,27,28,29 1 ,30,0,0,3,3/ DATA(IFIXT(I),I=1,20)/0,0,1,0,0,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0/ DATA(DTRAV(I),I=1,15)/36,28,19,30,62,60,41,27,17,15,19,28,36 1 ,300,300/ DO 1001 I=1,300 STEXT(I)=0 IF(I.LE.200) BTEXT(I)=0 IF(I.LE.100)RTEXT(I)=0 1001 LTEXT(I)=0 I=1 CALL IFILE(1,'TEXT') 1002 READ(1,1003) IKIND 1003 FORMAT(G) GOTO(1100,1004,1004,1013,1020,1004,1004)(IKIND+1) 1004 READ(1,1005)JKIND,(LLINE(I,J),J=3,22) 1005 FORMAT(1G,20A5) IF(JKIND.EQ.-1) GOTO 1002 DO 1006 K=1,20 KK=K IF(LLINE(I,21-K).NE.' ') GOTO 1007 1006 CONTINUE STOP 1007 LLINE(I,2)=20-KK+1 LLINE(I,1)=0 IF(IKIND.EQ.6)GOTO 1023 IF(IKIND.EQ.5)GOTO 1011 IF(IKIND.EQ.1) GOTO 1008 IF(STEXT(JKIND).NE.0) GOTO 1009 STEXT(JKIND)=I GOTO 1010 1008 IF(LTEXT(JKIND).NE.0) GOTO 1009 LTEXT(JKIND)=I GOTO 1010 1009 LLINE(I-1,1)=I 1010 I=I+1 IF(I.NE.1000)GOTO 1004 PAUSE 'TOO MANY LINES' 1011 IF(JKIND.LT.200)GOTO 1012 IF(BTEXT(JKIND-100).NE.0)GOTO 1009 BTEXT(JKIND-100)=I BTEXT(JKIND-200)=I GOTO 1010 1012 IF(BTEXT(JKIND).NE.0)GOTO 1009 BTEXT(JKIND)=I GOTO 1010 1023 IF(RTEXT(JKIND).NE.0) GOTO 1009 RTEXT(JKIND)=I GOTO 1010 1013 I=1 1014 READ(1,1015)JKIND,LKIND,(TK(L),L=1,10) 1015 FORMAT(12G) IF(JKIND.EQ.-1) GOTO 1002 IF(KEY(JKIND).NE.0) GOTO 1016 KEY(JKIND)=I GOTO 1017 1016 TRAVEL(I-1)=-TRAVEL(I-1) 1017 DO 1018 L=1,10 IF(TK(L).EQ.0) GOTO 1019 TRAVEL(I)=LKIND*1024+TK(L) I=I+1 IF(I.EQ.1000) STOP 1018 CONTINUE 1019 TRAVEL(I-1)=-TRAVEL(I-1) GOTO 1014 1020 DO 1022 IU=1,1000 READ(1,1021) KTAB(IU),ATAB(IU) 1021 FORMAT(G,A5) IF(KTAB(IU).EQ.-1)GOTO 1002 1022 CONTINUE PAUSE 'TOO MANY WORDS' C TRAVEL = NEG IF LAST THIS SOURCE + DEST*1024 + KEYWORD C COND = 1 IF LIGHT, 2 IF DON T ASK QUESTION 1100 DO 1101 I=1,100 IPLACE(I)=IPLT(I) IFIXED(I)=IFIXT(I) 1101 ICHAIN(I)=0 DO 1102 I=1,300 COND(I)=0 ABB(I)=0 1102 IOBJ(I)=0 DO 1103 I=1,10 1103 COND(I)=1 COND(16)=2 COND(20)=2 COND(21)=2 COND(22)=2 COND(23)=2 COND(24)=2 COND(25)=2 COND(26)=2 COND(31)=2 COND(32)=2 COND(79)=2 DO 1107 I=1,100 KTEM=IPLACE(I) IF(KTEM.EQ.0)GOTO 1107 IF(IOBJ(KTEM).NE.0) GOTO 1104 IOBJ(KTEM)=I GO TO 1107 1104 KTEM=IOBJ(KTEM) 1105 IF(ICHAIN(KTEM).NE.0) GOTO 1106 ICHAIN(KTEM)=I GOTO 1107 1106 KTEM=ICHAIN(KTEM) GOTO 1105 1107 CONTINUE IDWARF=0 IFIRST=1 IWEST=0 ILONG=1 IDETAL=0 PAUSE 'INIT DONE' 1 CALL YES(65,1,0,YEA) L=1 LOC=1 2 DO 73 I=1,3 IF(ODLOC(I).NE.L.OR.DSEEN(I).EQ.0)GOTO 73 L=LOC CALL SPEAK(2) GOTO 74 73 CONTINUE 74 LOC=L C DWARF STUFF IF(IDWARF.NE.0) GOTO 60 IF(LOC.EQ.15) IDWARF=1 GOTO 71 60 IF(IDWARF.NE.1)GOTO 63 IF(RAN(QZ).GT.0.05) GOTO 71 IDWARF=2 DO 61 I=1,3 DLOC(I)=0 ODLOC(I)=0 61 DSEEN(I)=0 CALL SPEAK(3) ICHAIN(AXE)=IOBJ(LOC) IOBJ(LOC)=AXE IPLACE(AXE)=LOC GOTO 71 63 IDWARF=IDWARF+1 ATTACK=0 DTOT=0 STICK=0 DO 66 I=1,3 IF(2*I+IDWARF.LT.8)GOTO 66 IF(2*I+IDWARF.GT.23.AND.DSEEN(I).EQ.0)GOTO 66 ODLOC(I)=DLOC(I) IF(DSEEN(I).NE.0.AND.LOC.GT.14)GOTO 65 DLOC(I)=DTRAV(I*2+IDWARF-8) DSEEN(I)=0 IF(DLOC(I).NE.LOC.AND.ODLOC(I).NE.LOC) GOTO 66 65 DSEEN(I)=1 DLOC(I)=LOC DTOT=DTOT+1 IF(ODLOC(I).NE.DLOC(I)) GOTO 66 ATTACK=ATTACK+1 IF(RAN(QZ).LT.0.1) STICK=STICK+1 66 CONTINUE IF(DTOT.EQ.0) GOTO 71 IF(DTOT.EQ.1)GOTO 75 TYPE 67,DTOT 67 FORMAT(' THERE ARE ',I2,' THREATENING LITTLE DWARVES IN THE 1 ROOM WITH YOU.',/) GOTO 77 75 CALL SPEAK(4) 77 IF(ATTACK.EQ.0)GOTO 71 IF(ATTACK.EQ.1)GOTO 79 TYPE 78,ATTACK 78 FORMAT(' ',I2,' OF THEM THROW KNIVES AT YOU!',/) GOTO 81 79 CALL SPEAK(5) CALL SPEAK(52+STICK) GOTO(71,83)(STICK+1) 81 IF(STICK.EQ.0) GOTO 69 IF(STICK.EQ.1)GOTO 82 TYPE 68,STICK 68 FORMAT(' ',I2,' OF THEM GET YOU.',/) GOTO 83 82 CALL SPEAK(6) 83 PAUSE 'GAMES OVER' GOTO 71 69 CALL SPEAK(7) C PLACE DESCRIPTOR 71 KK=STEXT(L) IF(ABB(L).EQ.0.OR.KK.EQ.0)KK=LTEXT(L) IF(KK.EQ.0) GOTO 7 4 TYPE 5,(LLINE(KK,JJ),JJ=3,LLINE(KK,2)) 5 FORMAT(20A5) KK=KK+1 IF(LLINE(KK-1,1).NE.0) GOTO 4 TYPE 6 6 FORMAT(/) 7 IF(COND(L).EQ.2)GOTO 8 IF(LOC.EQ.33.AND.RAN(QZ).LT.0.25)CALL SPEAK(8) J=L GOTO 2000 C GO GET A NEW LOCATION 8 KK=KEY(LOC) IF(KK.EQ.0)GOTO 19 IF(K.EQ.57)GOTO 32 IF(K.EQ.67)GOTO 40 IF(K.EQ.8)GOTO 12 LOLD=L 9 LL=TRAVEL(KK) IF(LL.LT.0) LL=-LL IF(1.EQ.MOD(LL,1024))GOTO 10 IF(K.EQ.MOD(LL,1024))GOTO 10 IF(TRAVEL(KK).LT.0)GOTO 11 KK=KK+1 GOTO 9 12 TEMP=LOLD LOLD=L L=TEMP GOTO 21 10 L=LL/1024 GOTO 21 11 JSPK=12 IF(K.GE.43.AND.K.LE.46)JSPK=9 IF(K.EQ.29.OR.K.EQ.30)JSPK=9 IF(K.EQ.7.OR.K.EQ.8.OR.K.EQ.36.OR.K.EQ.37.OR.K.EQ.68) 1 JSPK=10 IF(K.EQ.11.OR.K.EQ.19)JSPK=11 IF(JVERB.EQ.1)JSPK=59 IF(K.EQ.48)JSPK=42 IF(K.EQ.17)JSPK=80 CALL SPEAK(JSPK) GOTO 2 19 CALL SPEAK(13) L=LOC IF(IFIRST.EQ.0) CALL SPEAK(14) 21 IF(L.LT.300)GOTO 2 IL=L-300+1 GOTO(22,23,24,25,26,31,27,28,29,30,33,34,36,37)IL GOTO 2 22 L=6 IF(RAN(QZ).GT.0.5) L=5 GOTO 2 23 L=23 IF(PROP(GRATE).NE.0) L=9 GOTO 2 24 L=9 IF(PROP(GRATE).NE.0)L=8 GOTO 2 25 L=20 IF(IPLACE(NUGGET).NE.-1)L=15 GOTO 2 26 L=22 IF(IPLACE(NUGGET).NE.-1) L=14 GOTO 2 27 L=27 IF(PROP(12).EQ.0)L=31 GOTO 2 28 L=28 IF(PROP(SNAKE).EQ.0)L=32 GOTO 2 29 L=29 IF(PROP(SNAKE).EQ.0) L=32 GOTO 2 30 L=30 IF(PROP(SNAKE).EQ.0) L=32 GOTO 2 31 PAUSE 'GAME IS OVER' GOTO 1100 32 IF(IDETAL.LT.3)CALL SPEAK(15) IDETAL=IDETAL+1 L=LOC ABB(L)=0 GOTO 2 33 L=8 IF(PROP(GRATE).EQ.0) L=9 GOTO 2 34 IF(RAN(QZ).GT.0.2)GOTO 35 L=68 GOTO 2 35 L=65 38 CALL SPEAK(56) GOTO 2 36 IF(RAN(QZ).GT.0.2)GOTO 35 L=39 IF(RAN(QZ).GT.0.5)L=70 GOTO 2 37 L=66 IF(RAN(QZ).GT.0.4)GOTO 38 L=71 IF(RAN(QZ).GT.0.25)L=72 GOTO 2 39 L=66 IF(RAN(QZ).GT.0.2)GOTO 38 L=77 GOTO 2 40 IF(LOC.LT.8)CALL SPEAK(57) IF(LOC.GE.8)CALL SPEAK(58) L=LOC GOTO 2 C DO NEXT INPUT 2000 LTRUBL=0 LOC=J ABB(J)=MOD((ABB(J)+1),5) IDARK=0 IF(MOD(COND(J),2).EQ.1) GOTO 2003 IF((IPLACE(2).NE.J).AND.(IPLACE(2).NE.-1)) GOTO 2001 IF(PROP(2).EQ.1)GOTO 2003 2001 CALL SPEAK(16) IDARK=1 2003 I=IOBJ(J) 2004 IF(I.EQ.0) GOTO 2011 IF(((I.EQ.6).OR.(I.EQ.9)).AND.(IPLACE(10).EQ.-1))GOTO 2008 ILK=I IF(PROP(I).NE.0) ILK=I+100 KK=BTEXT(ILK) IF(KK.EQ.0) GOTO 2008 2005 TYPE 2006,(LLINE(KK,JJ),JJ=3,LLINE(KK,2)) 2006 FORMAT(20A5) KK=KK+1 IF(LLINE(KK-1,1).NE.0) GOTO 2005 TYPE 2007 2007 FORMAT(/) 2008 I=ICHAIN(I) GOTO 2004 C K=1 MEANS ANY INPUT 2012 A=B JTWO=0 GOTO 2021 2010 JSPK=QUIP(K) GOTO 5200 2009 JSPK=54 5200 CALL SPEAK(JSPK) 2011 JVERB=0 JOBJ=0 JTWO=0 2020 CALL GETIN(JTWO,A,TWOWD,B) K=70 IF(A.EQ.'ENTER'.AND.(B.EQ.'STREAM'.OR.B.EQ.'WATER'))GOTO 2010 IF(A.EQ.'ENTER'.AND.JTWO.NE.0)GOTO 2012 2021 IF(A.NE.'WEST')GOTO 2023 IWEST=IWEST+1 IF(IWEST.NE.10)GOTO 2023 CALL SPEAK(17) 2023 DO 2024 I=1,1000 IF(KTAB(I).EQ.-1)GOTO 3000 IF(ATAB(I).EQ.A)GOTO 2025 2024 CONTINUE PAUSE 'ERROR 6' 2025 K=MOD(KTAB(I),1000) KQ=KTAB(I)/1000+1 GOTO (5014,5000,2026,2010)KQ PAUSE 'NO NO' 2026 JVERB=K JSPK=JSPKT(JVERB) IF(JTWO.NE.0)GOTO 2028 IF(JOBJ.EQ.0)GOTO 2036 2027 GOTO(9000,5066,3000,5031,2009,5031,9404,9406,5081,5200, 1 5200,5300,5506,5502,5504,5505)JVERB PAUSE 'ERROR 5' 2028 A=TWOWD B=' ' JTWO=0 GOTO 2023 3000 JSPK=60 IF(RAN(QZ).GT.0.8)JSPK=61 IF(RAN(QZ).GT.0.8)JSPK=13 CALL SPEAK(JSPK) LTRUBL=LTRUBL+1 IF(LTRUBL.NE.3)GOTO 2020 IF(J.NE.13.OR.IPLACE(7).NE.13.OR.IPLACE(5).NE.-1)GOTO 2032 CALL YES(18,19,54,YEA) GOTO 2033 2032 IF(J.NE.19.OR.PROP(11).NE.0.OR.IPLACE(7).EQ.-1)GOTO 2034 CALL YES(20,21,54,YEA) GOTO 2033 2034 IF(J.NE.8.OR.PROP(GRATE).NE.0)GOTO 2035 CALL YES(62,63,54,YEA) 2033 IF(YEA.EQ.0)GOTO 2011 GOTO 2020 2035 IF(IPLACE(5).NE.J.AND.IPLACE(5).NE.-1)GOTO 2020 IF(JOBJ.NE.5)GOTO 2020 CALL SPEAK(22) GOTO 2020 2036 GOTO(2037,5062,5062,9403,2009,9403,9404,9406,5062,5062, 1 5200,5300,5062,5062,5062,5062)JVERB PAUSE 'OOPS' 2037 IF((IOBJ(J).EQ.0).OR.(ICHAIN(IOBJ(J)).NE.0)) GOTO 5062 DO 5312 I=1,3 IF(DSEEN(I).NE.0)GOTO 5062 5312 CONTINUE JOBJ=IOBJ(J) GOTO 2027 5062 IF(B.NE.' ')GOTO 5333 TYPE 5063,A 5063 FORMAT(' ',A5,' WHAT?',/) GOTO 2020 5333 TYPE 5334,A,B 5334 FORMAT(' ',2A5,' WHAT?',/) GOTO 2020 5014 IF(IDARK.EQ.0) GOTO 8 IF(RAN(QZ).GT.0.25) GOTO 8 5017 CALL SPEAK(23) PAUSE 'GAME IS OVER' GOTO 2011 5000 JOBJ=K IF(JTWO.NE.0)GOTO 2028 IF((J.EQ.IPLACE(K)).OR.(IPLACE(K).EQ.-1)) GOTO 5004 IF(K.NE.GRATE)GOTO 502 IF((J.EQ.1).OR.(J.EQ.4).OR.(J.EQ.7))GOTO 5098 IF((J.GT.9).AND.(J.LT.15))GOTO 5097 502 IF(B.NE.' ')GOTO 5316 TYPE 5005,A 5005 FORMAT(' I SEE NO ',A5,' HERE.',/) GOTO 2011 5316 TYPE 5317,A,B 5317 FORMAT(' I SEE NO ',2A5,' HERE.'/) GOTO 2011 5098 K=49 GOTO 5014 5097 K=50 GOTO 5014 5004 JOBJ=K IF(JVERB.NE.0)GOTO 2027 5064 IF(B.NE.' ')GOTO 5314 TYPE 5001,A 5001 FORMAT(' WHAT DO YOU WANT TO DO WITH THE ',A5,'?',/) GOTO 2020 5314 TYPE 5315,A,B 5315 FORMAT(' WHAT DO YOU WANT TO DO WITH THE ',2A5,'?',/) GOTO 2020 C CARRY 9000 IF(JOBJ.EQ.18)GOTO 2009 IF(IPLACE(JOBJ).NE.J) GOTO 5200 9001 IF(IFIXED(JOBJ).EQ.0)GOTO 9002 CALL SPEAK(25) GOTO 2011 9002 IF(JOBJ.NE.BIRD)GOTO 9004 IF(IPLACE(ROD).NE.-1)GOTO 9003 CALL SPEAK(26) GOTO 2011 9003 IF((IPLACE(4).EQ.-1).OR.(IPLACE(4).EQ.J)) GOTO 9004 CALL SPEAK(27) GOTO 2011 9004 IPLACE(JOBJ)=-1 9005 IF(IOBJ(J).NE.JOBJ) GOTO 9006 IOBJ(J)=ICHAIN(JOBJ) GOTO 2009 9006 ITEMP=IOBJ(J) 9007 IF(ICHAIN(ITEMP).EQ.(JOBJ)) GOTO 9008 ITEMP=ICHAIN(ITEMP) GOTO 9007 9008 ICHAIN(ITEMP)=ICHAIN(JOBJ) GOTO 2009 C LOCK, UNLOCK, NO OBJECT YET 9403 IF((J.EQ.8).OR.(J.EQ.9))GOTO 5105 5032 CALL SPEAK(28) GOTO 2011 5105 JOBJ=GRATE GOTO 2027 C DISCARD OBJECT 5066 IF(JOBJ.EQ.18)GOTO 2009 IF(IPLACE(JOBJ).NE.-1) GOTO 5200 5012 IF((JOBJ.NE.BIRD).OR.(J.NE.19).OR.(PROP(11).EQ.1))GOTO 9401 CALL SPEAK(30) PROP(11)=1 5160 ICHAIN(JOBJ)=IOBJ(J) IOBJ(J)=JOBJ IPLACE(JOBJ)=J GOTO 2011 9401 CALL SPEAK(54) GOTO 5160 C LOCK,UNLOCK OBJECT 5031 IF(IPLACE(KEYS).NE.-1.AND.IPLACE(KEYS).NE.J)GOTO 5200 IF(JOBJ.NE.4)GOTO 5102 CALL SPEAK(32) GOTO 2011 5102 IF(JOBJ.NE.KEYS)GOTO 5104 CALL SPEAK(55) GOTO 2011 5104 IF(JOBJ.EQ.GRATE)GOTO 5107 CALL SPEAK(33) GOTO 2011 5107 IF(JVERB.EQ.4) GOTO 5033 IF(PROP(GRATE).NE.0)GOTO 5034 CALL SPEAK(34) GOTO 2011 5034 CALL SPEAK(35) PROP(GRATE)=0 PROP(8)=0 GOTO 2011 5033 IF(PROP(GRATE).EQ.0)GOTO 5109 CALL SPEAK(36) GOTO 2011 5109 CALL SPEAK(37) PROP(GRATE)=1 PROP(8)=1 GOTO 2011 C LIGHT LAMP 9404 IF((IPLACE(2).NE.J).AND.(IPLACE(2).NE.-1))GOTO 5200 PROP(2)=1 IDARK=0 CALL SPEAK(39) GOTO 2011 C LAMP OFF 9406 IF((IPLACE(2).NE.J).AND.(IPLACE(2).NE.-1)) GOTO 5200 PROP(2)=0 CALL SPEAK(40) GOTO 2011 C STRIKE 5081 IF(JOBJ.NE.12)GOTO 5200 PROP(12)=1 GOTO 2003 C ATTACK 5300 DO 5313 ID=1,3 IID=ID IF(DSEEN(ID).NE.0)GOTO 5307 5313 CONTINUE IF(JOBJ.EQ.0)GOTO 5062 IF(JOBJ.EQ.SNAKE) GOTO 5200 IF(JOBJ.EQ.BIRD) GOTO 5302 CALL SPEAK(44) GOTO 2011 5302 CALL SPEAK(45) IPLACE(JOBJ)=300 GOTO 9005 5307 IF(RAN(QZ).GT.0.4) GOTO 5309 DSEEN(IID)=0 ODLOC(IID)=0 DLOC(IID)=0 CALL SPEAK(47) GOTO 5311 5309 CALL SPEAK(48) 5311 K=21 GOTO 5014 C EAT 5502 IF((IPLACE(FOOD).NE.J.AND.IPLACE(FOOD).NE.-1).OR.PROP(FOOD).NE.0 1 .OR.JOBJ.NE.FOOD)GOTO 5200 PROP(FOOD)=1 5501 JSPK=72 GOTO 5200 C DRINK 5504 IF((IPLACE(WATER).NE.J.AND.IPLACE(WATER).NE.-1) 1 .OR.PROP(WATER).NE.0.OR.JOBJ.NE.WATER) GOTO 5200 PROP(WATER)=1 JSPK=74 GOTO 5200 C RUB 5505 IF(JOBJ.NE.LAMP)JSPK=76 GOTO 5200 C POUR 5506 IF(JOBJ.NE.WATER)JSPK=78 PROP(WATER)=1 GOTO 5200 END SUBROUTINE SPEAK(IT) IMPLICIT INTEGER(A-Z) COMMON RTEXT,LLINE DIMENSION RTEXT(100),LLINE(1000,22) KKT=RTEXT(IT) IF(KKT.EQ.0)RETURN 999 TYPE 998, (LLINE(KKT,JJT),JJT=3,LLINE(KKT,2)) 998 FORMAT(20A5) KKT=KKT+1 IF(LLINE(KKT-1,1).NE.0)GOTO 999 997 TYPE 996 996 FORMAT(/) RETURN END SUBROUTINE GETIN(TWOW,B,C,D) IMPLICIT INTEGER(A-Z) DIMENSION A(5),M2(6) DATA M2/"4000000000,"20000000,"100000,"400,"2,0/ 6 ACCEPT 1,(A(I), I=1,4) 1 FORMAT(4A5) TWOW=0 S=0 B=A(1) DO 2 J=1,4 DO 2 K=1,5 MASK1="774000000000 IF(K.NE.1) MASK1="177*M2(K) IF(((A(J).XOR."201004020100).AND.MASK1).EQ.0)GOTO 3 IF(S.EQ.0) GOTO 2 TWOW=1 CALL SHIFT(A(J),7*(K-1),XX) CALL SHIFT(A(J+1),7*(K-6),YY) MASK=-M2(6-K) C=(XX.AND.MASK)+(YY.AND.(-2-MASK)) GOTO 4 3 IF(S.EQ.1) GOTO 2 S=1 IF(J.EQ.1) B=(B.AND.-M2(K)).OR.("201004020100.AND. 1 (-M2(K).XOR.-1)) 2 CONTINUE 4 D=A(2) RETURN END SUBROUTINE YES(X,Y,Z,YEA) IMPLICIT INTEGER(A-Z) CALL SPEAK(X) CALL GETIN(JUNK,IA1,JUNK,IB1) IF(IA1.EQ.'NO'.OR.IA1.EQ.'N') GOTO 1 YEA=1 IF(Y.NE.0) CALL SPEAK(Y) RETURN 1 YEA=0 IF(Z.NE.0)CALL SPEAK(Z) RETURN END SUBROUTINE SHIFT (VAL,DIST,RES) IMPLICIT INTEGER (A-Z) RES=VAL IF(DIST)10,20,30 10 IDIST=-DIST DO 11 I=1,IDIST J = 0 IF (RES.LT.0) J="200000000000 11 RES = ((RES.AND."377777777777)/2) + J 20 RETURN 30 DO 31 I=1,DIST j = 0 IF ((RES.AND."200000000000).NE.0) J="400000000000 31 RES = (RES.AND."177777777777)*2 + J RETURN END


Good text-based gaming links

Posted in Text-based gaming Links on 18 - July 2007 at 04:54 PM (15 years ago) 10 views.

I'm a long time text-based gaming fan. I fondly remember Zork and I enjoyed many titles from the now-defunct Infocom company. About 7 or 8 years ago, I discovered multi-player text based games (MUD's) and I am pleased to report text-based gaming is alive and well. I prefer MUSH'es rather than MUD's, really just a preference. I've included some excellent community sites which I encourage you to visit. [url=http://community.pennmush.org/]http://community.pennmush.org/[/url] [url=http://www.mudconnect.com/]http://www.mudconnect.com/[/url] [url=http://www.topmudsites.com/]http://www.topmudsites.com/[/url] [url=http://www.electricsoup.net/]http://www.electricsoup.net/[/url] [url=http://www.tinymux.org/wiki/index.php/Main_Page]http://www.tinymux.org/wiki/index.php/Main_Page[/url] and of course, [url=http://en.wikipedia.org/wiki/Interactive_fiction]http://en.wikipedia.org/wiki/Interactive_fiction[/url] (which is probably the most direct descendant from Zork)