/*

*
* 猜数字小游戏
*
* 先由系统生成一个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(); }
}

java猜数字小游戏的更多相关文章

  1. Java基础知识强化之IO流笔记70:Properties练习之 如何让猜数字小游戏只能玩5次的案例

    1. 使用Properties完成猜数字小游戏只能玩5次的案例: 2. 代码实现: (1)猜数字游戏GuessNumber: package cn.itcast_08; import java.uti ...

  2. 简单的C语言猜数字小游戏

    猜数字小游戏可谓是C语言最为基础的一个知识点了,我们可以在此基础上进行延伸,实现随机数的猜测,然后是加入再来一局的模式,等等.这里是抛砖引玉,希望你能做出你的经典之作. #include <st ...

  3. [Python3 练习] 007 简单的猜数字小游戏

    题目:简单的猜数字小游戏 (1) 描述 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜. (2) 要求 程序随机生成一个 1 到 100 的自然数 有 7 次机会去猜 机会用尽之前 ...

  4. 简单的猜数字小游戏--Python

    猜数字小游戏: #coding=utf-8 import random   answer =random.randint(1,100) #生成随机数 n=int (input("Please ...

  5. Java(控制台输出)实现猜数字小游戏

    import java.util.Scanner; import java.util.Random; public class GuestNum{ public static void main(St ...

  6. java代码 猜数字小游戏

    import java.util.Scanner; import java.util.Random; public class mulTip{ public static void main(Stri ...

  7. 零基础自学Python十天,写了一款猜数字小游戏,附源码和软件下载链接!

    自学一门语言最重要的是要及时给自己反馈,那么经常写一些小程序培养语感很重要,写完可以总结一下程序中运用到了哪些零散的知识点. 本程序中运用到的知识点有: 1.输入输出函数 (input.print) ...

  8. Python基础入门-实现猜数字小游戏

    今天呢,我们来通过前面学过的一些知识点来完成一个猜数字大小的游戏程序设计.那么呢,一般人写代码直接上来就干,没有分析,这样的做法是没有产出的,除非你是大牛,今天呢,我会把我学习编程的思路分享给大家,我 ...

  9. python新手如何编写一个猜数字小游戏

    此文章只针对新手,希望大家勿喷,感谢!话不多说先上代码: import random if __name__ == '__main__': yourname = input("你好! 你的名 ...

随机推荐

  1. UTF-8、GB2312都支持的汉字截取函数

    <?php/*Utf-8.gb2312都支持的汉字截取函数cut_str(字符串, 截取长度, 开始长度, 编码);编码默认为 utf-8开始长度默认为 0*/ function cut_str ...

  2. Samba服务器

    Windows操作系统下:DOC命令下:netstat -an查看端口 (一)简介 文件服务器 (二)端口 smbd: 为clinet提高资源访问 tcp  139  445    (类似于windo ...

  3. 复习篇(一)Activity的生命周期和启动模式

    (一)关于<intent-filter>中的<data> 当设置<data>过滤器的时候,使用intent的时候必须要设置响应的匹配,否则无法匹配成功.不过不设置则 ...

  4. FFMPEG图片转视频

    1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acod ...

  5. 正式学习React(四) 前序篇

    预热 redux 函数内部包含了大量柯里化函数以及代码组合思想 柯里化函数(curry) 通俗的来讲,可以用一句话概括柯里化函数:返回函数的函数 // example const funcA = (a ...

  6. (五)boost库之随机数random

    (五)boost库之随机数random boost库为我们提供了许多的日常随机数生成器: 1.uniform_smallint:在小整数域内的均匀分布 2.uniform_int:在整数域上的均匀分布 ...

  7. 100个linux站点

    (一) 文件下载 (二) 幽默娱乐 (三) 相关新闻 (四) 通用硬体 (五) 专用硬体 (六) 新手站点 (七) 图形/多媒体 (八) 游戏站点 (九) 网路杂志 (十) 入口(教育.链结) (十一 ...

  8. Unix/Linux环境C编程入门教程(25) C/C++字符测试那些事儿

    isalnum isalpha isascii iscntrl isdigit isgraph isislower isprint isspace ispunct isupper isxdigit介绍 ...

  9. [Leetcode][Python]43: Multiply Strings

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 43: Multiply Stringshttps://leetcode.co ...

  10. Opencv下图像对鼠标事件的响应

    直接上代码: //////////////////////////////////////////////////////////////////////// // // 该程序从文件中读入一幅图像, ...