Java扑克游戏——红心大战

游戏介绍:
用一幅除去大小王的扑克玩的扑克游戏,开局时先洗牌,然后发给4位玩家。每个回合玩家轮流出牌,牌面大的玩家将会获得积分,并且下一个回合先出牌。积分牌包括红桃和黑桃Q, 红桃1分,黑桃Q13分。当玩家把手上的牌出完时,游戏结束,根据玩家的分数进行排名,分数越低的玩家排名越高。如果玩家集齐所有红桃分,可以达成“击中月亮”成就,同时会变成第一名。
游戏技法:
1、先手出花色最少最小的牌(红桃除外)
2、后手尽可能出同花色、比最大的牌小一点,如果不能就出自己手上最大的
如果缺牌,有黑桃Q出黑桃Q,没黑桃Q有红桃出红桃最大的,没红桃出其他花色最大的。
3、如果手上的牌足够好,有把握“击中月亮”,可以出大牌收集所有的红桃分。
游戏界面:

游戏过程(cmd信息):
==========发牌情况==========
==========玩家信息==========
牌组:♠2,♠8,♠K,♥2,♥3,♥4,♥8,♣3,♣4,♣A,♦2,♦10,♦K, 玩家名:邵佳瑶, 得分:0, 玩家类型:0, 出牌资格:true
==========玩家信息==========
牌组:♠3,♠Q,♠A,♥5,♥9,♥Q,♥K,♣5,♣10,♣K,♦6,♦7,♦Q, 玩家名:洛天依, 得分:0, 玩家类型:1, 出牌资格:true
==========玩家信息==========
牌组:♠5,♥6,♥7,♥A,♣2,♣6,♣7,♣8,♣9,♣J,♦8,♦9,♦J, 玩家名:陈青云, 得分:0, 玩家类型:0, 出牌资格:true
==========玩家信息==========
牌组:♠4,♠6,♠7,♠9,♠10,♠J,♥10,♥J,♣Q,♦3,♦4,♦5,♦A, 玩家名:乐正绫, 得分:0, 玩家类型:0, 出牌资格:true
南方玩家洛天依出牌:♠A
东方玩家邵佳瑶出牌:♠2
北方玩家乐正绫出牌:♠4
西方玩家陈青云出牌:♠5
==========裁判判决==========4
♠A
♠2
♠4
♠5
南方玩家洛天依♠A最大,积分增加0分
南方玩家洛天依出牌:♣K
东方玩家邵佳瑶出牌:♣A
北方玩家乐正绫出牌:♣Q
西方玩家陈青云出牌:♣J
==========裁判判决==========4
♣K
♣A
♣Q
♣J
东方玩家邵佳瑶♣A最大,积分增加0分
东方玩家邵佳瑶出牌:♠8
北方玩家乐正绫出牌:♠7
西方玩家陈青云出牌:♥A
南方玩家洛天依出牌:♠3
==========裁判判决==========4
♠8
♠7
♥A
♠3
东方玩家邵佳瑶♠8最大,积分增加1分
东方玩家邵佳瑶出牌:♠K
北方玩家乐正绫出牌:♠J
西方玩家陈青云出牌:♥7
南方玩家洛天依出牌:♠Q
==========裁判判决==========4
♠K
♠J
♥7
♠Q
东方玩家邵佳瑶♠K最大,积分增加14分
东方玩家邵佳瑶出牌:♣3
北方玩家乐正绫出牌:♥J
西方玩家陈青云出牌:♣2
南方玩家洛天依出牌:♣5
==========裁判判决==========4
♣3
♥J
♣2
♣5
南方玩家洛天依♣5最大,积分增加1分
南方玩家洛天依出牌:♦6
东方玩家邵佳瑶出牌:♦2
北方玩家乐正绫出牌:♦A
西方玩家陈青云出牌:♦8
==========裁判判决==========4
♦6
♦2
♦A
♦8
北方玩家乐正绫♦A最大,积分增加0分
北方玩家乐正绫出牌:♥10
西方玩家陈青云出牌:♥6
南方玩家洛天依出牌:♥9
东方玩家邵佳瑶出牌:♥8
==========裁判判决==========4
♥10
♥6
♥9
♥8
北方玩家乐正绫♥10最大,积分增加4分
北方玩家乐正绫出牌:♠6
西方玩家陈青云出牌:♦J
南方玩家洛天依出牌:♥K
东方玩家邵佳瑶出牌:♥4
==========裁判判决==========4
♠6
♦J
♥K
♥4
北方玩家乐正绫♠6最大,积分增加2分
北方玩家乐正绫出牌:♠9
西方玩家陈青云出牌:♦9
南方玩家洛天依出牌:♥Q
东方玩家邵佳瑶出牌:♥3
==========裁判判决==========4
♠9
♦9
♥Q
♥3
北方玩家乐正绫♠9最大,积分增加2分
北方玩家乐正绫出牌:♠10
西方玩家陈青云出牌:♣9
南方玩家洛天依出牌:♦Q
东方玩家邵佳瑶出牌:♥2
==========裁判判决==========4
♠10
♣9
♦Q
♥2
北方玩家乐正绫♠10最大,积分增加1分
北方玩家乐正绫出牌:♦3
西方玩家陈青云出牌:♣8
南方玩家洛天依出牌:♦7
东方玩家邵佳瑶出牌:♦10
==========裁判判决==========4
♦3
♣8
♦7
♦10
东方玩家邵佳瑶♦10最大,积分增加0分
东方玩家邵佳瑶出牌:♣4
北方玩家乐正绫出牌:♦5
西方玩家陈青云出牌:♣6
南方玩家洛天依出牌:♣10
==========裁判判决==========4
♣4
♦5
♣6
♣10
南方玩家洛天依♣10最大,积分增加0分
南方玩家洛天依出牌:♥5
东方玩家邵佳瑶出牌:♦K
北方玩家乐正绫出牌:♦4
西方玩家陈青云出牌:♣7
==========裁判判决==========4
♥5
♦K
♦4
♣7
南方玩家洛天依♥5最大,积分增加1分
游戏结果显示:

点击确定键积分清零,开始下一轮游戏。

==========发牌情况==========
==========玩家信息==========
牌组:♠5,♠7,♠10,♥10,♥Q,♣4,♣6,♣J,♣A,♦2,♦3,♦4,♦8, 玩家名:邵佳瑶, 得分:0, 玩家类型:0, 出牌资格:true
==========玩家信息==========
牌组:♠2,♠3,♠9,♠J,♠K,♠A,♥9,♥J,♣8,♦6,♦9,♦10,♦J, 玩家名:洛天依, 得分:0, 玩家类型:1, 出牌资格:true
==========玩家信息==========
牌组:♠Q,♥2,♥4,♥5,♥6,♥8,♥A,♣3,♣10,♣Q,♣K,♦Q,♦K, 玩家名:陈青云, 得分:0, 玩家类型:0, 出牌资格:true
==========玩家信息==========
牌组:♠4,♠6,♠8,♥3,♥7,♥K,♣2,♣5,♣7,♣9,♦5,♦7,♦A, 玩家名:乐正绫, 得分:0, 玩家类型:0, 出牌资格:true
素材:

工程结构:

MainFrame是主程序接口
general包里面是扑克游戏的抽象模型,包含玩家和裁判的抽象类、扑克类等
hearts包里面是红心大战游戏的具体规则和AI的出牌技巧
源文件分享:https://pan.baidu.com/s/1bprcGk3 Java红心大战.rar