iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java怎么实现斗地主与猜数字游戏
  • 176
分享到

Java怎么实现斗地主与猜数字游戏

2023-06-30 11:06:14 176人浏览 安东尼
摘要

这篇文章主要介绍了Java怎么实现斗地主与猜数字游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现斗地主与猜数字游戏文章都会有所收获,下面我们一起来看看吧。斗地主小游戏之洗牌发牌任务描述编写一个

这篇文章主要介绍了Java怎么实现斗地主与猜数字游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现斗地主与猜数字游戏文章都会有所收获,下面我们一起来看看吧。

斗地主小游戏之洗牌发牌

任务描述

编写一个斗地主发牌洗牌的程序,要求按照斗地主的规则完成洗牌发牌的过程,牌面由花色色和数字(包括J,Q,K,A字母)组成,花色有红桃,黑桃,方块,梅花组成。还设有大王和小王。将这54张牌的顺序打乱,有三位玩家参与游戏,每人轮流一次摸一张牌,剩余的三张作为底牌,程序结束,打印出每人手中的纸牌和底牌。

运行结果  

Java怎么实现斗地主与猜数字游戏 

任务目标

  • 学会分析"斗地主小游戏之洗牌发牌"程序的实现思路。

  • 能够根据思路独立完成"斗地主小游戏之洗牌发牌"程序的代码编写,编译及运行。

  • 掌握ArrayList和HashMap集合的特点以及增强for循环的使用。

实现思路

①要实现纸牌程序,首先要在程序中添加54张牌,这些牌包括红桃,黑桃,梅花,方块各13张,加上大王和小王。

②将花色集合和数字集合这两个集合进行嵌套循环,将花色与数字组合,形成52张牌,并且赋予编号,将组合后的牌放入HashMap集合中,集合的key值是编号,value值是组装完成的纸牌,还有大王和小王,由于组装规则不一致,需要单独使用add()方法将这两张纸牌加入到HashMap集合中。

③创建一个数字集合,用这个数字集合来替代纸牌完成洗牌和发牌的操作,由于一共有54张牌,所以创建集合的范围为0-53。

④可以使用Collections类的shuffle()方法完成打乱数字集合的操作,实现洗牌的效果。由于只有三个人,所以可以使用for循环,通过将数字与3取余的方法,将代表不同纸牌的数字分配给不同的人和底牌,实现发牌效果。

⑤洗牌发牌完成之后,可通过Collections类的sort()方法完成排序,之后通过增强for循环HashMap集合,根据数字查找对应的纸牌字符串,并存入新创建的字符串集合中,最后展示字符串集合。

实现代码

package Swing; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; public class DoudiZhu {     public static void main(String[]args) {         //准备花色         ArrayList<String>color=new ArrayList<String >();         color.add("黑桃");         color.add("红桃");         color.add("方块");         color.add("梅花");         //准备数字,用列表将纸牌从大到小排列         ArrayList<String >number=new ArrayList<String >();         for(int i=3;i<=10;i++){             number.add(i+"");         }         number.add("J");         number.add("Q");         number.add("K");         number.add("A");         number.add("2");         //定义一个map集合,用来将数字与每一张纸牌进行对应         HashMap<Integer,String>map=new HashMap<Integer,String>();         //纸牌编号         int index=0;         //循环纸牌数字         for(String thisNumber:number){             //循环纸牌花色             for(String thisColor:color){                 //将花色与数字组合,形成52张牌,并赋予编号                 map.put(index++,thisColor+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,你猜小了";如果一直猜错,则游戏一直进行下去,直到数字猜对为止。

运行结果

Java怎么实现斗地主与猜数字游戏  

任务目标

  • 学会分析"猜数字游戏"程序的实现思路。

  • 根据思路独立完成"猜数字游戏"的源代码编写,编译和运行。

  • 掌握在程序中使用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怎么实现斗地主与猜数字游戏”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Java怎么实现斗地主与猜数字游戏

本文链接: https://www.lsjlt.com/news/328386.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java怎么实现斗地主与猜数字游戏
    这篇文章主要介绍了Java怎么实现斗地主与猜数字游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现斗地主与猜数字游戏文章都会有所收获,下面我们一起来看看吧。斗地主小游戏之洗牌发牌任务描述编写一个...
    99+
    2023-06-30
  • Java实现斗地主与猜数字游戏详细流程
    目录斗地主小游戏之洗牌发牌任务描述运行结果  任务目标实现思路实现代码猜数字游戏任务描述运行结果任务目标实现思路实现代码总结斗地主小游戏之洗牌发牌 任务描述 编写一个斗地主...
    99+
    2024-04-02
  • Java实现斗地主小游戏
    本文实例为大家分享了Java实现斗地主小游戏的具体代码,供大家参考,具体内容如下 原理图: 斗地主过程:  *  1、组合牌  * &nbs...
    99+
    2024-04-02
  • 怎么用Java实现斗地主小游戏
    这篇文章主要讲解了“怎么用Java实现斗地主小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Java实现斗地主小游戏”吧!本文实例为大家分享了Java实现斗地主小游戏的具体代码,供...
    99+
    2023-06-20
  • Java怎么实现猜数字游戏
    本篇文章给大家分享的是有关Java怎么实现猜数字游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言以前在学C语言的时候,做过一个猜数字游戏,这两天学了Java的逻辑结构,试...
    99+
    2023-06-25
  • Java中如何实现斗地主游戏
    这篇文章给大家分享的是有关Java中如何实现斗地主游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。题目要求:通过自制54张扑克牌,发给3人,留下3张底牌,分别显示不同人的手牌与底牌达到斗地主的游戏需求算法思想:...
    99+
    2023-06-20
  • Eclipse+Java+Swing实现斗地主游戏(代码)
    目录一、系统介绍二、系统展示1.扑克分发2.抢地主3.出牌4.游戏胜利三、系统实现Card.javaCardType.javaCommon.javaModel.javaNewSwin...
    99+
    2024-04-02
  • 用java实现猜数字游戏
    本文实例为大家分享了java实现猜数字游戏的具体代码,供大家参考,具体内容如下 一、游戏操作 游戏操作如下: 后台预先生成一个1-100之间的随机数,用户键盘录入猜数字 如果猜...
    99+
    2024-04-02
  • Java实现猜数字小游戏
    目录1. 开篇简介2. 需求简介3. 思路分析4. 步骤讲解5. 代码实现6. 如何更快猜到数字的方法总结1. 开篇简介 嗨,大家好!!!『』最近『马上』就要『过年』了,先祝大家『新...
    99+
    2024-04-02
  • 使用java实现一个斗地主游戏
    这期内容当中小编将会给大家带来有关使用java实现一个斗地主游戏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。斗地主案例按照斗地主的规则,完成洗牌发牌的动作。具体规则: 使用54张牌打乱顺序,三个玩家参与...
    99+
    2023-06-06
  • Java实战项目之斗地主和斗牛游戏的实现
    目录一、前言1.斗地主:1.1运行结果:2.斗地主升级版2.1原理:2.2运行结果:3.斗牛游戏:3.1运行结果:一、前言 练一个斗地主小游戏,只能发看牌 1.斗地主: im...
    99+
    2024-04-02
  • javascript猜数字游戏怎么实现
    以下是一个简单的JavaScript猜数字游戏的实现:1. 首先,我们需要生成一个随机数作为答案。可以使用Math.random()...
    99+
    2023-05-13
    javascript猜数字 javascript
  • python怎么实现猜数字游戏
    要实现猜数字游戏,可以按照以下步骤进行:1. 生成一个随机数作为答案,可以使用random模块中的randint()函数来生成一个指...
    99+
    2023-08-15
    python
  • .NetCore使用SignalR实现斗地主游戏
    之前开内部培训,说到实时web应用这一块讲到了SignalR,我说找时间用它做个游戏玩玩,后面时间紧张就一直没安排。这两天闲了又想起这个事,考虑后决定用2天时间写个斗D主,安排了前端...
    99+
    2024-04-02
  • 怎么在java中使用HashMap实现一个斗地主游戏
    本篇文章给大家分享的是有关怎么在java中使用HashMap实现一个斗地主游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、准备牌:每张扑克牌牌由花色和数字两部分组成。可以...
    99+
    2023-06-06
  • Java实现猜数字小游戏代码
    目录▲游戏规则:▲实现思路:实验结果:总结▲游戏规则: 系统随机生成一个范围0——100的数,用户输入数字,判断该数字是大于,小于,还是等于随机生成的数字,等...
    99+
    2024-04-02
  • 怎么用Shell实现猜数字游戏
    本篇内容介绍了“怎么用Shell实现猜数字游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这篇文章主要为大家详细介绍了Shell实现猜数字...
    99+
    2023-06-05
  • Linux怎么实现猜字游戏
    这篇文章主要介绍“Linux怎么实现猜字游戏”,在日常操作中,相信很多人在Linux怎么实现猜字游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux怎么实现猜字游戏”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-22
  • java基础实现猜数字小游戏
    本文实例为大家分享了java实现猜数字小游戏的具体代码,供大家参考,具体内容如下 介绍: 电脑随机生成一个1-100的随机数,用户输入一个数;电脑判断输入数与随机数之间的大小,分别提...
    99+
    2024-04-02
  • Python实现猜数字小游戏
    首先需求一共有五次猜测机会,在五次机会中才对就赢了,结束游戏,五次都猜错就输了,也结束游戏。首先先画个草图,这是我画的草图 再根据草图编写一个窗口,一个Label,一个Entry,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作