diff --git a/include/card_types.hrl b/include/card_types.hrl new file mode 100644 index 0000000..3c5be27 --- /dev/null +++ b/include/card_types.hrl @@ -0,0 +1,47 @@ +%%% 斗地主牌型定义 +%%% Created: 2023-05-15 +%%% Author: AI Assistant + +%% 牌型定义 +-define(CARD_TYPE_SINGLE, single). % 单牌 +-define(CARD_TYPE_PAIR, pair). % 对子 +-define(CARD_TYPE_TRIPLE, triple). % 三张 +-define(CARD_TYPE_TRIPLE_ONE, three_one). % 三带一 +-define(CARD_TYPE_TRIPLE_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). \ No newline at end of file