Напишіть програму на обраній вами мові, яка грає ідеальну гру в тик-так-носок на дошці 3 * 3 проти гравця людини. Однак кожен крок повинен бути різною програмою , породженою попередньою ітерацією.
Як і в якій формі ви оцінюєте людський внесок, залежить від вас, але його слід читати зі стандартного вводу. Так само ви можете вибирати метод, яким ви будете визначати, який гравець починається (наприклад, ви запитуєте спочатку, або ви дозволяєте людині ввести недійсний хід, щоб сигналізувати про те, що запускається комп'ютер, або інші ідеї).
Валідні рухи не потрібні, ви можете припустити досить граючого суперника людини.
В основному, у вас є програма, яка відповідає стану плати. Стан друкується будь-яким розпізнаваним способом, але очікується принаймні наступний рівень деталізації:
X..
00X
x..
Після того, як гравець людини розпочав свої кроки, ваша програма повинна генерувати наступну ітерацію себе як вихідний файл на тій же мові (або до стандартного виводу, або до файлу) та завершити роботу. Вам заборонено зберігати інформацію ніде, крім цього вихідного файлу. (для створення вашої програми не потрібно створювати та запускати створену програму, це може зробити користувач - проте, це не заборонено). Коли створена програма буде побудована і запущена, вона буде вести себе аналогічно, відображатиме стан, чекатиме введення користувача тощо.
Наприкінці гри ви повинні надрукувати результат (виграв ви, чи це нічия) будь-яким однозначно впізнаваним способом.
Під ідеальною грою я маю на увазі, що програма не повинна програвати, і якщо є можливість виграти виграш, вона повинна виграти.
Найкоротший код виграє , переможця вибирають не менше 10 днів після першого дійсного вступу.
Ви отримуєте 10% зниження балу, якщо ваша програма може обробляти будівництво та запускати наступну ітерацію. (Я знаю, це, мабуть, не варто) Звичайно, сама програма повинна бути припинена до моменту, коли наступна ітерація прийме кроки від користувача.
Якщо ви використовуєте якісь дивні незвичайні хитрощі, будь ласка, опублікуйте коротке пояснення зі своїм кодом.