CSci 2101 Lab 16. December 6th.
30 points
Due Thursday, December 8th. Do not take more than 4 hours total
on this lab
Work in pairs on this lab.
Implementing a game of Tic-Tac-Toe as a Java GUI
Use Java GUI to implement a game of Tic-Tac-Toe: the user clicks on squares,
the computer responds with a random move. Ideally when someone wins, there
should be some message displayed. Illegal moves (clicking on a square
already taken) should not be allowed. Ideally an error message should be
displayed in the GUI.
Implementation suggestions:
Make sure you follow
the Model-View-Controller
(MVC) approach.
-
In the model use 2-dimensional array to keep track of which squares
have marks on them.
- Use appropriate Java elements for your view and choose a good
layout. Run your program often (after every change).
- Use listeners as the controller part. You need to define one
class that extends
ActionListener, associate a new instance of the listener with
every button, and make sure that you pass information to the
constructor that tells the listener which button it is associated
with.
- Note that you cannot use JUnit for testing graphical
components. In Software Design you will learn tools for automated
GUI testing.
As a minimum, your GUI should compile, run, and implement the basic
functionality.
Feel free to add extra features (colors, marks other than X and O, sounds(?))
- be
creative. Extra features may count as extra credit if all of the basic
functionality is working.
How to submit
Submit
the java file(s) with your testing code by e-mail to me. The subject of the message
must
be 2101 Lab 16. Make
sure to CC your group partner(s).
CSci 2101 course web site.