Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Сделать игру на языке программирования 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)

2 года назад
artton
37 летМолдова
2 года в сервисе
Был
2 года назад
Выбранные исполнители
Oleg1van
Олег 
37 летРоссия
2 года в сервисе
Был
год назад
2 года назад
$90
15 дней
RUB
не выполнил задачу
Yakovenkoalex96
Александр 
27 летРоссия
2 года в сервисе
Был
2 года назад
2 отзыва(-1)
2 года назад
$134
14 дней
RUB
Заказ не выполнен