Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def print_board(board):
- print ("The board will look like this:")
- for i in range(1):
- for i in range (10):
- print(i, end = "")
- print("|", end = "")
- if i % 3 == 0:
- print()
- def print_instruction():
- print ("Yo player!! Please use the following cell numbers to make your move")
- print_board([2,3,4,5,6,7,8,9,10])
- def get_input(turn):
- valid = False
- while not valid:
- try:
- user =(input("Player!! Where would you like to place " + turn + " (1-9)? "))
- user = int(user)
- if user >= 1 and user <= 9:
- return user-1
- else:
- print ("Payer!! That is not a valid move! Please try again.\n")
- print_instruction()
- except Exception as e:
- print(user + ("Player that is not a valid move! Please try again.\n"))
- def check_win(board):
- win_cond = ((1,2,3),(4,5,6),(7,8,9),(1,4,7),(2,5,8),(3,6,9),(1,5,9),(3,5,7))
- for each in win_cond:
- try:
- if board[each[0]-1] == board[each[1]-1] and board[each[1]-1] == board[each[2]-1]:
- return board[each[0]-1]
- except:
- pass
- return -1
- def quit_game(board,msg):
- print_board(board)
- print (msg)
- quit()
- def main():
- ## Start Game
- # Change turns
- # Checks for winner
- # Quits and redo board
- print_instruction()
- board = []
- for i in range(9):
- board.append(-1)
- print_board(board)
- win = False
- move = 0
- while not win:
- # Print board
- print_board(board)
- print ("Turn number: " + str(move+1))
- if move % 2 == 0:
- turn = 'K'
- else:
- turn = 'A'
- # Get player input
- user = get_input(turn)
- while board[user] != -1:
- print ("Invalid move! Cell already taken. Please try again.\n")
- user = get_input(turn)
- board[user] = 1 if turn == 'K' else 0
- # Continue move and check if end of game
- move += 1
- if move > 4:
- winner = check_win(board)
- if winner != -1:
- out = "The winner is "
- out += "Kelly" if winner == 1 else "Andy"
- out += ""
- quit_game(board,out)
- elif move == 9:
- quit_game(board,"No winner")
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement