【JAVA】简单的斗地主


发牌、看牌

需求: 斗地主中实现发牌和看牌
【JAVA】简单的斗地主

public class PokerDemo {
public static void main(String[] args) {
//创建一个空牌盒,ArrayList实现
ArrayList<String> array = new ArrayList<String>();

//装牌(A到K四种花色,大王小王)
//定义四种花色
String[] colors = {"♦", "♣", "♥", "♠"};
//定义十三张点
String[] numbers = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "k", "A"};
for (String color : colors){
for (String number : numbers){
array.add(color + number);
}
}
array.add("大王");
array.add("小王");
// System.out.println(array);

//洗牌
Collections.shuffle(array);

//发牌
//定义三个对象存放三个人的牌,以及三张底牌
ArrayList<String> benben = new ArrayList<String>();
ArrayList<String> doudou = new ArrayList<String>();
ArrayList<String> qiqi = new ArrayList<String>();
ArrayList<String> dipai = new ArrayList<String>();

for (int i = 0; i < array.size(); i++){
String poker = array.get(i);
if (i >= array.size() - 3){
dipai.add(poker);
} else if (i % 3 == 0){
benben.add(poker);
}else if (i % 3 == 1){
doudou.add(poker);
}else if (i % 3 == 2){
qiqi.add(poker);
}
}
// System.out.print(dipai);

//看牌
lookPoker("笨笨", benben);
lookPoker("兜兜", doudou);
lookPoker("琪琪", qiqi);
lookPoker("底牌", dipai);
}

public static void lookPoker(String name, ArrayList poker){
System.out.print(name + "的牌:");
for (int i = 0; i < poker.size(); i++){
System.out.print(poker.get(i) + " ");
}
System.out.println();
}
}

//显示结果
笨笨的牌:♣A ♥10 ♥J ♥8 ♦9 大王 ♠4 ♥4 ♦8 ♠6 ♠3 ♣8 ♦k 小王 ♣6 ♥2 ♥5
兜兜的牌:♣9 ♣Q ♠9 ♦7 ♥7 ♥9 ♣J ♥3 ♠8 ♦Q ♣7 ♠A ♦5 ♦A ♠Q ♦10 ♥A
琪琪的牌:♣10 ♠10 ♦4 ♣4 ♠J ♦2 ♣k ♠k ♣5 ♦J ♠2 ♣3 ♣2 ♥k ♥Q ♦6 ♥6
底牌的牌:♠7 ♦3 ♠5

模拟斗地主

需求: 通过程序实现模拟斗地主过长中的发牌、看牌、要求进行排序
【JAVA】简单的斗地主

public class pokerTest {
public static void main(String[] args) {
//创建HashMap
HashMap<Integer, String> hm = new HashMap<Integer, String>();

//创建ArrayList
ArrayList<Integer> al = new ArrayList<Integer>();

//创建花色和点数数组
String[] colors = {"♦", "♣", "♠", "♥"};
String[] numbers = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};

//往HashMap中存储编号和牌,往ArrayList中存储编号
int index = 0;
for (String number : numbers){
for (String color : colors){
hm.put(index, color + number);
al.add(index);
index++;
}
}
hm.put(index,"小王");
al.add(index);
index++;
hm.put(index,"大王");
al.add(index);

//洗牌
Collections.shuffle(al);

//创建三个TreeSet对象,发牌
TreeSet<Integer> xiaoming = new TreeSet<Integer>();
TreeSet<Integer> xiaohong = new TreeSet<Integer>();
TreeSet<Integer> xiaoli = new TreeSet<Integer>();
TreeSet<Integer> dipai = new TreeSet<Integer>();

for (int i = 0; i < al.size(); i++){
int x = al.get(i);
if (i >= al.size() - 3){
dipai.add(x);
}else if (i % 3 == 0){
xiaoming.add(x);
}else if (i % 3 == 1){
xiaohong.add(x);
}else if (i % 3 == 2){
xiaoli.add(x);
}
}

//看牌
lp("小明", xiaoming, hm);
lp("小红", xiaoming, hm);
lp("小李", xiaoli, hm);

lp("底牌", dipai, hm);
}

//看牌的方法
public static void lp(String name, TreeSet<Integer> treeSet, HashMap<Integer, String> hm){
System.out.print(name + "的牌:");
for (Integer ts : treeSet){
System.out.print(hm.get(ts) + " ");
}
System.out.println();
}
}

//显示结果
小明的牌:♣3 ♠4 ♣5 ♠5 ♥6 ♠6 ♦9 ♥9 ♦J ♦Q ♠Q ♦K ♣K ♠A ♣2 ♥2 大王
小红的牌:♣3 ♠4 ♣5 ♠5 ♥6 ♠6 ♦9 ♥9 ♦J ♦Q ♠Q ♦K ♣K ♠A ♣2 ♥2 大王
小李的牌:♦4 ♥4 ♦6 ♣6 ♦7 ♥7 ♠7 ♦8 ♥8 ♠8 ♠9 ♥Q ♠K ♦A ♣A ♥A ♦2
底牌的牌:♣8 ♥J ♥K

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

【JAVA】简单的斗地主

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 【JAVA】简单的斗地主
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏