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,珍爱头发
- 粉丝: 3926
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 一个由商业级项目升级优化而来的微服务架构,提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台
- java项目,课程设计-ssm房屋租赁系统求租合同Vue.zip
- 【小程序毕业设计】基于微信小程序得计分小程序源码(完整前后端+mysql+说明文档).zip
- 基于8位模型机的汇编指令执行模拟
- 【小程序毕业设计】辅助教学平台设计源码(完整前后端+mysql+说明文档).zip
- 视频行为识别框架MMaction2
- 【小程序毕业设计】教师预订系统源码(完整前后端+mysql+说明文档).zip
- 【Unity输入管理插件】Rewired 提供更高效的输入管理方案
- 基于微信小程序开发的在线问卷调查系统课程设计(服务端为微信云开发)
- Hutool是一个功能丰富且易用的Java工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0