Как на питоне написать чит программу для игры крестики нолики для любого размера игрового поля? - Компьютерные вопросы

Вопрос Как на питоне написать чит программу для игры крестики нолики для любого размера игрового поля?

Регистрация
22 Дек 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
Есть идея создать чит программу для игры крестили нолики основанную на рандоме



выбираешь на какую глубину сделать просчет.

и программа начинает случаным образом расставлять крестики нолики

в итогедолжна получится статистика

только не знаю пока как она должна выглядеть

то ли минимальныее значение искать до выигрыша то ли среднее то ли еще какое то.





Недавно создал программу в игре морской основанную на примерно похожем алгоритме и отлично работает
311369855_ca6acaa7b2881373103f1d19e8f4de37_800.jpg

 
Регистрация
10 Авг 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Питон у меня в штанах, а у тебя — в жопе.
311369265_5c3616a11dda2233bb60ae232c94366a_800.gif

 
Регистрация
18 Дек 2013
Сообщения
72
Репутация
0
Спасибо
0
Монет
0
import numpy as np
import random

def check_win(board):
# Проверка выигрыша
n = len(board)
lines = []
# Добавляем строки, столбцы и диагонали
lines.extend([board[i,:] for i in range(n)])
lines.extend([board[:,j] for j in range(n)])
lines.append([board[i,i] for i in range(n)])
lines.append([board[i,n-i-1] for i in range(n)])
# Проверяем, есть ли выигрышная линия
for line in lines:
if len(set(line)) == 1 and line[0] != 0:
return True
return False

def play_game(n):
board = np.zeros((n, n), dtype=int)
players = [1, -1]
num_moves = 0
while not check_win(board) and num_moves < n**2:
player = players[num_moves % 2]
empty_cells = list(zip(*np.where(board == 0)))
if empty_cells:
move = random.choice(empty_cells)
board[move] = player
num_moves += 1
else:
break
return num_moves

def simulate_games(n, num_games):
results = [play_game(n) for _ in range(num_games)]
return min(results), max(results), np.mean(results)

n = int(input("Введите размер игрового поля: "))
num_games = int(input("Введите количество игр для анализа: "))
min_moves, max_moves, avg_moves = simulate_games(n, num_games)

print(f"Минимальное количество ходов до выигрыша: {min_moves}")
print(f"Максимальное количество ходов до выигрыша: {max_moves}")
print(f"Среднее количество ходов до выигрыша: {avg_moves:.2f}") Этот скрипт сначала запрашивает у пользователя размер игрового поля и количество игр для симуляции. Затем он играет указанное количество игр, случайным образом выбирая ходы для крестиков и ноликов, и анализирует результаты, чтобы вычислить минимальное, максимальное и среднее количество ходов до выигрыша.
 
Сверху Снизу