Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- # tic tac toe - 6/11/17
- player1 = 'x'
- player2 = 'o'
- current_player = player1
- turn = 0
- move = 0
- l1 =[1,2,3]
- l2 =[4,5,6]
- l3 =[7,8,9]
- board = [l1,l2,l3]
- win = False
- draw = False
- print("\nTic Tac Toe\n")
- print("Player 1: X")
- print("Player 2: O\n")
- print("Player 1 goes first \n")
- def drawboard():
- print("{}\n{}\n{}".format(board[0],board[1],board[2]))
- def placemove(move, p):
- # print("The move was: {}".format(move))
- for row in range(0,3):
- if move in board[row]:
- loc = board[row].index(move)
- # print('found at {} in board {}'.format(loc, row))
- board[row][loc] = p
- def win(p):
- print('\n')
- print('*'*20)
- print("Player: {} wins".format(p.upper()))
- print('*'*20)
- print('\n')
- drawboard()
- def draw():
- print('\n')
- print('*'*20)
- print("Draw!")
- print('*'*20)
- print('\n')
- def checkwin(p):
- global win
- # print(board[0][0],board[0][1],board[0][2])
- if ((board[0][0] == p and board[0][1] == p and board[0][2] == p) or # top row
- (board[1][0] == p and board[1][1] == p and board[1][2] == p) or # mid row
- (board[2][0] == p and board[2][1] == p and board[2][2] == p) or # bottom row
- (board[0][0] == p and board[1][0] == p and board[2][0] == p) or # 1st col
- (board[0][1] == p and board[1][1] == p and board[2][1] == p) or # 2nd col
- (board[0][2] == p and board[1][2] == p and board[2][2] == p) or # 3rd col
- (board[0][0] == p and board[1][1] == p and board[2][2] == p) or # diag down right
- (board[0][2] == p and board[1][1] == p and board[2][0] == p)): # diag down left
- win(p)
- win = True
- elif turn == 9:
- draw()
- while win is not True:
- drawboard()
- move = int(input("Please enter a move: "))
- placemove(move, current_player)
- checkwin(current_player)
- if current_player == player1:
- current_player = player2
- elif current_player == player2:
- current_player = player1
- if win is not True:
- print('Current turn: {}\n'.format(current_player))
- turn+=1
- print("\nGame over")
Advertisement
Add Comment
Please, Sign In to add comment