/*

*
* 猜数字小游戏
*
* 先由系统生成一个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. JAVA中List与Array之间互换

    1.Array转List ArrayList<String> list = new ArrayList<String>(); String[] arr = new String ...

  2. 认识JSONP

    jsonp 全称是JSON with Padding 我们大家都知道ajax是不能发起跨域请求,现在可以通过jsonp来弥补ajax的这一缺陷 通过script标签的src属性就可以实现跨域请求.如( ...

  3. Sphinx Makefile

    # Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPT ...

  4. website

    http://blog.csdn.net/jixianghao/article/details/45364639 http://blog.sina.com.cn/s/blog_ad64b8200101 ...

  5. Demo+在Linux下运行(CentOS7+dotnetcore sdk)

    来份ASP.NET Core尝尝 0x01.前言 学习ASP.NET Core也有一段时间了,虽说很多内容知识点还是处于一知半解的状态,但是基本的,还是 略懂一二.如果有错误,还望见谅. 本文还是和之 ...

  6. SQL Server 823,824 错误

    第一: 823错误只代表.SQL server 要向操作系统申请一个页面读写的时候遇到Windos读取或写入失败.823错误是读写请求时发生的 和读写的内容没有关系.823与SQL server 本身 ...

  7. DPark安装及相关资料整理

    最近需要处理海量数据的分布式计算及数据挖掘,经过多次选择(hadoop,Spark,DPark),最后还是选择了DPark,主要是看中DPark的轻量级及python的灵活性,且除了豆瓣外,在几个友公 ...

  8. 关于Thread的Runnable和Callable接口

    其实非常简单:其实他们的区别就是Callable有返回值并且可以抛出异常. /** * Represents a command that can be executed. Often used to ...

  9. C11 memory_order

    概念: 摘录自:http://preshing.com/20120913/acquire-and-release-semantics/ Acquire semantics is a property ...

  10. poj3624 简单的01背包问题

    问题描述: 总共有N种宝石供挑选,宝石i的重量为Wi,吸引力为Di,只可以用一次.Bessie最多可负担的宝石手镯总重量为M.给出N,M,Wi,Di,求M. 非常标准的01背包问题.使用了优化的一维数 ...