CSE 116 - Fall 2006 - Introduction to Computer Science for Majors II
Groups: Locate your group assignments here. They are unchanged unless you received an email from me.
Submission: Each group must submit one JAR with their implementation, named Stage2GroupX.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. (Note: JUnit tests will count a lot more towards your grade on this stage than they did on the previous stage - beef up your unit tests.)
Your submission should also include a README file indicating what functionality was implemented for this stage and what functionality does not correctly work.
Each group is also required to send a weekly email to me (CC'd to the rest of the group) about the progress for the week. Each week, the secretary of the group should change. These emails will impact your grade.
For this stage, your group is required to submit a UML diagram, created using Green for the implementation for this stage of the project.
All files must be commented using Javadoc style.
Due date extended because of storm: Friday, November 3rd at 11:59:59pm.
You must also complete a peer evaluation as described in this document and
submit it by
You will continue the implementation a modified version of a game called Lingo. For this stage, you will be creating a graphical user interface for your Lingo game as well as making some key changes to the game play. See below for specific game changes.
You must pick one of the group's submissions from the LectureCode repository. If your submission was put into the repository, you can select your own, but you will need to implement the additional functionality mentioned below.
Graphical User Interface
Think back to the game and the visual way the correcly placed and incorrectly placed letters were represented. You do not have to follow their strategy for this indication, but your GUI must have a visual way to indicate correctly placed and incorrectly-placed but in the word letters.
A player should not type their letters in as a string, but rather, each letter should go into it's own "slot" on the screen - similarly to how the board looked on the Lingo gameshow.
The player should definitely see their Lingo board at minimum at the beginning and end of each of their turns. The removal of the numbers should be animated in some way so that the player knows which numbers are being taken off the board. The total number of Lingos that each player has should be displayed on the board screen somewhere. You can decide to keep the board in a window and visible during the entire game, but be sure to account for the fact that the if the board is in another window, the player may close that window at some point during the game. The window with the board should be opened when the player's turn is over, so that they can see their numbers.
The look-and-feel of the game is up to you, but here's your chance to be really creative with this project - go for it! Try splash screens and animations out - have fun!
Chance for Bonus Points: When a number removed created a Lingo, highlight each of the numbers in the row/column/diagonal that make up the Lingo for a short time.
Changes to Game Play
"Clean Up" Functionality
The game will still be played in 6 rounds, but in each round, the number of letters in the words in each round will increase in the following manner:
Round 1: 4 letter words
The number of guesses for each round allowed each player will match the number of letters in the words they are to guess. The number of Lingo balls selected for each player's correctly guessed word will be one ball for rounds 1 & 2, two balls for rounds 3 & 4, and three balls for rounds 5 & 6. The winning player will still be the player that has the most Lingos at the end of the six rounds.
So you want your own Stage 1, eh?
No problem, in order to earn 100% on this stage of the project, you will need to implement all the previous functionality, plus the following functionality if you choose your own code base from the repository.
After the first six rounds, the player with the most Lingos is declared the winner and goes on to the Bonus round. In the bonus round, the player is given 3 minutes to guess as many words as possible so that he/she can earn Lingo balls for their bonus Lingo board.
When the bonus round begins, the player is given their bonus Lingo board and 10 numbers are removed from it not allowing more than three in any row, column, or diagonal. Then, the word guessing begins. The words in the bonus round are all 5 letters long and the player gets 5 guesses for each word. The same rules about identifying letters as in the previous round apply.
The player also has one bonus letter for every Lingo they received in the first round. A bonus letter is a free letter given to them in the word they are currently guessing.
At the end of three minutes, count up the total number of words the player guessed correctly and remove that many numbers from their bonus Lingo board. Display the total number of Lingos earned in the bonus round at the end.
Last modified: Wed Sep 27 17:24:02 2006