In this assignment, you will finish what you started in Lab 7.
You will begin your work on Lab 8 where you left off on Lab 7.
Now, every time you select the key to move the light cycle, a "trail" should be left behind. The trail can be any visual image on the screen (most people will probably select a square).
The reset button should now remove the trails when clicked as well as moving the light cycles back to their original position.
The game should end when the light cycle reaches the edges of the screen (either light cycle on any of the edges). Implement this functionality. When the game is over, something visible should happen to let the user know that the game is over and that they need to reset to start again.
The game should also end if one light cycle touches the other light cycle. When the game is over, something visible should hapen to let the user know that the game is over and that they need to reset to start again.
Change the movement of the system so that the movement of the light cycle is controlled by a timer as opposed to the user controlling movement with the keys. This means, every time the timer "goes off" it should tell each light cycle to move.
Make sure that in the comments to your App.java file, there is a comment (in the header comments) about which keys do what in your program. You can integrate this into your GUI if you'd like, but that is not required. What is required is that the information is present in the comments. If there are not comments about which keys control which aspects of game play, you will not receive credit for the parts of the assignments dependent on keys.
You will submit your Lab 8 assignment using the Web-CAT submission plugin from Eclipse. There will be no automatic grading for this assignment. You will receive a score of zero when you submit and then it will be updated when the TA is finished grading your submission.
Recitation | Due Date |
---|---|
All | Monday, May 2nd at 11:45pm |
Here is the grading information for this assignment:
Automatic Grades of 0 awarded for the following reasons:
[1] If the code does not compile.
[2] If the code does not run.
[A] Trail Behind Light Cycle (23 points)
(10%) [A1] A trail is left behind the first light cycle every time it moves.
(5%) [A2] A trail is left behind the second light cycle every time it moves.
(8%) [A3] Hitting the rest button causes the trails to leave the screen and the light cycles to return to their original positions.
[B] Game over - Edges Hit (35 points)
(6%) A game over message appears when the game is over because the edges were hit.
(6%) Game over message appears when either light cycle hits the top edge.
(6%) Game over message appears when either light cycle hits the bottom edge.
(6%) Game over message appears when either light cycle hits the left edge.
(6%) Game over message appears when either light cycle hits the right edge.
(5%) If the game is over and the user hits the reset button, the game resets properly.
[C] Game over - Hit Other Light Cycle (27 points)
(6%) A game over message appears when the game is over because one light cycle hits another.
(6%) Game over message appears when one light cycle hits another's head.
(10%) Game over message appears when one light cycle hits another's tail.
(5%) If the game is over and the user hits the reset button, the game resets properly.
[D] Motion Using Timer (15 points)
(15%) A timer (not a button) controls the movement of the light cycles.