CSE 116 - Fall 2006 - Introduction to Computer Science for Majors II
Groups: Locate your group assignments here.
Submission: Each group must submit one JAR with their implementation, named Stage1GroupX.jar where X corresponds to the letter assigned to each group. Each submission must include the JUnit tests that you created for your implementation as well as the actual Java source code for your implementation.
Due: Monday, September 25th at 11:59:59pm.
You will implement a modified version of a game called Lingo. Lingo is a game show that is currently shown on the Game Show Network. We will be watching an episode in class and you are free to look up television schedules to see the show again or search online for information about the show.
Our version of the game is played with two players. Player 1 begins the game by being presented with a Lingo board (See section below on specifics of the Lingo board) and a word to guess (See section below on specifics of the words to guess). Guessing then commences with the first word for Player 1. After guessing is complete for Player 1, it is Players 2's turn. Play continues until each player has been given a total of six words. When all six words for each player have been played, the player with the most Lingos on their Lingo board wins.
During each turn, the player guesses at the word. If the guess is correct, the player receives one more number on their Lingo board. If a player gets four, five, or six words correct in the game, they earn two numbers for each of the fourth, fifth, and sixth correctly-solved word. Players increase the possibility of accumulating Lingos with these correct guesses.
If the guess is incorrect, the player guesses again. The player has five guesses to correctly identify the word. If after five guesses, the player does not correctly identify the word, it becomes the other player's turn with a new word. When a player guesses incorrectly, it is possible that they have some of the letters for their word correct. Within a player's guess, if a correct letter is in the correct place for the word, the player must be told. If a correct letter for the word is in the guessed word, but it is not in the correct place, the player must be told. These "hints" will hopefully help the player guess the correct word.
As stated earlier, you are required to submit the JUnit tests you created to test your code. Also, you must use Javadoc style comments throughout your code. You are not required to submit the actual Javadocs (we can create those ourselves), but your code should generate Javadocs for your submission.
The Lingo board is similar to a Bingo board. It has five rows and five columns of numbers. The numbers on the board range from 1 to 75, but are distributed at random on the board. When the board is first presented to the player, ten numbers are already "marked off" the board at random. However, you must ensure that there are initially no more than three numbers marked off in any row, column, or diagonal. When a player is given a number for correctly guessing a word, the number MUST appear on that player's Lingo board.
At the end of the game, the number of Lingos is added up. A Lingo is five numbers in a row marked off in any of the five rows, five columns, or two main diagonals.
Words to Guess
All of the words for this game are five letters long. A word from the five-letter word dictionary, available here, is chosen at random for each player. The first letter for the chosen word is presented to the player when it is the player's turn to guess.
(1) You are only building a text-based interface at this stage. There should be no graphical interface code in your submission. If your group submits code with a graphical interface, you will receive an automatic grade of 0 on this stage.
(2) The player keeps their same Lingo board throughout the entire life of the game.
Last modified: Tue Sep 5 08:35:38 2006