Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. def all_same(lst):
  2. return all(item == lst[0] for item in lst)
  3.  
  4. # given an a 3x3 board representing a tic tac to game between player 1
  5. # and player 2, determine if any players have won by checking for
  6. # three in a row in any column, row or diagonal.
  7. if __name__ == '__main__':
  8.  
  9. grid = [[0, 2, 1],
  10. [2, 1, 2],
  11. [1, 1, 1]]
  12.  
  13. print(grid)
  14. win = False
  15.  
  16. while not win:
  17.  
  18. # check columns for wins
  19. for i in range(3):
  20. column = [row[i] for row in grid]
  21. win = all_same(column)
  22.  
  23. if win:
  24. print("Player", column[0], "wins by completing column", i + 1)
  25. break
  26. if win: break
  27.  
  28. # check rows for wins
  29. for j in range(3):
  30. win = all_same(grid[j])
  31.  
  32. if win:
  33. print('Player', grid[j][0], 'wins by completing row', j + 1)
  34. break
  35. if win: break
  36.  
  37. # check diagonals for wins
  38. diag1 = [row[i] for i, row in zip(range(3), grid)]
  39. win = all_same(diag1)
  40. if win:
  41. print('Player', diag1[0], 'wins by completing a diagonal!')
  42. break
  43.  
  44. diag2 = [row[i] for i, row in zip(range(3)[::-1], grid)]
  45. win = all_same(diag2)
  46. if win:
  47. print('Player', diag2[0], 'wins by completing a diagonal!')
  48. break
  49.  
  50. print('The game is over')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement