package quick;
import java.util.Random;
public class Game {
Player player;
public Game(Player player) {
this.player = player;
}
/**
* 输出指定级别规定长度的字符串
* @return 输出的字符串 用于和用户输入比较
*/
public String printStr(){
StringBuffer buffer=new StringBuffer();
Random random=new Random();
//根据当前级别字符串长度循环填充字符串
for (int i = 0; i < LevelParam.levels[player.getLevelNo() - 1].getStrLength(); i++) {
int rand=random.nextInt(6);//生成0-5随机数
switch (rand) {
case 0:
buffer.append("1");
break;
case 1:
buffer.append("2");
break;
case 2:
buffer.append("3");
break;
case 3:
buffer.append("4");
break;
case 4:
buffer.append("5");
break;
case 5:
buffer.append("6");
break;
}
}
System.out.println("第"+player.getLevelNo()+"关\n请输入:"+buffer.toString());
return buffer.toString();
}
/**
* 判断随机输出与系统输入是否一致
* @param out
* @param in
*/
public void printResult(String out,String in){
//如果输入正确
if(out.equals(in)){
//如果时间超出 (1970.1.1到现在时间-游戏开始时间)
if((System.currentTimeMillis()-player.getStartTime())/1000>LevelParam.levels[player.getLevelNo()-1].getTimeLimit()){
System.out.println("时间超出,游戏结束");
System.exit(1);
}else{//时间未超出
//加分
player.setCurScore(player.getCurScore()+LevelParam.levels[player.getLevelNo()-1].getPerScore());
player.setElapsedTime((int)((System.currentTimeMillis()-player.getStartTime())/1000));
System.out.println("输入正确,您的积分是"+player.getCurScore()+"分," +
"您的级别是"+player.getLevelNo()+"级," +
"您所用时间"+player.getElapsedTime()+"秒");
//第六关
if(player.getLevelNo()==6){
//成绩得分=当前级别完成一次得分*成绩所需次数
int score= LevelParam.levels[player.getLevelNo()-1].getPerScore()*LevelParam.levels[player.getLevelNo()-1].getStrTimes();
if(player.getCurScore()==score){
System.out.println("闯关成功!!!");
System.exit(0);
}
}
}
}else{
System.out.println("输入错误,游戏结束");
System.exit(1);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
QuickHit 游戏考验你键盘输入的速度和准确性。 根据输入速度和正确率将玩家分为不同级别,级别越高,一次显示的字符数就越多,玩家 正确输入一次的得分也越高。如果玩家在规定时间内完成规定次数的输入,正确率达到 规定要求,则玩家升级(为了简单起见,规定用户错误输入一次,游戏结束)。玩家最 高级别为六级,初始级别一律为一级 QuickHit游戏的设计主要是面向对象的程序设计,用到了抽象,封装,继承和多态。
资源详情
资源评论
资源推荐
收起资源包目录
QuickHit.zip (22个子文件)
QuickHit
src
quick
LevelParam.java 487B
Game.java 3KB
Player.java 2KB
Level.java 1KB
Test.java 156B
QuickHit
Game.java 474B
Player.java 47B
LevelPargam.java 405B
Level.java 1KB
Test.java 45B
.idea
uiDesigner.xml 9KB
misc.xml 276B
modules.xml 263B
workspace.xml 7KB
.gitignore 184B
out
production
QuickHit
META-INF
QuickHit.kotlin_module 16B
quick
Test.class 463B
Level.class 1KB
Game.class 3KB
Player.class 2KB
LevelParam.class 549B
QuickHit.iml 433B
共 22 条
- 1
远离bug,珍爱头发
- 粉丝: 3971
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0