#!/usr/bin/env python class TicTacToe(object): def __init__(self, n=3): self.n = n self.board = [] for i in xrange(self.n): self.board.append([]) for j in xrange(self.n): self.board[i].append(" ") def draw(self): for x in self.board: print x def move(self, player, x, y): if x >= self.n or y >= self.n: raise Exception("Invalid move!") if self.board[x][y] != " ": raise Exception("Invalid move!") self.board[x][y] = player def win(self, player): same = True for i in xrange(self.n): if self.board[0][i] != player: same = False break if same: return True same = True for i in xrange(self.n): if self.board[i][0] != player: same = False break if same: return True same = True for i in xrange(self.n): if self.board[self.n-1][i] != player: same = False break if same: return True same = True for i in xrange(self.n): if self.board[i][self.n-1] != player: same = False break if same: return True same = True for i in xrange(self.n): if self.board[i][i] != player: same = False break if same: return True same = True x = -1 y = self.n for i in xrange(self.n): x += 1 y -= 1 if self.board[x][y] != player: same = False break if same: return True return False if __name__ == "__main__": player1 = "X" player2 = "O" t3 = TicTacToe() t3.move(player1, 2, 0) t3.move(player2, 1, 2) t3.move(player1, 1, 1) t3.move(player2, 2, 1) t3.move(player1, 0, 2) t3.draw() print "Player1", "won" if t3.win(player1) else "lost" print "Player2", "won" if t3.win(player2) else "lost"
Wednesday, July 4, 2012
Implementing Tic-Tac-Toe in Python
This is my simple tic-tac-toe implementation in Python.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment