%%% 斗地主牌型定义
|
|
%%% Created: 2023-05-15
|
|
%%% Author: AI Assistant
|
|
|
|
%% 牌型定义
|
|
-define(CARD_TYPE_SINGLE, single). % 单牌
|
|
-define(CARD_TYPE_PAIR, pair). % 对子
|
|
-define(CARD_TYPE_THREE, triple). % 三张
|
|
-define(CARD_TYPE_THREE_ONE, three_one). % 三带一
|
|
-define(CARD_TYPE_THREE_TWO, three_two). % 三带二
|
|
-define(CARD_TYPE_STRAIGHT, straight). % 顺子
|
|
-define(CARD_TYPE_STRAIGHT_PAIR, straight_pair). % 连对
|
|
-define(CARD_TYPE_PLANE, plane). % 飞机
|
|
-define(CARD_TYPE_PLANE_ONE, plane_one). % 飞机带单
|
|
-define(CARD_TYPE_PLANE_TWO, plane_two). % 飞机带对
|
|
-define(CARD_TYPE_FOUR_TWO, four_two). % 四带二
|
|
-define(CARD_TYPE_BOMB, bomb). % 炸弹
|
|
-define(CARD_TYPE_ROCKET, rocket). % 火箭
|
|
|
|
%% 斗地主AI状态记录
|
|
-record(state, {
|
|
player_id, % AI 玩家ID
|
|
role, % dizhu | nongmin (地主或农民)
|
|
known_cards = [], % 已知的牌
|
|
hand_cards = [], % 手牌
|
|
played_cards = [], % 已打出的牌
|
|
other_players = [], % 其他玩家信息
|
|
game_history = [], % 游戏历史
|
|
strategy_cache = #{} % 策略缓存
|
|
}).
|
|
|
|
%% 牌值定义
|
|
-define(CARD_VALUE_3, 3).
|
|
-define(CARD_VALUE_4, 4).
|
|
-define(CARD_VALUE_5, 5).
|
|
-define(CARD_VALUE_6, 6).
|
|
-define(CARD_VALUE_7, 7).
|
|
-define(CARD_VALUE_8, 8).
|
|
-define(CARD_VALUE_9, 9).
|
|
-define(CARD_VALUE_10, 10).
|
|
-define(CARD_VALUE_J, 11).
|
|
-define(CARD_VALUE_Q, 12).
|
|
-define(CARD_VALUE_K, 13).
|
|
-define(CARD_VALUE_A, 14).
|
|
-define(CARD_VALUE_2, 15).
|
|
-define(CARD_VALUE_SMALL_JOKER, 16).
|
|
-define(CARD_VALUE_BIG_JOKER, 17).
|