小游戏,电脑随机输出字符串,人输入相同的字符串,积分增加,等级提升,等级越高,难度越南,输入不相同,系统退出
package com.hai.inputGame;
/**
- 功能:系统随机输出符号
-
人根据系统输出的符号出入
-
输入正确积分增加,积分达到10等级提升
-
输入错误系统退出
-
等级越高,难度越大
- @author 郑振海
- Time:2017-02-24
*/
public class Test {
public static void main(String[] args) {
Game game=new Game();//game类对象
Person man=new Person();//person类对象
do{
String out = game.printStr();//系统随机输出的符号
System.out.println();
game.printResult(out,man);//将系统输出和person类对象传参
if(game.flag){
return;
}
System.out.println();
}while(!"0".equals(1));
}
}
*****************************分页
package com.hai.inputGame;
/**
- 功能:系统输出
-
判断输入与输出是否相同
- @author 郑振海
/
public class Game {
String []arr=new String[]{"<",">","&","","%","$","¥"};//创建系统随机输出数组
Level level=new Level();//等级对象
boolean flag=false;//通关
/**
* @exception 数组下标越界 通关
* @return 输出字符串,返回字符串用于和玩家输入比较。
/
String printStr() throws ArrayIndexOutOfBoundsException{
String out = "";//输出的字符串
try{
for (int i = 0; i < level.getLevelNo()+1; i++) {
int index = (int)Math.floor(Math.random()(level.getLevelNo()+1));
System.out.print(arr[index]);
out+=arr[index];
}
}catch(ArrayIndexOutOfBoundsException ai){
flag=true;
System.out.println("恭喜您已通关!");
}
return out;
}
/**
* 比较游戏输出out和玩家输入in,根据比较结果输出相应信息
* @param out 游戏输出
* @param in 玩家输入
* @param time 玩家输入字符耗时
*/
void printResult(String out,Person man){
String in = man.play();
long time = man.getTime();
if(out.equals(in)){
if((level.getLevelNo()==1&&time>4000)||(level.getLevelNo()==2&&time>5000)||
(level.getLevelNo()==3&&time>6000)||(level.getLevelNo()==4&&time>7000)||
(level.getLevelNo()==5&&time>8000)||(level.getLevelNo()==6&&time>9000)||
(level.getLevelNo()==7&&time>10000)||(level.getLevelNo()==8&&time>11000)){
System.out.println("输入超时!游戏结束");
flag=true;
return;
}
level.setPerScore(level.getPerScore()+1);
if(level.getPerScore()==10){
level.setPerScore(0);
level.setLevelNo(level.getLevelNo()+1);
}
********************************************分页8
package com.hai.inputGame;
import java.util.Scanner;
public class Person {
private long startTime;//开始时间
private long endTime;//结束时间
private long time;//输入耗时(毫秒)
/**
* 访问器
* @return startTime 开始时间,
* @return endTime 结束时间,
* @return time 输入耗时(毫秒)
/
public long getStartTime() {
return startTime;
}
public void setStartTime(long startTime) {
this.startTime = startTime;
}
public long getEndTime() {
return endTime;
}
public void setEndTime(long endTime) {
this.endTime = endTime;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
/*
* 玩游戏,记录输入时间
* @return 输入时间
*/
String play(){
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
this.startTime = System.currentTimeMillis();// 人物开始输入时间对应的毫秒数
String in = input.next();
this.endTime = System.currentTimeMillis();//人物结束输入时间对应的毫秒数
this.time=endTime-startTime;
return in;
}
}
************************分页
package com.hai.inputGame;
public class Level {
private int levelNo=1;//各级别号
private int perScore;//各级别正确输入一次的得分
/**
* 访问器
* @return 各级别号
* @return 各级别正确输入一次的得分
*/
public int getLevelNo() {
return levelNo;
}
public void setLevelNo(int levelNo) {
this.levelNo = levelNo;
}
public int getPerScore() {
return perScore;
}
public void setPerScore(int perScore) {
this.perScore = perScore;
}
}