Project
Simple Tic-Tac-Toe (Java)
Hard
8042 completions
~ 14 hours
4.2After 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
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
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:
To start things off, the program needs to be able to print any state of the field. You’ll write a serious multi-line program using a lot of prints.
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
1 week ago
I read somewhere in commends on an exercise to just solve the problem and don't try to make it too elegant. So that is what I did. The best solution runs about 132 lines of code. Mine is a mere 327. I did learn a lot about program flow and static variables and that was valuable. I will need to ...
4.2
Learners who completed this project within the Introduction to Java course rated it as follows: