Сап Б. Нужна помощь двачеров с нормальным алгоритмическим мышлением. Нужно реализовать алгоритм для карточной игры:
В эту игру играют два игрока, у каждого из которых на руках 12 карточек с числами от 0 до 11. Первый игрок выбирает карту из имеющихся у него на руках и выкладывает на стол рубашкой вверх. Число на выбранной карте будет являться "атакой" игрока. После этого второй игрок выбирает карту из оставшихся у него на руках и также выкладывает её рубашкой вверх. Это его "защита". После этого игроки одновременно переворачивают карты, и защищающийся игрок получает столько штрафных очков насколько "атака" первого игрока превышает защиту "второго". В следующем раунде игроки меняются местами. Игра заканчивается, когда у игроков не остаётся карт на руках. Выигрывает игрок получивший меньше всего штрафных очков. Необходимо реализовать консольный вариант игры в которой соперником будет ИИ. Постарайтесь придумать алгоритм при котором ИИ будет максимально эффективно действовать против игрока (при этом он не должен иметь информации какую карту выбирает игрок на текущем ходу).
Я вот сижу уже который день думаю,но там ничего и не придумал. Какой бы алгоритм я не придумывал он сосет по сравнению с рандомом тк алгоритм через несколько игр подбирается и ИИ посасывает болт. Хелп
>>249330878 Все равно рандом. Как мне знать противник поставит самую крутую карту и пойдет олл ин или же поставит мелкую карту в надежде что ты пойдешь по защите на максимум?
>>249331146 Хотя, если противник выкинул самые сильные карты, например, то можно увеличить шанс того, чтобы бот начинал выкидывать самые сильные свои карты. Нужно в эту сторону рандом улучшать
>>249329695 (OP) ты же уже понял, что результат не зависит от порядка выбора карт? а только от того, какие именно им раздали? если у первого - 1 2 3, а у второго - 4 5 6, то при любых ходах у первого будет 9 штрафа. так что стратегия может быть тупейшая - выбирать самую первую карту и ебашить ей, разницы всё равно никакой.
Хуй знает, пусть посчитает среднее значение карт противника и выдаст большую карту. Надо как-то минимизировать вероятность получить по ебалу. Подходит как для защиты так и для нападения. Иди дрочи теорию вер и теорию игр.
>>249329695 (OP) ОП, попробуй придумывать алгоритм в другую сторону. Рассмотри случай, когда у каждого на руках осталось по две карты (если только по одной, сама игра уже закончилась) - какие возможны группы ситуаций в плане их относительного старшинства, какой ход лучше всего сделать с учетом того, что осталось 2 раунда. Когда у тебя будет алгоритм для 2 карт, прибавляешь еще по одной и анализируешь, и т. д.
Построй дерево из всех возможных ходов и для каждой ветки посчитай вероятность выиграть. Потом пусть ии идёт по дереву в сторону макс победы. Типа игра же простая, вариантов развития событий не так много.
Думаю, можно сделать, чтобы ИИ выставлял карты со средним арифметическим числом очков, которые остались у противника +- какой-то буффер рандома. Лучше не могу ничего придумать
надеюсь не забуду игру,буду тян своим умом удивлять,ведь игра правда интересная,да и соревновательная,логическая,куча вариантов,оп а если я нападаю 1 и соперник ставит 8,то у меня будет -7?
>>249329695 (OP) Игра максимально сомнительная, для обоих игроков нет никакого смысла выкладывать из руки карты не начиная с самой большой карты, например: Если ты решишь поставить 3, то оппонент будет ставить 11, потому что ему нет смысла ставить карту меньшего количества. Игру не спасает закрытость карт, потому что у игроков нет никакого смысла ставить мелкие числа в первых ходах игры, что означает что они будут тупо выставлять числа от наибольшего к меньшему, в результате чего будет бесконечная ничья
>>249335954 Смотри, игра совершенно не поощеряет риски, математику и тд, она лишь говорит что у тебя должно быть меньше штрафных поинтов чем у оппа, это значит твоя задача не победить оппонента, а не получуть штрафных очков, а как это сделать? Правильно, играть самой высшей цифрой, никто не будет пытаться кого либо перехетрить, потому что в этом нет смысла
>>249336643 Задача получить меньше штрафных за всю игру, и в примере >>249334852 твоя стратегия сосет. >игра совершенно не поощеряет риски, математику и тд Анус ставишь?
>>249337132 Это другой анон писал.За моими плечами 9 лет игры в магию, несколько лет игры в этернал кард гейм, я играл в хартстоун, кучу других тсг, монстр треин, грифтландс и тд, все эти игры продвигают идею победы, одним методом или другим, повторяю, ПОБЕДЫ, использование своей головы и удачи, эта игра НЕ ПООЩЕРЯЕТ победу, она ПООЩЕРЯЕТ набирание меньшего количества штрафных очков, а как ты можно набрать меньше всего штрафных очков не рискуя и не ебя себе мозги? Ничья, дальше которой никто не будет идти