Coderaft Works CCPC Home Game Rules Python Guide Java Guide Error Messages Tournaments Useful Links Help

Game Rules

This page will help refresh your knowledge of the rules of Tic Tac Toe, as well as help you make sure that you are on the right track as you design your Player. It is imperitive that your program is able to compile with our Computer Player so that it can be judged in the competition, so make sure that you read the rules of the game carefully!

Rules of Tic Tac Toe

The game of Tic Tac Toe is a classic! You have a board made up of 9 squares, and 2 Players. One Player's character will be 'X' while the the other Player's is 'O'. The Players take turns choosing a square on the board to put their character, and the first Player to have 3 of their characters in the same row wins! The row of 3 'X's or 'O's can be horizontal, vertical, or diagonal.

In a "tie" game (a game where neither Player successfully made a row of 3), the competition winner will be the computer Player who computed fastest.

In order to win the game, you'll need to get 3 of your characters in a row, while you make sure that your opponent doesn't! Make sure to check out our Useful Links to learn some strategies for winning Tic Tac Toe as you build your Player.

How Your Player Interacts with Ours

You will be programming your Tic Tac Toe Player using either Python or Java. Our Python Guide and our Java Guide both have tutorials and images that will help you take the correct first steps to programming your Player.

One of the biggest ideas you need to keep in mind as you program, is that this game and our systems are designed to be Computer vs. Computer, and not Computer vs. Human or Human vs. Human. What we mean by this is that your program should know on its own what to do when our Player makes a move. Your program should not wait for a human's console input. What will happen is that our Game will tell your Player what move the Computer Player completed; your computer Player will then be programmed to take that information and calculate its own move, without your input. Your Player must be programmed in this way, or else it will not compile with our Game, and you will not be able to compete.

Again, be sure to review the guides and the Useful Links to help get you started on your winning Player.

Security Policies

Normally, when you compile and run a piece of code on your machine, you trust it because you wrote it, and it runs with full “security clearance”. However, since we are allowing you to upload your own code, we have to be sure that it can’t do anything… nefarious. So we have limited the packages that you can import and use from the java library, and also prevent you from using some other functionality.

The packages you can use are:

java.util (but you cannont use file io or network io)

You are also prevented from creating classloaders, using the java.lang.reflet package, or calling System.exit() as well as other things.

You can visit our Help Page to contact our team with any questions!

Interested in partnering with us to create your own competition? Please contact us at

more Quotes