Dmytro Polovynka

Лисиця, гуси та компанія

Мисливські ігри - це ігри, де гравці грають неоднаковими арміями - один грає великою кількістю слабких фігур, або мисливцями, а інший - малою кількістю сильних, або здобиччю. Ціллю мисливців є злапати здобич, а в деяких іграх - заповнити фортецю. Ціллю здобичі є не дати мисливцям цього зробити. Щоб врівноважити такі різні армії здобичі дають можливість побити мисливця, стрибаючи через нього (як в шашках), а мисливцям часто обмежують хід.

Лисиця і гуси - це мисливська гра, популярна в Європі, котра грається на особливому хрестоподібному полі, а фігури там рухаються по лініях. Класично лисиця була одна, а гусей - тринадцять. Але з часом почали додавати другу лисицю, збільшувати кількість гусей, змінювати сам розмір поля, або додавати туди особливу частину - фортецю - котру мають заповнити гуси для перемоги. Такі варіанти можуть отримувати різні назви - наприклад Вовки та Вівці, або Облога (Асальто).

Ігри ці не були стандартизовані і різні джерела подають різні правила. Більшість комп’ютерних реалізацій беруть за основу одні правила з мінімальною можливістю їх змінити, а деякі ігри не реалізовані взагалі. Саме тому я вирішив написати невелику програму, котра дозволяє спробувати ці ігри прямо в браузері, в якій можна обирати різні варіанти правил, різні дошки, а також самому регулювати кількість фішок на полі. І завдяки цій програмі я зрозумів, що 13 гусей таки вистачає, щоб перемогти лисицю, а сім лисиць (офіцерів) - таки забагато для гри в “офіцерів та сипаїв”.

Опис програми та налаштувань

Основними варіантами є: “лисиця і гуси” - класичний варіант; “вовки та вівці” - гра з двома вовками, де вівці мають заповнити фортецю; “асальто”, або “облога” - де мисливців більше, але в них ще більш обмежений хід; “велика облога” або “офіцери та сипаї” - варіант “асальто” на великій дошці; а також “лисиця і гуси” на великому полі - найменш популярна гра зі всіх. Додатково включена гра “спіймай зайця”, котра грається на квадратному полі і ймовірно є предком усіх попередніх ігор. Не залежно від гри, всі мисливці в цій програмі називаються гусьми, а здобич - лисицями.

Більшість правил можна змінювати - наприклад чи можуть гуси рухатися назад, або чи можна їм рухатися вбік, як вони мають право рухатися у фортеці тощо. Оскільки варіантів правил багато, то і налаштувань теж багато. Наприклад в одному з варіантів “офіцерів та сипаїв” у фортеці дозволено рухатися горизонтально лише по останній лінії, інші горизонтальні рухи там - заборонені. Для того, щоб грати за такими правилами треба обрати варіант “На останній лінії” в секції “У фортеці гуси можуть рухатися горизонтально”.

В налаштуваннях спершу треба обрати сам варіант гри, далі можна змінювати наступні налаштування:

Є варіанти “облоги”, де рухатися горизонтально можна завжди, якщо ви хочете так грати - увімкніть попереднє налаштування, бо по замовчуванню в “облозі” рух вбік заборонено.

Наступні налаштування стосуються руху у фортеці, якщо рух не регулюється вищезгаданими правилами:

Наприклад в деяких варіантах “асальто” у фортеці можна рухатися вперед та назад, але жодні горизонтальні рухи у фортеці там не дозволені.

По замовчуванню комп’ютер грає за лисицю, а гуси ходять першими. Це теж можна змінити в “Налаштуваннях”.

Можна визначити, чи побиття є обов’язковим. Якщо воно є обов’язковим, а гравець походив інакше, то одна з лисиць забирається з дошки (“фук”).

В налаштуваннях можна змінювати кількість фішок на дошці - для цього треба натиснути на фігуру, а потім натиснути на поле, де ми хочемо, щоб вона знаходилася. Так можна, до прикладу, збільшити кількість лисиць в “офіцерах та сипаях”, або змінити початкове положення лисиці в “лисиці і гусях”.

Комп’ютер може зайти в замкнений цикл повтору тих самих ходів - для того, щоб цьому запобігти можна включити опцію “Повтор позиції - програш гусей”. Тоді якщо впродовж останніх сорока п’яти ходів ситуація на дошці повториться тричі, то гусям буде зарахована поразка. І комп’ютер, якщо гратиме за гусей, буде уникати повторів.

Особливою є секція “Умови заповнення фортеці”. Правила рідко вказують, що відбудеться, якщо фортеця заповнена, але не лише гусьми. На вибір є три варіанти - фортеця має бути заповнена лише гусьми; гусьми і знерухомленими лисицями; гусьми та лисицями, навіть якщо вони не знерухомлені. По замовчуванню обраний другий варіант, як найбільш логічний. Для ускладення задачі гусей, можна обрати перший варіант.

І наостанок йдуть налаштування гри комп’ютера. Зауважу, що комп’ютер зазвичай краще грає за лисицю, тому що при грі гусьми треба розраховувати позицію стратегічно, на що цей примітивний “brute-force” алгоритм не здатний. Комп’ютер кожного разу грає трохи по-різному, тому що ходи опрацьовуються у випадковому порядку.

Можна обрати за кого грає комп’ютер - за гусей, чи за лисиць. Можна обрати обидва варіанти, або жоден. Тоді ви можете поспостерігати, як комп’ютер грає сам з собою, або, відповідно, зіграти з кимось із друзів. Цікавіше грати за гусей, тому що заповнити фортецю, або знерухомити лисицю можна сприймати як головоломку, коли як гра за лисиць головоломкою не є.

Далі йдуть два параметри, які можуть трохи збити з пантелику. Перший параметр - “глибина” - говорить на скільки ходів комп’ютер прораховує наперед. Чим більше число - тим “розумніший” комп’ютер. Якщо поставити число більше за 5, то браузер почне використовувати дуже багато ресурсів і може підвиснути. Другий параметр - “ширина” - каже скільки ходів з наявних взагалі треба прораховувати. Чим менше це число, тим більша ймовірність, що комп’ютер припуститься “людської” помилки, пропустивши очевидно хороший хід - і це більше стосується гусей, аніж лисиць, просто тому, що в них більша кількість ходів взагалі. Якщо поставити це число дуже великим, то комп’ютер буде прораховувати ймовірності для всіх наявних ходів, що саме по собі проблемою не є. Після певної межі збільшення параметра “ширини” нічого не дає.

Якщо ви хочете пограти проти доволі примітивного комп’ютера, поставте значення глибини в 2, а ширини в 25, а то й менше. Щоб пограти з розумнішим суперником, раджу поступово збільшувати значення аж до 5 і 200 відповідно. Ще далі збільшувати значення можна, але врахуйте, що браузер може підвиснути.

Останній параметр - швидкість руху комп’ютера - лише вказує які паузи треба робити, коли комп’ютер грає сам з собою, або коли він робить множинне побиття - щоб людині було легше за ним слідкувати. 500 мілісекунд - це непогане значення, але для пришвидшення симуляції його можна виставити навіть в нуль.

Після будь-яких змін, не забудьте їх зберегти.

Щоб розпочати гру заново, натисніть кнопку “Розпочати заново”. Кнопки “Зупинити” та “Продовжити” потрібні лише коли комп’ютер грає сам з собою.

Які варіанти спробувати

В “офіцерах та сипаях” збільште кількість лисиць (офіцерів) до чотирьох, а то й п’яти. Забороніть ходити гусям (сипаям) горизонтально по усіх лініях, окрім останньої лінії фортеці. Дозвольте вільний хід гусей у фортеці.

В “асальто” дозвольте горизонтальний хід гусям по всьому полю - це, втім, дає велику перевагу гусям, але з такими правилами часто грають. Змініть початкове розташування лисиць. Забороніть горизонтальний хід по всьому полю, але дозвольте горизонтальні ходи у фортеці.

В “лисиці та гусях” збільште кількість гусей до 15, або 17, але забороніть ходи назад, дозволивши лише горизонтальні ходи - такі правила часто зустрічаються онлайн. В цьому випадку, якщо лисиця прорвалася крізь загорожу гусей, зарахуйте гусям поразку (програма цього автоматично не зробить).

В “вовках та вівцях” заберіть одну вівцю з останнього ряду - це дещо врівноважує гру. Заберіть ще одну вівцю, якщо хочете зробити завдання гусей (овець) ще складнішим.

У “лисиці та гусях” на великому полі збільште кількість гусей на ще двох. Дозвольте гусям рух по всьому полю в усіх напрямках. Додайте ще одну лисицю, але при цьому додайте ще один ряд гусей - знайдіть правильний баланс для двох лисиць. Це - найменш досліджена гра зі всіх вищезгаданих.

У “спіймай зайця” зменште кількість гусей (мисливців) до одинадцяти, або десяти.

Попередні поради засновані на справжніх правилах, котрі можна зустріти. Але, звісно, можете експериментувати з різними варіантами правил, як вам завгодно.

А тепер ви можете спробувати зіграти в лисицю та гусей самі.