Javaoop第五章快速击键系统
来源:互联网 发布:删除所有表 sql语句 编辑:程序博客网 时间:2024/04/28 18:44
package cn.happy.Play;import java.util.Random;import cn.happy.Play.LevelParam;/* * 游戏类 */public class Game {public Player player;public Game(Player player) {super();this.player = player;} public String printStr() { StringBuffer buffer=new StringBuffer(); Random random=new Random(); int strLength=LevelParam.level[player.getLevelNo()-1].getStrLength(); for (int i = 0; i < strLength; i++) { //产生随机数int ran=random.nextInt(strLength);switch (ran) {case 0:buffer.append("1");break;case 1:buffer.append("1");break;case 2:buffer.append("1");break;case 3:buffer.append("1");break;case 4:buffer.append("1");break;case 5:buffer.append("1");break;case 6:buffer.append("1");break;}} System.out.println(buffer);return buffer.toString();}public void printResult(String out,String in) {long currentTime=System.currentTimeMillis();if (out.equals(in)) {if ((currentTime-player.getStartTime())/1000>LevelParam.level[player.getLevelNo()-1].getTimeLinit()) {System.out.println("你的速度太慢了 ");System.exit(1);}else {//当前级别int level=player.getLevelNo();//当前级别所用时间int time=(int)(currentTime-player.getStartTime())/1000;//当前的积分情况player.setCurScore((player.getCurScore()+LevelParam.level[player.getLevelNo()-1].getPerScore()));int scores=player.getCurScore();System.out.println("输入正确,您的级别为"+level+",获得积分为"+scores+",所用时间为"+time);if (level==6) {System.out.println("恭喜通关");System.exit(1);}}}else {System.out.println("输入错误,正确的是"+out);System.exit(1);}}}
package cn.happy.Play;/* * 级别类 */public class Level {private int levelNo;//各级别编号 private int strLength;//各级别一次输出字符串的长度 private int strTimes;//各级别输出字符串的次数 private int timeLinit;//各级别闯关的时间限制 private int perScore;//各级别正确输入一次的得分 public Level() {}public Level(int levelNo, int strLength, int strTimes, int timeLinit,int perScore) {super();this.levelNo = levelNo;this.strLength = strLength;this.strTimes = strTimes;this.timeLinit = timeLinit;this.perScore = perScore;}public int getLevelNo() {return levelNo;}public void setLevelNo(int levelNo) {this.levelNo = levelNo;}public int getStrLength() {return strLength;}public void setStrLength(int strLength) {this.strLength = strLength;}public int getStrTimes() {return strTimes;}public void setStrTimes(int strTimes) {this.strTimes = strTimes;}public int getTimeLinit() {return timeLinit;}public void setTimeLinit(int timeLinit) {this.timeLinit = timeLinit;}public int getPerScore() {return perScore;}public void setPerScore(int perScore) {this.perScore = perScore;}}
package cn.happy.Play;public class LevelParam { public static final Level[] level=new Level[6];static{level[0]=new Level(1,2,10,30,1);level[1]=new Level(2,3,9,26,2);level[2]=new Level(3,4,8,22,5);level[3]=new Level(4,5,7,18,8);level[4]=new Level(5,6,6,15,10);level[5]=new Level(6,7,5,12,15);}}
package cn.happy.Play;import java.util.Scanner;/* * 玩家类 */public class Player {Scanner input=new Scanner(System.in); private int levelNo;//玩家当前级别号 private int curScore;//玩家当前级别积分 private long startTime;//当前级别开始时间 private int elapsedTime;//当前级别已用时间 private int perScore; // 各级别成功输入一次字符串后增加的分值 public void Play() { Game game=new Game(this);for (int i = 0; i <LevelParam.level.length ; i++) {levelNo+=1;startTime=System.currentTimeMillis();curScore=0;elapsedTime=0;for (int j = 0; j < LevelParam.level[i].getStrTimes(); j++) {//游戏输出字符串String outstr=game.printStr();//接受用户输入String instr=input.next();//游戏判断玩家输入是否正确,并输出相应结果信息game.printResult(outstr, instr);}}}public int getLevelNo() {return levelNo;}public void setLevelNo(int levelNo) {this.levelNo = levelNo;}public int getCurScore() {return curScore;}public void setCurScore(int curScore) {this.curScore = curScore;}public long getStartTime() {return startTime;}public void setStartTime(long startTime) {this.startTime = startTime;}public int getElapsedTime() {return elapsedTime;}public void setElapsedTime(int elapsedTime) {this.elapsedTime = elapsedTime;}public Player(int levelNo, int curScore, long startTime, int elapsedTime) {this.levelNo = levelNo;this.curScore = curScore;this.startTime = startTime;this.elapsedTime = elapsedTime;}public Player() {} }
package cn.happy.Play;public class Test {/** * @param args */public static void main(String[] args) {Player player=new Player();player.Play();}}
0 0
- Javaoop第五章快速击键系统
- Javaoop第五章快速击键系统
- java oop 第五章 快速击键系统
- JavaOOP 快速击键
- 第五章 快速击键游戏
- JAVA面向对象第五章快速击键
- 快速击键系统Quickhit
- QuickHit快速击键系统
- javaoop第五章
- 快速击键
- 快速击键
- 快速击键游戏
- 快速击键项目
- java 快速击键
- 快速击键项目
- java 快速击键游戏
- javaoop 第10章
- javaOOP
- leetcode179. Largest Number
- 外部中断0下降沿触发
- linux获取当前时间小总结
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- jenkins :HTTP Error 500 : PermGen Space
- Javaoop第五章快速击键系统
- 【个人笔记重点,不作为参考】主题:git杂文
- 关于小米手机 delete_failed_internal_error
- python IDE
- 前段构建工具各自的优缺点
- 【bzoj 2705】[SDOI2012]Longge的问题
- springmvc一个跳转jsp页面被过滤器过滤好几次的问题
- iOS
- retrofit 上传文件, 新方式 传的是数组 或者文件