Project

Desktop Tic-Tac-Toe

Challenging
209 completions
~ 40 hours
4.4

After finishing this project, you'll get to know a lot about planning and developing a program from scratch, using methods, handling errors, and processing user input.

Provided by

JetBrains Academy JetBrains Academy

About

Everyone is familiar with Tic-tac-toe. Create a version of this game using the Swing graphics library. Teach a computer to play this game and compete against both your friend and AI.

Graduate project icon

Graduate project

This project covers the core topics of the Java Desktop Application Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Create the main program window and the playing field.
Add a status bar and a Reset button and play your friend.
Teach the computer how to play Tic-Tac-Toe. Add a control panel to choose the sides before a game starts.
Add a menu to start a quick game.

Reviews

Matt Royster avatar
Matt Royster
5 months ago
I have learned a lot about GUI components and making a computer play against users. This project did allow me to have a good understanding of keeping various models up to date between the visible board and the board for the computer to make moves on.
EVGENII MORGUNOV avatar
EVGENII MORGUNOV
9 months ago
I have learned how to implement a graphical user interface (GUI) using Java Swing, manage game state transitions, and handle user interactions effectively. I also gained experience in debugging and testing GUI applications to ensure they meet specified requirements. Overcoming challenges such as syn ...
Zane Stickel avatar
Zane Stickel
1 year ago
More experience with swing components including a more complicated layout and some dependency injection between components.

4.4

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.6
Fun
4.5
Clarity
4.1