Welcome to HBH! If you had an account on hellboundhacker.org you will need to reset your password using the Lost Password system before you will be able to login.
Simple text-based Tic Tac Toe - Python Code Bank
Simple text-based Tic Tac Toe
A simple tic tac toe game. The code might not be the most elegant but it's readable.
X = 1
O = 2
X_input = 0
O_input = 0
#########
# 0 1 2 #
# 3 4 5 #
# 6 7 8 #
#########
board = \
{
0:".", 1:".", 2:".",
3:".", 4:".", 5:".",
6:".", 7:".", 8:"."
}
def winner(arg):
if arg == X:
print "X wins!"
if arg == O:
print "O wins!"
if arg == 0:
print "Draw!"
def draw_board():
print board[0], board[1], board[2]
print board[3], board[4], board[5]
print board[6], board[7], board[8]
def check_if_won(arg):
if arg == X:
# Horizontals
if board[0] == "X" and board[1] == "X" and board[2] == "X":
winner(X)
return 1
if board[3] == "X" and board[4] == "X" and board[5] == "X":
winner(X)
return 1
if board[6] == "X" and board[7] == "X" and board[8] == "X":
winner(X)
return 1
# Diagonals
if board[0] == "X" and board[4] == "X" and board[8] == "X":
winner(X)
return 1
if board[2] == "X" and board[4] == "X" and board[6] == "X":
winner(X)
return 1
# Verticals
if board[0] == "X" and board[3] == "X" and board[6] == "X":
winner(X)
return 1
if board[1] == "X" and board[4] == "X" and board[7] == "X":
winner(X)
return 1
if board[2] == "X" and board[5] == "X" and board[8] == "X":
winner(X)
return 1
if arg == O:
# Horizontals
if board[0] == "O" and board[1] == "O" and board[2] == "O":
winner(O)
return 1
if board[3] == "O" and board[4] == "O" and board[5] == "O":
winner(O)
return 1
if board[6] == "O" and board[7] == "O" and board[8] == "O":
winner(O)
return 1
# Diagonals
if board[0] == "O" and board[4] == "O" and board[8] == "O":
winner(O)
return 1
if board[2] == "O" and board[4] == "O" and board[6] == "O":
winner(O)
return 1
# Verticals
if board[0] == "O" and board[3] == "O" and board[6] == "O":
winner(O)
return 1
if board[1] == "O" and board[4] == "O" and board[7] == "O":
winner(O)
return 1
if board[2] == "O" and board[5] == "O" and board[8] == "O":
winner(O)
return 1
if board[0] != "." and board[1] != "." and board[2] != "."\
and board[3] != "." and board[4] != "." and board[5] != "."\
and board[6] != "." and board[1] != "." and board[1] != ".":
winner(0)
return 1
def game_loop():
draw_board()
while True:
X_input = raw_input("X: ")
if int(X_input) > 8:
return 1
if board[int(X_input)] != X and board[int(X_input)] != O:
board[int(X_input)] = "X"
if check_if_won(X) == 1:
return 1
break
draw_board()
while True:
O_input = raw_input("O: ")
if int(O_input) > 8:
return 1
if board[int(O_input)] != X and board[int(O_input)] != O:
board[int(O_input)] = "O"
if check_if_won(O) == 1:
return 1
break
while 1:
if game_loop() == 1:
break
Comments
Sorry but there are no comments to display