# PokerPlayer **Repository Path**: yyyhk/PokerPlayer ## Basic Information - **Project Name**: PokerPlayer - **Description**: 模拟真人角色扮演玩扑克牌,目前支持扑克牌玩法斗地主,斗牛,炸金花,可自己实现角色智能AI和实现多扑克牌玩法。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 17 - **Created**: 2019-02-13 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #PokerPlayer 配置游戏规则和玩家数 ``` PokerGame.config(new PokerGame.IConfig() { @Override public PokerRuleType getPokerRuleType() { return PokerRuleType.斗地主; } @Override public void config(ITable table) { table.addPlayer(player1); table.addPlayer(player2); table.addPlayer(player3); } }).playGame(); ``` 实现智能Ai角色 ``` public final class LaomouPlayer extends AiPlayer { public LaomouPlayer () { setPlayerName("laomou"); } @Override public PokerGroup getFirstDiscardPoker() { // 第一手出牌 } @Override public PokerGroup getDiscardPoker(PlayerType type, PokerGroup poker) { // 当前出牌 } @Override public boolean isRobFirst() { // 是否第一个出牌 } @Override public void analysePoker() { // 发牌后可实现分析牌型 } } ``` 打印结果 ``` player1 放弃了地主 player2 放弃了地主 player3 抢到了地主 底牌 [[红桃4], [方块4], [方块A]] player3 新出牌 (单顺子)[方块J][红桃Q][方块K][红桃A][红桃2] player1 出牌 (单顺子)[黑桃9][黑桃10][方块J][方块Q][红桃K][黑桃A][方块2] player2 没有牌大过 player1 的 (单顺子)[黑桃9][黑桃10][方块J][方块Q][红桃K][黑桃A][方块2] player3 没有牌大过 player1 的 (单顺子)[黑桃9][黑桃10][方块J][方块Q][红桃K][黑桃A][方块2] player1 新出牌 (对子)[梅花6][方块6] player2 出牌 (对子)[红桃J][红桃J] player3 出牌 (对子)[红桃2][方块2] player1 没有牌大过 player3 的 (对子)[红桃2][方块2] player2 没有牌大过 player3 的 (对子)[红桃2][方块2] player3 新出牌 (单牌)[小王] player1 没有牌大过 player3 的 (单牌)[小王] player2 没有牌大过 player3 的 (单牌)[小王] player3 出牌 (单牌)[大王] player1 没有牌大过 player3 的 (单牌)[大王] player2 没有牌大过 player3 的 (单牌)[大王] player3 新出牌 (三带一)[红桃4][红桃4][方块4][方块A] player1 没有牌大过 player3 的 (三带一)[红桃4][红桃4][方块4][方块A] player2 出牌 (三带一)[方块7][梅花7][红桃7][红桃A] player3 没有牌大过 player2 的 (三带一)[方块7][梅花7][红桃7][红桃A] player1 没有牌大过 player2 的 (三带一)[方块7][梅花7][红桃7][红桃A] player2 新出牌 (单牌)[方块10] player3 出牌 (单牌)[方块Q] player1 出牌 (单牌)[红桃K] player2 没有牌大过 player1 的 (单牌)[红桃K] player3 没有牌大过 player1 的 (单牌)[红桃K] player1 新出牌 (对子)[方块8][梅花8] player2 出牌 (对子)[方块9][红桃9] player3 没有牌大过 player2 的 (对子)[方块9][红桃9] player1 没有牌大过 player2 的 (对子)[方块9][红桃9] player2 新出牌 (单牌)[方块3] player3 出牌 (单牌)[方块7] player1 出牌 (单牌)[红桃K] player2 没有牌大过 player1 的 (单牌)[红桃K] player3 没有牌大过 player1 的 (单牌)[红桃K] player1 新出牌 (单牌)[方块5] player2 出牌 (单牌)[红桃6] player3 出牌 (单牌)[方块9] player1 没有牌大过 player3 的 (单牌)[方块9] player2 出牌 (单牌)[红桃10] player3 没有牌大过 player2 的 (单牌)[红桃10] player1 没有牌大过 player2 的 (单牌)[红桃10] player2 出牌 (单牌)[梅花Q] player3 没有牌大过 player2 的 (单牌)[梅花Q] player1 没有牌大过 player2 的 (单牌)[梅花Q] player2 新出牌 (对子)[方块5][方块5] player3 没有牌大过 player2 的 (对子)[方块5][方块5] player1 没有牌大过 player2 的 (对子)[方块5][方块5] player2 新出牌 (单牌)[红桃8] player3 出牌 (单牌)[方块10] player1 没有牌大过 player3 的 (单牌)[方块10] player2 没有牌大过 player3 的 (单牌)[方块10] player3 新出牌 (对子)[红桃3][方块3] player1 没有牌大过 player3 的 (对子)[红桃3][方块3] player2 没有牌大过 player3 的 (对子)[红桃3][方块3] player3 新出牌 (单牌)[方块8] player3赢 ```