java猜数字小游戏
/*
*
* 猜数字小游戏
*
* 先由系统生成一个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猜数字小游戏的更多相关文章
- Java基础知识强化之IO流笔记70:Properties练习之 如何让猜数字小游戏只能玩5次的案例
1. 使用Properties完成猜数字小游戏只能玩5次的案例: 2. 代码实现: (1)猜数字游戏GuessNumber: package cn.itcast_08; import java.uti ...
- 简单的C语言猜数字小游戏
猜数字小游戏可谓是C语言最为基础的一个知识点了,我们可以在此基础上进行延伸,实现随机数的猜测,然后是加入再来一局的模式,等等.这里是抛砖引玉,希望你能做出你的经典之作. #include <st ...
- [Python3 练习] 007 简单的猜数字小游戏
题目:简单的猜数字小游戏 (1) 描述 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜. (2) 要求 程序随机生成一个 1 到 100 的自然数 有 7 次机会去猜 机会用尽之前 ...
- 简单的猜数字小游戏--Python
猜数字小游戏: #coding=utf-8 import random answer =random.randint(1,100) #生成随机数 n=int (input("Please ...
- Java(控制台输出)实现猜数字小游戏
import java.util.Scanner; import java.util.Random; public class GuestNum{ public static void main(St ...
- java代码 猜数字小游戏
import java.util.Scanner; import java.util.Random; public class mulTip{ public static void main(Stri ...
- 零基础自学Python十天,写了一款猜数字小游戏,附源码和软件下载链接!
自学一门语言最重要的是要及时给自己反馈,那么经常写一些小程序培养语感很重要,写完可以总结一下程序中运用到了哪些零散的知识点. 本程序中运用到的知识点有: 1.输入输出函数 (input.print) ...
- Python基础入门-实现猜数字小游戏
今天呢,我们来通过前面学过的一些知识点来完成一个猜数字大小的游戏程序设计.那么呢,一般人写代码直接上来就干,没有分析,这样的做法是没有产出的,除非你是大牛,今天呢,我会把我学习编程的思路分享给大家,我 ...
- python新手如何编写一个猜数字小游戏
此文章只针对新手,希望大家勿喷,感谢!话不多说先上代码: import random if __name__ == '__main__': yourname = input("你好! 你的名 ...
随机推荐
- 解决rsync 同步auth failed on module问题
今天在同步备份文件时遇到一个情况,以前正常的备份,在昨天突然同步备份文件失败了.于是开始检查原因..... 报错日志/var/log/rsyncd.log发现错误 // :: [] auth fail ...
- JSON之三:获取JSON文本并解释(以google的天气API为例)
google提供了天气的api,以广州天气为例,地址为: http://api.openweathermap.org/data/2.5/weather?q=guangzhou 返回的结果为: { ...
- webservice跨服务器上传附件
最近一个项目,用到文件上传功能,本来简单地使用upload控件直接post到服务器保存,简单实现了.后来考虑到分布是部署,静态附件.图片等内容要单独服务器(命名为B服务器,一台,192.168.103 ...
- PHP header() http各种状态码大全查询
PHP header()the function declaration: void header ( string string [, bool replace [, int http_respon ...
- Sublime Text 3 个人配置文件
{ "dpi_scale": 1.0, "draw_white_space": "selection", "fallback_en ...
- mysql 1054错误
往数据库插入数据的时候报错,插入数据的是这样的 [SQL] insert into stock(code,name,b_price,s_price,num,rate,profit) values (1 ...
- QString转LPCWSTR
QFileInfo info("./records.db"); std::string str = info.absoluteFilePath().toStdString(); / ...
- mysql各种日志对应的配置项
01.error_log --log-error=<file_name> 02.general_log --general-log-file=<file_name> --gen ...
- Struts2 请求处理步骤
1) 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 )这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器 ...
- JAVA笔记1-00
package chapter1; public class Demo1 { public static void main(String[] args) { System.out.println(& ...