首页 技术 正文
技术 2022年11月19日
0 收藏 853 点赞 4,083 浏览 2292 个字
/*

*
* 猜数字小游戏
*
* 先由系统生成一个2-100之间的随机数字,
*
* 然后捕获用户从控制台中输入的数字是否与系统生成的随机数字相同,
*
* 如果相同则统计用户所猜的次数,并给出相应评价
*
* 评价标准:用户猜的次数小于等于6次,您的灵感非常优秀!
*
* 大于等于12次,您的灵感只能说一般!
*
* 反之提示: 您的灵感太差了,必须尽快想办法提高!
*
* 用户猜对数字并给出相应评价之后,提示用户是否继续本游戏
*
* 提示信息为: 本次游戏结束,是否继续,继续请输入1,反之退出:
*
* 然后捕获用户输入的数字是否为1,如果为1,则重新开始本游戏.反之退出(结束)本游戏.
*
* 如果用户在猜数字的过程中输入了0,(不论何时)则退出本游戏.
*
* 1.首先定一个interface(NumberGameInterface),在interface中定义两个方法:
*
* 第一个方法: 判断用户输入的是否是退出游戏的标识数字(参数num是用户输入的标识数字)
*
* 如果用户输入的是0,则返回true,反之返回false
*
* boolean isExit(int num)
*
* 第二个方法: 开始游戏
*
* void gameStart()
*
* 2.然后定义实现类(NumberGameImpl)实现接口中的方法,最后编写一个测试类(NumberGameTest)用于测试本游戏
*
* 提示
* 1.生成一个指定范围的随机数:
*Random rand = new Random();
*int num;// 用于保存系统生成的随机数
*//num = rand.nextInt(100);// 由系统生成一个0-100(不包括)之间的随机数
*num = 2 + rand.nextInt(99);// 由系统生成一个 2-100 之间的随机数
*
* 2.结束程序运行:
* System.exit(0);
*
*

*/
import java.util.*;
interface NumberGameInterface {
public abstract boolean isExit(int num);
public abstract void gameStart();
}class Game implements NumberGameInterface {
public boolean isExit(int num) {
if (num == 0) {
return true;
} else {
return false;
}
} public void gameStart() {
Scanner scan = new Scanner(System.in);
Random rand = new Random();
int num; // 用于保存系统生成的随机数
// num = rand.nextInt(100);// 由系统生成一个0-100(不包括)之间的随机数
num = 2 + rand.nextInt(99);// 由系统生成一个 2-100 之间的随机数
System.out.println("num=" + num); boolean flag = true;
int total = 0;// 记录猜的次数
while (true) {
System.out.println("输入你猜的数字:");
int unumer;
unumer = scan.nextInt();
flag = !isExit(unumer);
if (isExit(unumer)) {
System.out.println("---------输入0 游戏结束-----------");
System.exit(0); }
total++;
if (unumer == num) {
flag = false;
if (total <= 6) {
System.out.println("您猜了" + total + "次,您的灵感非常优秀!"); System.out.println("游戏结束:1.重新开始 本游戏 0.退出游戏");
int unumer1 = scan.nextInt();
if (isExit(unumer1)) {
System.out.println("*****Game Over!***********");
System.exit(0);
} else {
total = 0;
flag = true;
}
} else if (total <= 12) {
System.out.println("您猜了" + total + "次,您的灵感只能说一般!");
System.out.println("游戏结束:1.重新开始本游戏 0. 退出游戏");
int unumer1 = scan.nextInt(); if (isExit(unumer1)) {
System.out.println("*****Game Over!***********");
System.exit(0);
} else {
total = 0;
flag = true;
}
} else {
System.out.println("您猜了" + total + "次,您的灵感太差了,必须尽快想办法提高!");
System.out.println("游戏结束:1.重新开始本游戏 0.退出游戏");
int unumer1 = scan.nextInt();
if (isExit(unumer1)) {
System.out.println("*****Game Over!***********");
System.exit(0);
} else {
total = 0;
flag = true;
}
}
} } } /**
* @param args
*/
}class TestGame {
public static void main(String[] args) {
// TODO Auto-generated method stub
Game g1 = new Game();
g1.gameStart(); }
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,961
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,485
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,331
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,113
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,746
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,780