Project

Simple Tic-Tac-Toe (Kotlin)

Medium
2328 completions
~ 12 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:
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

Harish Gopi avatar
Harish Gopi
1 week ago
Some of problem based on the algorithm I'm totally not aware of it . If any algorithm problem please let us know I'll learn first and plan to approach that problem
Азамат Жапалаков avatar
Азамат Жапалаков
1 week ago
The project turned out to be not easy for a beginner, but I hope that with further training my skills will improve and this will become a simple work routine for me.
Ümran Kamar avatar
Ümran Kamar
2 weeks ago
it is too many branches to cover as not a direct way of checking wins with a single loop

4.3

Learners who completed this project within the Kotlin Developer course rated it as follows:
Usefulness
4.4
Fun
4.3
Clarity
4.3