More practice with event-based programming in Swing.
Complete the assigned reading for the next session, according to the course schedule.
Inheritance
project inside Eclipse. Use the SVN Repository Exploring
perspective to check out this project, then switch back to the Java
perspective. Linear Lights Out: Implement the game Linear Lights Out in the linearLightsOut package. In Linear Lights Out, the user is presented with an array of buttons that are randomly initialized to either Xs or Os, 50% probability each. Clicking on a button changes the symbol of the button and both its left and right neighbors. Buttons on the end just change their own symbol and their one neighbor’s symbol; the buttons don’t “wrap around”. The object of the game is to reach a state where the buttons all show the same symbol, whether Xs or Os doesn’t matter.
We’re providing a lot less “scaffolding” for this problem than most of the previous ones. Everything you need to solve the problem has either appeared in previous homework or examples, or is in the Java API documentation for JButton
. Remember to ask for help if you get stuck.
Here are the various stages you should complete:
nButtons
variable in LinearMain.main
) without worrying about event handling or the symbols on the buttons. For full credit, your final solution must work with any nButtons
greater than 2. Hints:
setText()
and getText()
methods of JButton
are your friends. Here’s a screen shot of the game in progress:
Remember, in all your code:
Here is the grading rubric for this assignment.
Turn in your programming work by committing it to your SVN repository.