java斗地主游戏代码,java模拟斗地主发牌游戏

  java斗地主游戏代码,java模拟斗地主发牌游戏

  00-1010洗牌和发牌斗地主小游戏任务描述运行结果任务目标实现思路实现代码猜数字游戏任务描述运行结果任务目标实现思路实现代码总结

  

目录

 

  00-1010写一个地主发牌和洗牌的程序,要求按照地主的规则完成洗牌和发牌的过程。纸牌由颜色和数字(包括J、Q、K、A字母)组成,颜色为红心、黑桃、方块和梅花。也有王者和王者。这54张牌的顺序被打乱了。三名玩家参与游戏。每个玩家轮流一次摸一张牌,剩下的三张牌作为底牌。程序结束,每手牌中的牌和底牌被打印出来。

  

斗地主小游戏之洗牌发牌

 

  00-1010学习分析‘斗地主小游戏中洗牌发牌’的实现思路。能够根据想法独立编写、编译和运行“斗地主游戏洗牌发牌”的代码。掌握ArrayList和HashMap集合的特点,增强for循环的使用。

  00-1010 要实现卡片程序,首先要在程序中添加54张卡片。这些牌包括红心、黑桃、梅花和方块,每张13张,加上国王和国王。

  花色集和号码集两个集合嵌套,花色和号码组合成52张牌,组合后的牌给号码。套的关键值是数字,值的值是组合好的牌,还有王和王。因为组装规则不一致,所以需要使用add()方法将这两张卡片分别添加到HashMap集合中。

  创建一组数字,用这组数字代替卡片进行洗牌和发牌。因为总共有54张卡片,所以创建的集合的范围是0-53。

  可以使用Collections类的shuffle()方法来完成对数字集合进行置乱的操作,实现洗牌效果。因为只有三个人,所以可以使用for循环,通过取数字和3的余数,将代表不同牌的数字分配给不同的人和牌,从而达到发牌的效果。

  洗牌发牌后,可以通过Collections类的sort()方法完成排序。然后通过加强for循环HashMap集合,根据编号查找对应的卡串,并存储在新创建的串集合中。最后,显示字符串集。

  

任务描述

包摆;导入Java . util . ArrayList;导入Java . util . collection;导入Java . util . collections;导入Java . util . hashmap;class doudi Zhu { public static void main(string[]args){//准备颜色ArrayListStringColor=New ArrayListString();Color.add(黑桃);color . add( hearts );color . add( square );Color.add(梅花);//准备数字,用一个list ArrayList String Number=New ArrayList String()将卡片从大到小排列;for(int I=3;i=10I){ number . add(I );} number . add( J );number . add( Q );number . add( K );number . add( A );number . add( 2 );//定义一个映射集,用来将号码对应到每张卡片上。HashmapInteger,string map=new HashmapInteger,string();//卡号int index=0;//循环牌号为(串此号:号){//循环牌花色为(串此色3360色){//将花色和号组合成52张牌,并赋号map.put(index,this color

 

  +thisNumber); } } map.put(index++,"小王"); map.put(index++,"大王"); //创建0-53的数字集合代表54张牌 ArrayList<Integer>cards=new ArrayList<Integer>(); for(int i=0;i<=53;i++){ cards.add(i); } //洗牌,使用Collections工具类的shuffle()方法 Collections.shuffle(cards); //创建三个玩家和底牌 ArrayList<Integer>iPlayer=new ArrayList<Integer>(); ArrayList<Integer>iPlayer2=new ArrayList<Integer>(); ArrayList<Integer>iPlayer3=new ArrayList<Integer>(); ArrayList<Integer>iSecretCards=new ArrayList<Integer>(); //遍历这副洗好的牌,遍历的过程中,将牌发到三个玩家和底牌中 for(int i=0;i<cards.size();i++){ if(i>=51){ //留取三个底牌 iSecretCards.add(cards.get(i));  }else{ if(i%3==0){//与3取余为0的发给玩家1 iPlayer.add(cards.get(i)); }else if(i%3==1){//与3取余为1的发给玩家2 iPlayer2.add(cards.get(i)); }else {//剩余的牌发给玩家3 iPlayer3.add(cards.get(i)); } } } //对每个人手中的牌进行排序,使用的使Collections工具类中的sort()方法 Collections.sort(iPlayer); Collections.sort(iPlayer2); Collections.sort(iPlayer3); ArrayList<String>sPlayer=new ArrayList<String>(); ArrayList<String>sPlayer2=new ArrayList<String>(); ArrayList<String>sPlayer3=new ArrayList<String>(); ArrayList<String>sSectCards=new ArrayList<String>(); //循环主键,从map中获取纸牌 for (Integer key:iPlayer){ sPlayer.add(map.get(key)); } for (Integer key:iPlayer2){ sPlayer2.add(map.get(key)); } for (Integer key:iPlayer3){ sPlayer3.add(map.get(key)); } for (Integer key:iSecretCards){ sSectCards.add(map.get(key)); } //将分发的牌显示出来 System.out.println("玩家1:"+sPlayer); System.out.println("玩家2:"+sPlayer2); System.out.println("玩家3:"+sPlayer3); System.out.println("底牌:"+sSectCards); } }

 

  

猜数字游戏

任务描述

编写一个猜数字游戏,这个游戏就是"你出个数字,我来猜",程序后台预先生成一个0-9的随机数,用户键盘录入一个所猜的数字,如果输入的数字与后台预先生成的数字相同,则表示猜对了,这时,程序会打印出"恭喜,答对了",如果不相同,则比较输入的数字和后台预先生成的数字的大小,如果大了,打印"sorry,你猜大了!";如果小了,会打印"sorry,你猜小了";如果一直猜错,则游戏一直进行下去,直到数字猜对为止。

 

  

 

  

运行结果

 

  

任务目标

学会分析"猜数字游戏"程序的实现思路。根据思路独立完成"猜数字游戏"的源代码编写,编译和运行。掌握在程序中使用if选择结构和while循环结构语句进行运算操作。

实现思路

①要实现这个功能,首先程序要在后台预先生成一个0-9的随机数,生成随机数可以使用Random类中的nextInt(int n)方法,其具体的定义如下:

 

  

 public int nextInt(int n)

②要使用键盘输入所猜的数字,可以使用Scanner类,可以让用户从键盘中输入数字。

 

  

 Scanner sc=new Scanner(System.in); int i=sc.nextInt();

③输入数字后,需要比较键盘输入的数字和后台预先生成的数字,由于猜数字并非一定一次成功,很可能是多次进行,因此可以通过while循环使程序能够多次从键盘输入,每次输入都进行猜数字对错判断。如果猜对了,跳出循环,输出"恭喜,你答对了!",游戏结束。

 

  ④如果猜错,这时使用if....else语句判断,将错误分为猜大了和猜小了两种结果。如果猜大了,打印"sorry,你猜大了!"继续下一次循环;如果猜小了,打印"sorry,你猜小了!"继续下一次循环。根据结果,给出提示,接着继续猜数字,游戏继续。

  

实现代码

 package math; import java.util.Random; import java.util.Scanner; public class CaishuZi { public static void main(String[] args) { int randomNumber = new Random().nextInt(10); System.out.println("随机数已经生成"); System.out.println("请输入你所猜的数字"); Scanner sc =new Scanner(System.in); int enterNumber =sc.nextInt(); //通过while循环,进行猜数字对错判断 //猜对,跳出循环,游戏结束 while(enterNumber!=randomNumber){ //猜错了,根据结果,给出提示,接着猜数字,游戏继续 if(enterNumber>randomNumber){ //猜大了给出的提示 System.out.println("sorry,你猜大了"); }else{ //猜小了,给出的提示 System.out.println("sorry,你猜小了"); } //输入猜的数字 System.out.println("请输入你猜的数字"); enterNumber = sc.nextInt(); } System.out.println("恭喜你,答对了!"); } }

 

  

总结

通过这两个实例让我们学习了如何去分析一个小的项目,如何划分实现项目步骤以及如何用代码去实现这个项目,并且通过演练一些比较有趣的小游戏可以增加我们对开发语言的兴趣,为我们以后大的项目开发积累经验,提升自身竞争力。

 

  到此这篇关于Java实现斗地主与猜数字游戏详细流程的文章就介绍到这了,更多相关Java游戏内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: