斗地主 java思路_使用Java实现简单的斗地主案例

使用Java实现简单的斗地主案例

案例说明:使用Java实现简单的斗地主洗牌发牌的操作;

具体规则:

共有54张牌,顺序打乱;

三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌)。

具体代码实现步骤:

扑克牌准备操作

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class PokerGame {

public static void main(String[] args) {

//定义扑克牌的花色以及数字的数组

String[] flower = {"♥️","♠️","♣️","♦️"};

String[] numbers = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

//创建牌组集合

List poker = new ArrayList();

//组合扑克牌样式

//拿出每一个花色,然后跟每一个数字进行结合,储存在牌组中

for (int i = 0; i < flower.length; i++) {

for (int j = 0; j < numbers.length; j++) {

poker.add(flower[i].concat(numbers[j]));

}

}

//添加大小王到牌组集合中

poker.add("大王");

poker.add("小王");

//打印输出所有扑克牌测试

System.out.println(poker);

//定义三个玩家和地主牌的集合

List player1 = new ArrayList();

List player2 = new ArrayList();

List player3 = new ArrayList();

List dizhupai = new ArrayList();

//洗牌操作,使用shuffle方法

Collections.shuffle(poker);

System.out.println(poker); //测试牌有没有被打乱

//发牌操作

for (int k = 0; k

//留出三张牌存到底牌的集合中

if (k > 50) {

dizhupai.add(poker.get(k));

} else if (k % 3 == 0) {

player1.add(poker.get(k));

} else if (k % 3 == 1) {

player2.add(poker.get(k));

} else if (k % 3 == 2) {

player3.add(poker.get(k));

}

}

//最终看牌操作

System.out.println("玩家一的牌"+player1);

System.out.println("玩家二的牌"+player2);

System.out.println("玩家三的牌"+player3);

System.out.println("地主牌"+dizhupai);

}

}

结果展示

玩家一的牌:[♥️9, ♠️A, ♠️5, ♥️A, ♥️2, ♥️10, ♠️7, ♣️J, ♥️3, ♠️2, ♣️5, ♦️2, ♠️6, ♥️7, ♦️K, ♣️9, 大王]

玩家二的牌:[♦️9, ♠️4, ♣️4, ♣️10, ♥️J, ♦️4, ♥️8, ♥️5, ♦️A, ♣️A, ♦️7, ♦️3, ♦️Q, ♣️K, ♥️6, ♣️3, ♠️Q]

玩家三的牌:[♣️Q, ♣️2, ♣️8, ♣️7, ♥️Q, ♦️10, ♠️8, ♣️6, ♥️4, ♠️10, 小王, ♥️K, ♠️3, ♦️8, ♦️6, ♠️K, ♠️J]

地主牌:[♠️9, ♦️5, ♦️J]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值