GUI Lab: Tic Tac Toe Game: Spring 2025
Learning Objective(s)
- implement GUI's in java
- Simpler to do lab
Overview of the Program
Create a GUI environment for the Tic Tac Toe program
Specifics
- The main method should be found in a program called GameDriver
- You may use your code from the previous lab or the posted solution
- You need to include at least one button
- It is a bonus if game works with different size boards (default is 3x3)
- The player names and size of board can be gotten via text mode but all other input must be via the GUI. (The names and size can also be gotten via the GUI if desired).
- There should be limited (possibly no) changes to all of the code from the previous lab except for the driver. You might need to add a few accessors to some of the classes. That is allowed.
Phase 1: To be done before Tuesday
Design and implement the GUI
- The design of the GUI should be a drawing that identifies the different GUI components and their locations.
- Write a java program to display the GUI as designed. It does not need to do anything yet.
Phase 2
- Adapt your GUI to work with a working TicTacToe game
- implement the program
- create a Software Development Report Be sure to include detailed instructions on how to run your program, including any instructions for extra credit.
- for the testing plan, this time (only) you are allowed to describe instead of explicitly state. (I don't want pictures of your gui with instructions on where to click for each test.)
- create a zip folder containing only the following (and submit it)
- only one file (as a pdf) with the completed software development report
- all the .java files needed to run the program
Submission
Optional improvements
Optional improvements should ONLY be worked on once the program is completing working. In addition, the work is to be done on your own with little if any help for lab assistants or the instructor.
- Allow for an AI player (only when it is a 3x3 game). Because of the limited options, you should hard code the program to play a perfect game
- Use multiple windows
- Use a canvas.