猜数字(又称 Bulls and Cows )是一种古老的的密码破译类益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩。

通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4个数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,
出数者就要根据这个数字给出几A几B,其中A前面的数字表示数字正确且位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。

如正确答案为 5234,而猜的人猜 5346,则是 显示1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,
因此记为 2B,合起来就是 1A2B。
接着猜的人再根据出题者的几A几B继续猜,直到猜中(即 4A0B)为止。

锻炼逻辑思维能力,快去试试吧!

代码如下:

 public static void main(String[] args) {welcome();boolean flag = caiDan();int[] suiJiShu = suiJiShu();String fanHuan = "";int ciShu = 6;if (flag) {while (true) {int[] shuRu = shuRu(ciShu);fanHuan = panDuan(suiJiShu,shuRu,ciShu);ciShu--;if (ciShu < 0) {exit2();daAn(suiJiShu);}else if (fanHuan.equals("4A0B")){gonXi();}}} else {exit();}}public static void welcome() {JOptionPane.showMessageDialog(null, "欢迎进入 BULLS and COWS");}public static void exit() {JOptionPane.showMessageDialog(null, "游戏结束!");}public static void exit2() {JOptionPane.showMessageDialog(null, "机会已用完,游戏结束!");}public static void gonXi() {JOptionPane.showMessageDialog(null, "恭喜您,猜对了!!\n游戏结束!");System.exit(0);}public static boolean caiDan() {int zhi = JOptionPane.showConfirmDialog(null, """游戏规则:输入一个四位数猜数字,电脑根据输入数字返还?A?B如正确答案为 5234,而猜的人猜 5346,则是 显示1A2B,其中有一个5的位置对了,记为  1A,而3和4这两个数字对了,而位置没对,因此记为 2B,合起来就是 1A2B。接着您根据返还的?A?B继续猜,直到猜中(即 4A0B)为止。""");if (zhi == 0) {return true;} else {return false;}}public static int[] suiJiShu() {int[] suiJi = new int[4];int[] score = new int[9];for (int i = 0; i < score.length; i++) {score[i] = i + 1;}for (int i = 0; i < suiJi.length; i++) {int zhongJian = (int) (Math.random() * 9);if (score[zhongJian] != -1) {suiJi[i] = score[zhongJian];score[zhongJian] = -1;} else {i--;continue;}
//            System.out.println(suiJi[i]);}return suiJi;}public static void daAn(int[] suiJi){String a = "";for (int i = 0;i<suiJi.length;i++){a+=suiJi[i];}System.out.print("正确答案为"+a);System.exit(0);}public static int[] shuRu(int ciShu) {String shuRuStr = JOptionPane.showInputDialog(null, "请输入一个四位数:");System.out.println("输入提醒(第"+(7-ciShu)+"次输入):"+shuRuStr+"\t");int shuRu = Integer.parseInt(shuRuStr);int[] shuRuArray = new int[4];for (int i = shuRuArray.length-1; i >= 0; i--) {shuRuArray[i] = shuRu % 10;shuRu /= 10;}return shuRuArray;}public static String panDuan(int[] suiJiShu,int[] shuRu,int ciShu) {int a = 0,b = 0;for (int i =0;i<suiJiShu.length;i++){if (suiJiShu[i]==shuRu[i]){a++;}else {for (int j = 0; j <shuRu.length ; j++) {if (suiJiShu[i]==shuRu[j]){b++;}}}}JOptionPane.showMessageDialog(null,a+"A"+b+"B"+"\n"+"您还有"+ciShu+"次机会");return a+"A"+b+"B";}

猜数字小游戏 --- 公牛母牛相关推荐

  1. 1.12 实例:猜数字小游戏

    猜数字是一个经典的小游戏,程序先产生一个随机数,然后用户输入数字,程序将输入的数字与随机数进行对比,给出用户相应的提示信息. 本节实现了一个基于 IO 流的猜数字游戏,游戏中限制玩家游戏次数,游戏试玩 ...

  2. 第三次学JAVA再学不好就吃翔(part28)--猜数字小游戏

    学习笔记,仅供参考 面向对象 猜数字小游戏 随机生成一个1 ~ 100之间的数,我来猜是几: import java.util.Scanner;class GuessNumTest {public s ...

  3. 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏

    目录 [iVX 初级工程师培训教程 10篇文拿证]01 了解 iVX 完成新年贺卡 [iVX 初级工程师培训教程 10篇文拿证]02 数值绑定及自适应网站制作 [iVX 初级工程师培训教程 10篇文拿 ...

  4. java 做猜数字小游戏_Java Properties类:利用Properties类制作猜数字小游戏

    在学习Random类时我们制作过猜数字小游戏,学习了Properties类后,可以为此游戏添加保存得分记录功能 游戏规则: 玩家可以选择玩游戏还是查看得分 玩游戏: 首先玩家需要选择难度: 难度级别 ...

  5. 猜数字小游戏(随机生成’三剑客‘)

    大家好,我是一只励志要翻身的小牛,废话少说,下面就给大家介绍第一个C语言小游戏--猜数字小游戏! 文章目录 一.游戏规则 二.效果展示 三.游戏设计思路 四.游戏交互界面 1.创建游戏菜单 2.创建游 ...

  6. C++猜数字小游戏1.0.1版猜数字1.1---国庆特版(双人战斗版)

    (回忆上一篇开头--) 国庆在家,你觉得无聊吗???                                                                          ...

  7. 带登录页面的猜数字小游戏

    本内容包含:登录页面+注册页面+猜数字小游戏页面 登录页面:手机号+密码+校验码+随机校验码+登录按钮+注册 注册页面:手机号+密码+密码确认+注册按钮 游戏页面:标题(提示框)+输入框+猜一下+重置 ...

  8. 微信小程序开发实例:猜数字小游戏

    这学期选修了<微信小程序设计>这门通识课,最近准备把本学期的部分小作业整理一下. 一.案例描述 设计一个微信小程序,由后台生成一个0~100的随机整数,用户猜这个整数,并在输入框中输入用户 ...

  9. 初识JAVA:猜数字小游戏案例---系统产生一个1-100之间的随机数,猜出这个数是多少?

    package com.pku.wuyu.io; import java.util.IllegalFormatCodePointException; import java.util.Random; ...

最新文章

  1. 【ACM】杭电OJ 2090
  2. Castle ActiveRecord学习实践(4):实现One-Many关系的映射
  3. JetBrains —— JetBrains系列IDE优化配置(提高启动和运行速度)
  4. python 之 前端初识 html
  5. [转载] python基础入门二
  6. 深度学习(三十八)卷积神经网络入门学习(2.0)
  7. AndroidDeveloper Weekly No.5
  8. 笔记 -凸函数 /KL距离
  9. 【2022年Spring全家桶】Spring5.x 框架详解
  10. 22fall 游戏/数字媒体/人机交互DIY留学申请经验贴
  11. 代码题--C++--小米--英文句子字符串反转
  12. java黄金矿工完整源代码_黄金矿工funcode版(源码加实验报告)
  13. Python绘制气象风场
  14. 计算机专业买什么台式电脑,电脑系统那个好 台式电脑装什么系统好
  15. 微信php背景音乐,微信公众平台添加背景音乐
  16. 诸侯安置 搜索02 empire
  17. 腾讯反360秘密会议
  18. android eventlog监听,Android EventLog总结
  19. 大学计算机--计算思维的视角
  20. 阿里云车联网安全解决方案-v1.0-外部版

热门文章

  1. Fwcms模板建站常见问题整理合集解答
  2. 华硕无畏15i 2023评测 华硕无畏15i 2023值得入手吗
  3. git解决fatal: unable to access ‘https://gitee.com/XXX.git/‘: The requested returned error: 403
  4. MacOS 开启latex人生(mactex+texmaker安装)
  5. 分类任务中的类别不平衡问题
  6. 大学物理上册详细笔记_大学物理上册课堂笔记
  7. python读书心得体会范文_读书的心得体会范文3篇
  8. 《神奇的数学》读后感_《走进奇妙的数学世界》读后感
  9. java dcm转bmp源码_DCM文件转图像,并高清处理图像
  10. 抖音_利用python实现字符串跳舞~背景音乐异常处理