Prolog Assignment 2: Text Adventure
Fall 2013, David Matuszek
Your assignment is to write an adventure game in SWI-Prolog. Pick any theme you like for your adventure game: rescue, survival, treasure hunt, "a day in the life," or whatever else appeals to you.
Copy the file adventure.pl and use it as a starting point. This is an absolutely boring game consisting of one room, one object, and one direction you can go (but going in that direction takes you back to the same room). Add to this code to create your own game; if it doesn't do what you want, fix it so that it does. This is free code, to use or modify any way you like. If you don't want to use it, that's OK too.
You can get additional ideas from spider.pl.
Your program should contain one (or more, if you like) of each of the following:
You should have a
start/0 predicate (similar to the one provided)
that my TA and I can use to start your game and find out what commands you
have added. Don't make us look at the code to figure out how to run your program!
Also include an inventory command (abbreviation:
i) to tell what the player is currently holding.
Play the game by running Prolog and typing queries into it. Prolog can easily read Prolog terms, but reading anything else is awkward, and not worth learning how to do. (However, if you want to ask the user for a number, you can use the
read(X) predicate; a number is a term. Just remember to type a period after the number.)
Your program should work, should satisfy the above requirements, and should be reasonably formatted.
Grading will be mostly objective, but we reserve the right for some subjective judgment. If we like your game, we may give you bonus points for it. If your game seems to lack creativity and interest, you may lose points.
Wednesday, September 11, before 6:00am. Please zip up and turn in to Canvas a file containing (1) your
.pl source code, (2) a transcript of a sample run of your program,
and (3) a
readme.txt file that briefly describes your game, and
in particular briefly describes your locked door, hidden object, incomplete
object, and limited resource.
Late penalties: There will be a 10 point penalty (out of 100 points) for programs between one minute and one week late, and a 25 point penalty for programs later than one week. At some unspecified time after one week we will stop accepting assignments.
Do not turn in a file in any other format than
.zip, such as
.rar. Zip files can be unzipped on any platform;
.rar and other compressed files require special software.
If you don't have access to Canvas, get the matter resolved beforehand. I do not, under any circumstances, accept assignments submitted by email.