;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; World Location ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Use a "loc:" prefix for all symbols so they are easily identified. (define loc:pub (make :nick 'pub :name "The Lambda Den" :description '("This is the pub that Eli made after he got bored by the" "small and limited world that he used for testing. It's a" "dark place, the walls are covered by lambda expression" "graffiti."))) (define loc:toilet (make :nick 'toilet :name "The Toilet" :description '("You can think about the meaning of life here. But don't" "spend too much time here since other people might want to" "use it as well."))) (define loc:camelot (make :nick 'camelot :name "Camelot" :description '("You see a castle that King Arthur envisioned." "Inside you hear knights singing off key." "It feels good to be home."))) (define loc:bridge (make :nick 'bridge :name "The Bridge of Death" :description '("Through the fog you can see a run down bridge crossing" "the Gorge of Eternal Peril. Very much danger awaits." "You hear 'Heh, hee ha ha hee! Ha hee ha!'"))) (define loc:anthrax (make :nick 'anthrax :name "The Castle Anthrax" :description '("You see a vision of the Holy Grail above the castle and" "choose to enter the Castle Anthrax. You are greeted by" "young blondes and brunnetes, very happy to see you."))) (define loc:aaaagh (make :nick 'aaaagh :name "The Castle of...Aaaaaaaggggh" :description '("This is it, the castle that Joseph of Arimathea spoke of" "in his dying words. The Holy Grail must be here." "Your quest must be close to an end, God is with you."))) (define loc:peril (make :nick 'peril :name "The Gorge of Eternal Peril" :description '("Darn it, don't you wish you could have escaped that trap?" "Now you're stuck in the Gorge of Eternal Peril..." "Better luck next time. Get some help from Giligan."))) (define loc:forest (make :nick 'forest :name "The Tall Forest" :description '("It's a forest like any other, but danger lurks behind" "every tree. You feel like someone is watching you."))) (define loc:lake (make :nick 'lake :name "The Lake" :description '("You encounter a lake, and through the mist you see an" "island. Could your quest be close to an end? Unfortunately" "there doesn't seem to be any land path to the island."))) (define loc:cave (make :nick 'cave :name "The Cave of Caerbannog" :description '("You are at the entrance to the Cave of Caerbannog, the" "one that Tim the Enchanter told you about. From deep" "within, you here a noise."))) (define loc:pond (make :nick 'pond :name "Lady of the Lake" :description '("You are in a serene setting, something right out of the" "fairy tales you heard as a child. The lake is so quiet" "yet you feel a supreme presence is near by."))) (define loc:university (make :nick 'university :name "A Famous University" :description '("You are on the campus of A Famous University. The faculty" "here is superb, and you can find instruction in Arthurian" "history! You wish you could attend this university."))) (define loc:station (make :nick 'station :name "Police Station" :description '("Like any police station in ancient England, it is run down" "and the quality of prisoners is rather low. The walls are" "thick though, so don't break the law!"))) (define loc:swamp (make :nick 'swamp :name "The Swamp" :description '("You see three castles in the murky waters of the swamp" "but a fourth castle still stands before you. You hear" "cries of agony as a wedding is about to take place."))) (define loc:town (make :nick 'town :name "A Small Town like Ithaca" :description '("The town is crowded with people. Witch trials are in" "process, so you probably want to avoid that. There seems" "to be a lot that you could do here."))) (define loc:village (make :nick 'village :name "Quaint Little Village" :description '("This Quaint Little Village has many businesses that abound" "and it borders a beautiful and mysterious forest. You" "wonder what lies in and beyond the forest"))) (define loc:black (make :nick 'black :name "The Black Forest" :description '("While walking through the Black Forest, you hear sounds" "of some fight. Yes, the sound of swords striking" "eachother is near by. You suddenly have a chill..."))) (define loc:valley (make :nick 'valley :name "A Really Big Valley" :description '("This valley has many mountains, and you hear thunder." "There are also explosions everywhere. A tiny voice" "behind you tells you to be careful."))) (define loc:caverns (make :nick 'caverns :name "Caverns of Caerbannog" :description '("Guided by the light of fire, you enter the Cave of" "Caerbannog. You hear noises in the darkness. On the walls" "are inscriptions from Joseph of Arimathea before he died."))) (define loc:french (make :nick 'french :name "The French Castle" :description '("You approach a seemingly quiet castle. It appears as if it" "would be a good place to ask for shelter and provisions." "You call out to the watchman..."))) (define loc:upson (make :nick 'upson :name "Upson Hall" :description '("It is like a strangly familiar building. The hallways seem" "to bring back fond memories of sitting in CS 212 Section." "You wish you could stay here..."))) (define loc:fields (make :nick 'fields :name "Open Fields" :description '("Looking out over the open fields, you see peasants raising" "crops. You begin to discuss authority with the peasants" "but quickly become weary with their inferiority."))) (define loc:secret (make :nick 'secret :name "Secret Passage" :description '("It's a secret passage...." "Well, it's not that secret, after all you're here and now" "you're going to bloody tell everyone else about it."))) (define loc:gallows (make :nick 'gallows :name "Witch Gallows" :description '("There seems to be the remnants of recent witch burning." "You can tell by the scent in the air... ahhh the sweet" "smell of a burning witch.... cough..."))) (define loc:hut (make :nick 'hut :name "Peasant's Hut" :description '("This is a great place to get rest as you continue on your" "journey. Just better make sure the owner of the hut doesn't" "find you using his bed!"))) (define loc:earth (make :nick 'earth :name "Center of the Earth" :description '("You descend to the center of the Earth, and begin to see" "strange animals... they seem to be dinosaurs..." "You have an odd feeling that you're in the wrong story."))) (define loc:microsoft (make :nick 'microsoft :name "Microsoft Headquarters" :description '("'tis a dark place. You feel squelched by endless usage of" "unnecessary code. You feel thankful that you are learning" "how to program better than Microsoft."))) ;;; Connect places (connect loc:pub loc:toilet) (connect loc:pub loc:pond) (connect loc:pond loc:camelot) (connect loc:camelot loc:french) (connect loc:camelot loc:town) (connect loc:town loc:black) (connect loc:black loc:pub) (connect loc:french loc:university) (connect loc:station loc:university) (connect loc:french loc:forest) (connect loc:forest loc:village) (connect loc:village loc:town) (connect loc:french loc:anthrax) (connect loc:anthrax loc:swamp) (connect loc:swamp loc:forest) (connect loc:forest loc:valley) (connect loc:valley loc:cave) (connect loc:cave loc:caverns) (connect loc:cave loc:bridge) (connect loc:bridge loc:lake) (connect loc:lake loc:aaaagh) (connect loc:upson loc:university) (connect loc:upson loc:pub) (connect loc:fields loc:pub) (connect loc:fields loc:forest) (connect loc:gallows loc:town) (connect loc:hut loc:town) (connect loc:hut loc:village) (connect loc:earth loc:caverns) (connect loc:secret loc:station) (connect loc:secret loc:black) (connect loc:peril loc:microsoft) (directed-connect loc:bridge loc:peril) (directed-connect loc:anthrax loc:peril) ;No way out of Gorge (directed-connect loc:aaaagh loc:station) ;Were you arrested? (directed-connect loc:earth loc:pub) ;What do ya know? (directed-connect loc:upson loc:microsoft) ;;; Now that we have our places, set these globals (set! *initial-place* loc:pub)