小游戏,电脑随机输出字符串,人输入相同的字符串,积分增加,等级提升,等级越高,难度越南,输入不相同,系统退出

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;
}

}

posted @ 2017-03-05 11:30  振海  阅读(193)  评论(0编辑  收藏  举报