CS372: Lisp Room Assignment (200 pts)There are 5 parts to this assignment, and it will take considerable time. Do not leave this until the day it's due. First, read the material atCreate a new character and promote yourself to programmer (10 pts)
Find the goalie and get your assignment (10 pts)The relevant goalie is in the Programmer Room. Simply "touch" it to get your assignment.NOTE: You must touch the goalie with your PLAYER character, not your new programmer character Create your room in the appropriate entryway (65 pts)Go the appropriate foyer in the Lisp wing of the musuem: number function foyer, character function foyer, list function foyer, or string function foyer.You get to this by starting in the Language Foyer, going from there to the LISP Foyer, and then going from there to the Other LISP Functions hallway, and from there to the area you belong: either the List Functions Room, the Number Functions Room, the Character Functions Room, or the String Functions Room. type 'help building' to read about how to use the '@dig' verb to create a new room. Use the @dig verb to create a room for your Lisp function; i.e. if you are assigned the 'member' function, then you must create a member function room adjacent to the list functions foyer: NOTE: After you have dug your first room, execute the NEW function: addmyexits to make your room visible Example:
creates a new room and two exits, one taking players from here to the new room (via the commands 'minusp') and one taking them from the new room to here (via 'exit'). Use the @describe verb to write your function's description on the wall of your room. Use the format you find in the material online at Common Lisp the Language (CLtL). You should quote that material, BUT BE SURE TO CITE YOUR SOURCE!! Your description should include the syntactic description of your function's calling protocol. Your description will be stored as a list of strings. i.e. if you are assigned the 'member' function, your description will look like this: {"member [Function]", "member item list &key :test :test-not :key", "member-if predicate list &key :key", "member-if-not predicate list &key :key", "", "The list is searched for an element that satisfies the test. If", "none is found, nil is returned; otherwise, the tail of list", "beginning with the first element that satisfied the test is", "returned.", "The list is searched on the top level only. These functions are", "suitable for use as predicates. "} Note if your description contains the double-quote character you will need to escape it with a backslash BE SURE TO INCLUDE the examples you find in CLtL on the wall.
Create a bot and and a backroom for it, then program it to answer questions (65 pts)
Program the bot to greet guests (50 pts) |