es3n1n / durak-bot

A bot for playing the Russian card game Durak on the Durak Online platform
MIT License
16 stars 0 forks source link

Странная работа алгоритма в дуэльном дураке #3

Open lxngren opened 3 hours ago

lxngren commented 3 hours ago

Колода из 24 карт. Проблема алгоритма ярко выражена в ситуациях, когда скидывают старшего козыря или козыря, который априори будет выше всех козырей из колоды бота. После того, как бот грубо говоря уже знает все известные и выкинутые карты, кидает самую младшую карту и при этом "мастит" сопернику.

Наглядный пример: https://imgur.com/a/Uq3TC0k Попытался описать как смог, возможно через некоторое время сделаю пулл реквест с решением проблемы

lxngren commented 3 hours ago

Карты бота в ходах после козырного туза:

2024-10-26 16:30:04.824 | WARNING  | durak_bot.algorithm.actions.defense:get_defense_strategy:25 - Unable to beat ♦A, Our hand: [Card(type='♣', value='Q'), Card(type='♣', value='A'), Card(type='♦', value='9')], Trump: ♦J (♦), Unbeaten cards: [Card(type='♦', value='A')]
2024-10-26 16:30:04.825 | WARNING  | durak_bot.durak.handlers.mode:defend:26 - Unable to defend, took the cards
2024-10-26 16:30:07.571 | INFO     | durak_bot.durak.handlers.hand:on_hand:14 - Our hand: ♠10, ♣Q, ♠K, ♥K, ♣A, ♥A, ♦9, ♦10, ♦K, ♦A
2024-10-26 16:30:07.663 | INFO     | durak_bot.durak.handlers.turn_start:on_turn:27 - Turn start. Deck left: 0, Discarded: 10, Our hand: ♠10, ♣Q, ♠K, ♥K, ♣A, ♥A, ♦9, ♦10, ♦K, ♦A, Trump: ♦ (♦)
2024-10-26 16:30:09.325 | INFO     | durak_bot.durak.handlers.turn:on_turn_response:14 - Turn, cards on the table: ♠J
2024-10-26 16:30:09.422 | INFO     | durak_bot.durak.handlers.mode:defend:22 - Defending
2024-10-26 16:30:09.423 | INFO     | durak_bot.algorithm.actions.defense:try_defend:124 - Sending batch to beat ♠J with ♠K
2024-10-26 16:30:09.424 | INFO     | durak_bot.durak.handlers.mode:defend:29 - Defended
2024-10-26 16:30:10.493 | INFO     | durak_bot.durak.handlers.turn:on_turn_response:14 - Turn, cards on the table: ♠J, ♠K, ♦J
2024-10-26 16:30:10.594 | INFO     | durak_bot.durak.handlers.mode:defend:22 - Defending
2024-10-26 16:30:10.594 | INFO     | durak_bot.algorithm.actions.defense:try_defend:124 - Sending batch to beat ♦J with ♦K
2024-10-26 16:30:10.595 | INFO     | durak_bot.durak.handlers.mode:defend:29 - Defended
2024-10-26 16:30:12.892 | INFO     | durak_bot.durak.handlers.turn_start:on_turn:27 - Turn start. Deck left: 0, Discarded: 14, Our hand: ♠10, ♣Q, ♥K, ♣A, ♥A, ♦9, ♦10, ♦A, Trump: ♦ (♦)
2024-10-26 16:30:12.984 | INFO     | durak_bot.durak.handlers.mode:start_turn:13 - Starting turn
2024-10-26 16:30:12.984 | INFO     | durak_bot.algorithm.actions.attack:try_attack:18 - Attacking with ♠10
2024-10-26 16:30:12.985 | INFO     | durak_bot.durak.handlers.mode:start_turn:18 - Attacked
2024-10-26 16:30:14.295 | INFO     | durak_bot.durak.handlers.beat:on_beaten:29 - Card ♠10 has been beaten by ♠Q
2024-10-26 16:30:14.397 | INFO     | durak_bot.durak.handlers.mode:add_cards:33 - Adding cards
2024-10-26 16:30:14.397 | INFO     | durak_bot.algorithm.actions.add_card:try_add_cards:49 - Added card ♣Q via turn
2024-10-26 16:30:14.398 | INFO     | durak_bot.durak.handlers.mode:add_cards:45 - Added cards
2024-10-26 16:30:15.409 | INFO     | durak_bot.durak.handlers.beat:on_beaten:29 - Card ♣Q has been beaten by ♦Q
lxngren commented 3 hours ago

В последней колоде бот мог выкинуть козырную десятку (бубна), а после выкинуть даму (трефовая). ♠10, ♣Q, ♥K, ♣A, ♥A, ♦9, ♦10, ♦A, Trump: ♦ (♦)