歡迎您光臨本站 註冊首頁

java實現快速打字遊戲

←手機掃碼閱讀     zhang3221994 @ 2020-07-06 , reply:0

本文實例為大家分享了java實現打字遊戲的具體代碼,供大家參考,具體內容如下

  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;//各級別輸出字符串的次數   private int timeLimit;//各級別闖關的時間限制   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);//編號、字符串長度、字符串次數、關卡時間、正確得分   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;//玩家當前級別   private int curScore;//當前級別積分   private long startTime;//當前級別開始時間   private long elapsedTime;//當前級別已用時間      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);    }  }

 

  

   


[zhang3221994 ] java實現快速打字遊戲已經有260次圍觀

http://coctec.com/docs/java/show-post-241485.html