Сделать простую игру

Артавазд3 года в сервисе
Данные заказчика будут вам доступны после подачи заявки
13.07.2022

Сделать игру на языке программирования Python + Алгоритм просчета победной стратегии

Суть игры

  • Общие правила
1. количество игроков 1,2,32. при количестве игроков 1 игра идет с компьютером как соперник

3. Игра делится на три фазы фаза постройки поля, фаза размещения первого кружочка и фаза деления

  • Фаза постройки поля
4. на бесконечном поле игроки размещают по очереди шестиугольники, в свой ход игрок(или компьютер) обязан размещать 4 таких шестиугольника на поле(связанных как показано на картинке 1), притом каждый следующий шестиугольник должен сопрекасатся хотябы одной гранью к предыдущему (примеры ходов в картинках 2 и 3)5. у каждого игрока есть 8 ходов (8 положенных груп шестиугольников) после этого игра переходит в след фазу
  • Фаза размещения
6. Первый игрок который начал постройку поля размещает круг с значением 16 на любой из шестиугольников на внешних шестиугольниках поля (

пример доступных шестиугольников в картинке 4,5(зеленые доступные желтые недоступны для первого размещения).

пример размещения первых кружков в картинке 6,7

). Все игроки обязаны разместить свои круги на уже не занятых шестиугольниках

  • Фаза деления
7. Первый игрок который разместил свои круг на поле начинает дробить свои круг (на первом шаге он один, на последующих шагах любой) на целочисленные части (1-15, 2-14,3-13,4-12,....8-8,...15-1) по доступным направлениям. Притом если на пути деления стоит или чужой круг то перепрыгнуть его нельзя (примеры ходов картина 8,9,10 *линии нарисованы для понимания направления и деления)8. После того как последний игрок разделил свои последнии круг на части (1-1) игра заканчивается и начинается подсчет очков
  • Выявление победителя
9. побеждает игрок который смог размножить свои круги максимально (16 штук кругов номиналом 1)10. если все игроки смогли разделить свои круги до последнего тоесть каждый получил на поле 16 штук кружков с числом один то объявляется ничья Цель игры стараться разместить такое поле который будет хорошим для себя и плохим для противников и постараться заблокировать хотябы один круг противника (пример картинка 11 *синий игрок заблокирован и через два хода проиграет потому что несможет больше делиться)

Если выбирается игра против компьютера компьютер должен просчитать 1. Оптимальные для себя размещения полей 2. Оптимальные для себя деления чтобы победить (Можно просчитать полным перебором все возможные деление свои и противника и после каждого хода коректировать алгоритм и выдать победные деления)

P.S. хочу акцентировать внимание на то что 95% задачи это игрок компьютер и его стратегия. Как критерий приема игрок компьютер должен обыграть меня (например 7 игр из 10)

Заявки фрилансеров