java實現(xiàn)快速打字游戲
本文實例為大家分享了java實現(xiàn)打字游戲的具體代碼,供大家參考,具體內(nèi)容如下
import java.util.Random;import java.util.Scanner;public class Game { public Game(Player player) { } public Game() { } public String printStr(Player player) { StringBuffer a=new StringBuffer(); for(int i=0;i<LevelParam.levels[player.getLevelNo()-1].getStrLength();i++) { int num=(int)(Math.random()*(7)); switch(num) { case 1: a.append('>'); break; case 2: a.append('<'); break; case 3: a.append('+'); break; case 4: a.append('-'); break; case 5: a.append('*'); break; case 6: a.append('/'); break; case 0: a.append('='); break; } } String str=a.toString(); System.out.println(str); return str; } public void printResult(Player player) { String num1=this.printStr(player); Scanner input=new Scanner(System.in); player.setStartTime(); String num2=input.next(); long currentTime=System.currentTimeMillis(); player.setElapsedTime(currentTime,player.getStartTime()); if (num1.equals(num2)) { if ((currentTime-player.getStartTime())/1000>LevelParam.levels[player.getLevelNo()-1].getTimeLimit()) { System.out.println('你輸入太慢了,輸入超時,退出。'); System.exit(1); } else { player.setCurScore(player); System.out.println('輸入正確,您的級別'+player.getLevelNo()+',您的積分'+player.getCurScore()+',已用時'+player.getElapsedTime()+'秒。'); } }else{ System.out.println('輸入錯誤,退出!'); System.exit(1); } }}public class Level { private int levelNo;//各級別編號 private int strLength;//各級別一次輸出字符串的長度 private int strTimes;//各級別輸出字符串的次數(shù) private int timeLimit;//各級別闖關(guān)的時間限制 private int perScore;//各級別正確輸入一次的得分 public int getLevelNo() { return levelNo; } public int getStrLength() { return strLength; } public int getStrTimes() { return strTimes; } public int getTimeLimit() { return timeLimit; } public int getPerScore() { return perScore; } public Level(int levelNo,int strLength,int strTimes,int timeLimit,int perScore) { this.levelNo=levelNo; this.strLength=strLength; this.strTimes=strTimes; this.timeLimit=timeLimit; this.perScore=perScore; }}public class LevelParam { public static final Level levels[]=new Level[6]; static{ levels[0]=new Level(1,2,10,30,1);//編號、字符串長度、字符串次數(shù)、關(guān)卡時間、正確得分 levels[1]=new Level(2,3,9,26,2); levels[2]=new Level(3,4,8,22,5); levels[3]=new Level(4,5,7,18,8); levels[4]=new Level(5,6,6,15,10); levels[5]=new Level(6,7,5,12,15); }}
import java.util.Scanner;public class Player { private int levelNo=1;//玩家當(dāng)前級別 private int curScore;//當(dāng)前級別積分 private long startTime;//當(dāng)前級別開始時間 private long elapsedTime;//當(dāng)前級別已用時間 public int getLevelNo() { return levelNo; } public void setLevelNo() { this.levelNo++; } public int getCurScore() { return curScore; } public void setCurScore(Player player) { this.curScore = curScore+LevelParam.levels[player.getLevelNo()-1].getPerScore();; } public void setCurScore(int a) { this.curScore=a; } public long getStartTime() { return startTime; } public void setStartTime() { this.startTime =System.currentTimeMillis();; } public long getElapsedTime() { return elapsedTime; } public void setElapsedTime(long a,long b) { this.elapsedTime=(a-b)/1000+elapsedTime; } public void setElapsedTime(int a) { this.elapsedTime=a; } public void play(Player player) { Game one=new Game(); for(int j=0;j<6;j++) { for(int i=0;i<LevelParam.levels[player.getLevelNo()-1].getStrTimes();i++) { one.printResult(player); } player.setLevelNo(); player.setCurScore(0); player.setElapsedTime(0); } }}public class Test { public static void main(String[] args) { Player p=new Player(); p.play(p); }}
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
C++經(jīng)典小游戲匯總
python經(jīng)典小游戲匯總
python俄羅斯方塊游戲集合
JavaScript經(jīng)典游戲 玩不停
java經(jīng)典小游戲匯總
javascript經(jīng)典小游戲匯總
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
