Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Problem 702. Play Tic Tac Toe : No Losses Allowed

Created by Richard Zapor

Let's play a friendly game of Tic Tac Toe

Create an efficient algorithm to Never Lose.

The Player may be either the first or second to play.

Initial board is zeros(3). Computer moves are 1s and Player moves are 2s.

Player output is an integer 1:9 to identify array index position

 1 4 7
 2 5 8
 3 6 9

Example game play:

 Input:        [1 0 0; 0 0 0; 0 0 0]  % Computer playing first in this example
 Output:        5                     % Player return value
 Yields :      [1 0 0; 0 2 0; 0 0 0]  % Computer then picks position 2.
 Second Input: [1 0 0; 1 2 0; 0 0 0]  % Computer's second move shown.

Passing score is never losing.

The contest engine is almost Random - about 4000 times. (<12% of Time-Out)

Creating the perfect tic-tac-toe engine seemed unnecessary.

Your Wins/Losses/Draws will be shown.

On a loss the losing board will be shown

Follow-up game will be WOPR:Global Thermonuclear War.

Problem Group

Solution Statistics

6 correct solutions 9 incorrect solutions
Last solution submitted on Aug 16, 2014

Problem Comments