CS 392 Fall 2014

Assignment 01

Due: October 13th, Monday, 23:55.

Submission: Upload your project to LMS as a single ZIP bundle.

Implement the Lights Out game. Make sure to have a clear MVC architecture. Implement a 5x5 grid. Have two buttons, one labeled “Easy” and the other “Hard”, which start a new game when pressed. Easy game starts a screen where all the buttons are lit. Hard game starts from a screen where the buttons are randomly-lit (however, be sure to configure this to a solvable state – not all states in Lights Out are solvable). Finally, have a label that shows how many times the user has clicked on lights since the beginning of the game.

You are free to come up with your own GUI design. Make it aesthetically-pleasing. Buttons can be in various states (such as enabled/disabled, selected/unselected). You may want to take advantage of this to visualize when a light is lit or off. You may also want to use images on buttons instead of boring text. Be creative.