For our last project, we were tasked with making our own implementation of a game called Hunt the Wumpus. For this project we had to use a graph to represent locations in the game. The goal of the game is to move around the map through various rooms in order to find the wumpus. Once close to the wumpus, you have to guess where it is. If you guess right you win, otherwise you lose.
1.) For the first task I had to implement the vertex class. The Vertex class was used to create the rooms for the game. In it I implemented a draw function, getNeighbor function, a compare method, and various getters and setters. The draw method was the bulk of the file, as it would draw each room and show exits from the room. In addition, it also indicated when the Hunter moved closer to the wumpus.
2.) The next task asked me to implement the Hunter class. The hunter class was one of the smaller classes. In it, the class stored the hunter's location and changed it when necessary. In the draw method, I chose to represent the Hunter with an image of my choosing as the hunter is always visible.
3.) For the third task, I had to implement the wumpus class. In it, the wumpus remains invisible and in the same location until it is killed by the hunter. Again, this was a rather small class.
4.)For the fourth task, I had to actually implement the class that would control the game. The biggest part of this class was the implementation of the key bindings for the game. I used WASD as the controllers to move the hunter around and then I used spacebar to toggle whether or not the hunter was in hunt mode. In addition to this, I had to set up the rest of the factors of the game such as the wumpus, hunter, and display.
1.) I chose to make the game more visually appealing. I used images for the hunter and the wumpus. In addition I added a background to the landscape display. I also added an image to the shoot mode toggle so that the user would know when it was about to try to kill the wumpus (Lightsaber)
For this project I got to create my own version of a game, which was very cool. I also learned about graphs, how they work, and ways to implement them. In addition I learned how to add user input through the keyboard to control the game.
Tony Karalekas, Brendan Doyle, Jay Moore, Help from CP