We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Tic Tac Toe

From Esolang
Jump to navigation Jump to search
Not to be confused with Tic Tac Toe Grow.
This is still a work in progress. It may be changed in the future.

Tic Tac Toe is an esoteric programming language created by User:JWinslow23 in 2013. This takes the form of Tic-Tac-Toe games.

Introduction

The Tic-Tac-Toe board is labelled as follows.

a1|a2|a3
--+--+--
b1|b2|b3
--+--+--
c1|c2|c3

For example, c3 means move in the bottom right corner.

You can designate yourself as X or O, but it must stay that way throughout the whole program.

The commands are as follows (functions are the same as in BF):

 + | - | >
---+---+---
 < |NOP| [
---+---+---
 ] | , | .

Any square you go on that wins is a NOP (e.g. if you go on a1 and you went on b2 and c3, the cell will not be incremented).

Syntax

At the start of every program is a declaration of who you are playing as (X or O).

I will play as X/O.

Next is a declaration of a game (they must be numbered from 1 on up, and in the right order). There can be as many games as needed.

Game 1:

Then, the game is played. X always goes first, X and O must alternate moves, and you designate a square being played on by saying:

X/O went on name_of_square.

When you win a game without declaring a new one, any more moves made afterwards will result in an error.

Example programs

Infinite loop

I will play as X.

Game 1:
X went on a1.
O went on a3.
X went on b3.
O went on b1.
X went on c1.
O went on a2.
X went on b2.

This corresponds to +[] in BF.

Cat program

I will play as X.

Game 1:
X went on c2.
O went on a1.
X went on b3.
O went on b2.
X went on c3.
O went on c1.
X went on a3.

Game 2:
X went on c2.
O went on b2.
X went on c1.
O went on b3.
X went on c3.

This corresponds to ,[.,] in BF, and requires two games to be played.

Interpreter

  • Common Lisp implementation of the Tic Tac Toe programming language.