Advertisement
jimMoonrock

Tic Toc last version 2.0

Mar 27th, 2021
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.05 KB | None | 0 0
  1. field_sizes_for_tic_toc = [3, 3]
  2.  
  3. numbers_by_coordinates = [["" for _ in range(field_sizes_for_tic_toc[0])]for i in range(field_sizes_for_tic_toc[1])]
  4.  
  5.  
  6. # Счетчики
  7. count = 0
  8.  
  9.  
  10. #print(len_numbers_by_coordinates)
  11.  
  12. #print('Please user 1 choose your symbol X or 0')
  13.  
  14. symbol_for_user1 = input('Please user 1 choose your symbol X or 0 >>')
  15. symbol_for_user2 = input('Please user 2 choose your symbol X or 0 ??')
  16.  
  17. print()
  18.  
  19. while count < field_sizes_for_tic_toc[0] * field_sizes_for_tic_toc[1]:
  20.  
  21.     print("Please, enter 2 numbers(coordinates x, y) and symbol(X or 0) with space, press enter >>")
  22.  
  23.     try:
  24.         user_1 = input("user_1 enter x, y: ").split()
  25.         user_2 = input("user_2 enter x, y: ").split()
  26.         convert_int_user1 = (int(user_1[0]), int(user_1[1]))
  27.         convert_int_user2 = (int(user_2[0]), int(user_2[1]))
  28.  
  29.         if numbers_by_coordinates[convert_int_user1[0]][convert_int_user1[1]] == "":
  30.             numbers_by_coordinates[convert_int_user1[0]][convert_int_user1[1]] = symbol_for_user1
  31.             count += 1
  32.             #print(numbers_by_coordinates)
  33.         else:
  34.             print(f"Try again another coordinates user 1. The coordinates "
  35.                   f"x: {convert_int_user1[0]} and y:{convert_int_user1[1]} coordinates you entered were used earlier")
  36.     except IndexError:
  37.         print("Please user 1, try another index x: 0-2 and y: 0-2 ")
  38.         continue
  39.  
  40.     try:
  41.         if numbers_by_coordinates[convert_int_user2[0]][convert_int_user2[1]] == "":
  42.             numbers_by_coordinates[convert_int_user2[0]][convert_int_user2[1]] = symbol_for_user2
  43.             flag = user_2
  44.             count += 1
  45.             #print(numbers_by_coordinates)
  46.         else:
  47.             print(f"Try again another coordinates user 2. The coordinates "
  48.                   f"x: {convert_int_user2[0]} and y:{convert_int_user2[1]} coordinates you entered were used earlier")
  49.     except IndexError:
  50.         print("Please user 2, try another index x: 0-2 and y: 0-2 ")
  51.         continue
  52.  
  53.     print(count)
  54.     print(numbers_by_coordinates)
  55.  
  56.  
  57.  
  58. diagonal_element_count, counting_elements_by_vertical = 0, 0
  59. list_vertical_numbers = []
  60. winner = ""
  61.  
  62. # по Диагонали
  63. for diagonal_line in range(len(numbers_by_coordinates)):
  64.     for column_diagonally in range(len(numbers_by_coordinates)):
  65.         if diagonal_line == column_diagonally:
  66.             if numbers_by_coordinates[diagonal_line][column_diagonally] == symbol_for_user1:
  67.                 diagonal_element_count += 1
  68.                 winner = "по Диагонали user 1"
  69.                 print(numbers_by_coordinates[diagonal_line][column_diagonally])
  70.  
  71.             elif numbers_by_coordinates[diagonal_line][column_diagonally] == symbol_for_user2:
  72.                 diagonal_element_count += 1
  73.                 winner = "по Диагонали User 2"
  74.                 print(numbers_by_coordinates[diagonal_line][column_diagonally])
  75.                 # print(diagonal_element_count)
  76.             else:
  77.                 diagonal_element_count = 0
  78.  
  79.  
  80.  
  81. # по вертикали
  82. for vertical_column in range(len(numbers_by_coordinates)):
  83.     for vertical_line in range(len(numbers_by_coordinates)):
  84.         list_vertical_numbers.append((vertical_column, numbers_by_coordinates[vertical_line][vertical_column]))
  85.  
  86. for index_and_numbers in list_vertical_numbers:
  87.     if list_vertical_numbers.count(index_and_numbers) == 3 and index_and_numbers[1] == symbol_for_user1:
  88.         winner = "по Вертикали user 1"
  89.         break
  90.     elif list_vertical_numbers.count(index_and_numbers) == 3 and index_and_numbers[1] == symbol_for_user2:
  91.         winner = "по Вертикали User 2"
  92.         break
  93.  
  94. # ПО горизонтали
  95. for row in numbers_by_coordinates:
  96.     if row.count(symbol_for_user1) == 3:
  97.         winner = "по Горизонтали user 1"
  98.         break
  99.     elif row.count(symbol_for_user1) == 3:
  100.         winner = "по Горизонтали user 2"
  101.         break
  102.  
  103. print(winner)
  104.  
  105. '''if diagonal_element_count == 3:
  106.                   print(winner)'''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement