怎么在java中使用HashMap实现一个斗地主游戏

本篇文章给大家分享的是有关怎么在java中使用HashMap实现一个斗地主游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1、准备牌:

怎么在java中使用HashMap实现一个斗地主游戏

每张扑克牌牌由花色和数字两部分组成。可以使用花色集合与数字集合嵌套迭代完成扑克牌的组装。

2、发牌

扑克牌组转完毕后由Collections类的shuffle方法打乱重排,最后3张当作底牌,剩余牌通过对3取模依次发牌。

3、看牌

打印集合。

代码演示

importjava.util.*;

/**
*@authorlayman
*/
publicclassPoker2{
//牌堆
privatestaticMap<Integer,String>pokerMap=newHashMap<>();
//花色
privatestaticArrayList<String>colors=newArrayList<>();
//数字
privatestaticArrayList<String>numbers=newArrayList<>();
//扑克牌的编号集合
privatestaticArrayList<Integer>numberList=newArrayList<>();
//玩家编号集合
privatestaticArrayList<Integer>noP1=newArrayList<>();
privatestaticArrayList<Integer>noP2=newArrayList<>();
privatestaticArrayList<Integer>noP3=newArrayList<>();
//底牌编号集合
privatestaticArrayList<Integer>diPaiNo=newArrayList<>();

//三个玩家
privatestaticArrayList<String>playerOne=newArrayList<String>();
privatestaticArrayList<String>playerTwo=newArrayList<String>();
privatestaticArrayList<String>playerThree=newArrayList<String>();
//底牌
privatestaticArrayList<String>diPai=newArrayList<String>();
/**
*创建扑克牌并洗牌
*/
publicstaticvoidcreatePoker(){

Collections.addAll(colors,"♦","♣","♥","♠");
Collections.addAll(numbers,"2","A","K","Q","J","10","9","8","7","6","5","4","3");
//设置存储编号
intcount=1;
pokerMap.put(count++,"大王");
pokerMap.put(count++,"小王");
//创建扑克牌
for(Stringnumber:numbers){
for(Stringcolor:colors){
Stringcard=color+number;
pokerMap.put(count++,card);
}
}

//先取编号
Set<Integer>numberSet=pokerMap.keySet();
numberList.addAll(numberSet);

//然后随机洗牌
Collections.shuffle(numberList);
}

/**
*发牌
*/
publicstaticvoidfaPai(){
for(inti=0;i<numberList.size();i++){
Integerno=numberList.get(i);
//留出底牌
if(i>=51){
diPaiNo.add(no);
}else{
if(i%3==0){
noP1.add(no);
}elseif(i%3==1){
noP2.add(no);
}else{
noP3.add(no);
}
}
}
}
/**
*发牌并排序
*/
publicstaticvoidsortCards(){
//对编号进行排序
Collections.sort(noP1);
Collections.sort(noP2);
Collections.sort(noP3);
Collections.sort(diPaiNo);
//进行牌面的转换
for(Integeri:noP1){
//根据编号获取牌面,并发给对应的玩家
Stringcard=pokerMap.get(i);
playerOne.add(card);
}
for(Integeri:noP2){
Stringcard=pokerMap.get(i);
playerTwo.add(card);
}
for(Integeri:noP3){
Stringcard=pokerMap.get(i);
playerThree.add(card);
}
for(Integeri:diPaiNo){
Stringcard=pokerMap.get(i);
diPai.add(card);
}
}
/**
*看牌
*/
publicstaticvoidshowCards(){
System.out.println("赌圣:"+playerOne);
System.out.println("赌侠:"+playerTwo);
System.out.println("赌王:"+playerThree);
System.out.println("底牌:"+diPai);
}
publicstaticvoidmain(String[]args){
createPoker();
faPai();
sortCards();
showCards();
}
}

以上就是怎么在java中使用HashMap实现一个斗地主游戏,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。

发布于 2021-03-02 23:49:30
收藏
分享
海报
0 条评论
167
上一篇:在java中使用static时需要注意哪些问题 下一篇:如何在python线程中使用threading.Thread()函数
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码