Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

46 linhas
1.6 KiB

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