Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. board = list(range( 1, 10))
  2. def draw_board(board):
  3. print( "-" * 13)
  4. for i in range(3):
  5. print ("|", board[0+i*3], "|", board[1+i*3], "|", board[2+i*3], "|")
  6. print ("-" * 13)
  7.  
  8. def take_input(player_token):
  9. valid = False
  10. while not valid:
  11. player_answer = input("Куда поставим " + player_token+"? ")
  12. try:
  13. player_answer = int(player_answer)
  14. except:
  15. print ("Некорректный ввод. Вы уверены, что ввели число?")
  16. continue
  17. if player_answer >= 1 and player_answer <= 9:
  18. if(str(board[player_answer-1 ]) not in " XO"):
  19. board[player_answer- 1] = player_token
  20. valid = True
  21. else:
  22. print ("Эта клеточка уже занята")
  23. else:
  24. print ("Некорректный ввод. Введите число от 1 до 9 чтобы походить.")
  25.  
  26. def check_win( board):
  27. win_coord = ((0,1,2),(3,4,5),(6,7,8),(0,3,6),(1,4,7),(2,5,8),(0,4,8),(2,4,6))
  28. for each in win_coord:
  29. if board[each[0 ]] == board[each[1 ]] == board[each[2]]:
  30. return board[each[0]]
  31. return False
  32.  
  33. def main(board):
  34. counter = 0
  35. win = False
  36. while not win:
  37. draw_board(board)
  38. if counter % 2 == 0:
  39. take_input("X")
  40. else:
  41. take_input("O")
  42. counter += 1
  43. if counter > 4:
  44. tmp = check_win(board)
  45. if tmp:
  46. print (tmp, "выиграл!")
  47. win = True
  48. break
  49. if counter == 9:
  50. print ("Ничья!")
  51. break
  52. draw_board(board)
  53.  
  54. main(board)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement