Posted: September 18th, 2017

Python Programming

Description:  For project 4 let’s build a text-based Tic Tac Toe program.  After each player moves, re-display the new board.  Let’s have users enter a row number and a column number to put their X or O on the board.

We want the program to determine the winner or a draw.  We also want the program to enforce the rule that a player can only put his X or O in an empty position.  I would also like the option to have 2 humans play or have a human play against the computer.

 

Sample 1

This program will play tic tac toe.

 

Enter 1 for a 1-player game.  Enter 2 for a 2-player game.

>> 1

 

cols

1 2 3

r 1 | |

o  -+-+-

w 2 | |

s  -+-+-

3 | |

 

Player 1 enter the row number of where you would like to go?

>> 1

Player 1 enter the column number of where you would like to go?

>> 2

 

cols

1 2 3

r 1 |X|

o  -+-+-

w 2 | |

s  -+-+-

3 | |

 

Computer’s turn.

 

cols

1 2 3

r 1 |X|

o  -+-+-

w 2 |O|

s  -+-+-

3 | |

 

 

Player 1 enter the row number of where you would like to go?

>> 2

Player 1 enter the column number of where you would like to go?

>> 2

 

Error:  Someone has already gone there.  Please try again.

Player 1 enter the row number of where you would like to go?

>> 2

Player 1 enter the column number of where you would like to go?

>> 3

 

cols

1 2 3

r 1 |X|

o  -+-+-

w 2 |O|X

s  -+-+-

3 | |

 

Computer’s turn.

 

cols

1 2 3

r 1 |X|

o  -+-+-

w 2 |O|X

s  -+-+-

3O| |

 

 

Player 1 enter the row number of where you would like to go?

>> 4

Error:  You can only enter a value from 1 to 3.

Player 1 enter the row number of where you would like to go?

>> 3

Player 1 enter the column number of where you would like to go?

>> 3

 

cols

1 2 3

r 1 |X|

o  -+-+-

w 2 |O|X

s  -+-+-

3O| |X

 

Computer’s turn.

 

cols

1 2 3

r 1 |X|O

o  -+-+-

w 2 |O|X

s  -+-+-

3O| |

 

The computer won!  Game over!

 

 

Hints:

Here are some hints.  Begin slowly and create and test different pieces of the software; don’t just try to build it in one sitting.  Use function decomposition to break the problem (and program) into smaller manageable pieces.

I will give additional hints in future weeks.

 

Turn In:

  1. Turn in the program source code as a .py file.

Grading Criteria:

This program is worth 100 points.  Points will be distributed via the following table:

  • The program draws the board correctly. (10 points)
  • The program prompts the user for a row and column. (10 points)
  • If a user enters an incorrect row or column number, the program lets them re-enter it. (10 points)
  • The program places the correct symbol (X or O) in the correct position.  (10 points)
  • The program prevents a user from placing their symbol on a non-empty position. (10 points)
  • The program correctly identifies a winner. (10 points)
  • The program correctly identifies a draw. (10 points)
  • The program simulates a computer opponent correctly. (10 points)

Expert paper writers are just a few clicks away

Place an order in 3 easy steps. Takes less than 5 mins.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Live Chat+1-631-333-0101EmailWhatsApp

Order your paper today and save 7% with the discount code HOME7