Project

Simple Tic-Tac-Toe (Java)

Hard
8138 completions
~ 14 hours
4.3

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

Provided by

JetBrains Academy JetBrains Academy

About

Everybody remembers this paper-and-pencil game from childhood: Tic-Tac-Toe, also known as Noughts and crosses or Xs and Os. A single mistake usually costs you the game, but thankfully it is simple enough that most players discover the best strategy quickly. Let’s program Tic-Tac-Toe and get playing!

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

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:
Now it’s time to analyze user input and print the state of the field depending on it. You’ll learn to address specific positions in a string to achieve the required outcome.
Now we’re going to write a fully-functioning multi-line program that responds to the user’s actions and analyzes the state of the field. Not only will it tell you who is winning, but it will also determine if the situation on a given field is theoretically possible!
Tic-tac-toe is not all about analysis – a game is meant to be played! Write a program that can change the state of the field, as your first real step toward a fully-functioning game application!
Finally! Thanks to this app, you can always challenge a friend to play a quick game of Tic-Tac-Toe!

Reviews

Martin Pakhomov avatar
Martin Pakhomov
3 days ago
I have learned how to work with arrays, methods, loops, conditions, exceptions, and user input in Java. I also practiced validating input and building a complete tic-tac-toe game step by step. The most difficult part was combining all the previous stages into one working program, but it helped me un ...
Hassieb Hassieb avatar
Hassieb Hassieb
1 month ago
I learned a lot about string input handling, using a 2d array, basic player turn, game status, and game loop logic.
Dana
2 months ago
This was more challenging that the previous projects but it made me work. The use of arrays felt more complete when it came to implementing the grid and validating the plays and win.

4.3

Learners who completed this project within the Introduction to Java course rated it as follows:
Usefulness
4.3
Fun
4.3
Clarity
4.1