2015-04-28 85 views
-4

我有一個遊戲,它有一個開始/停止按鈕。這場比賽的目的是要看你的頭腦是否能數到10。當您按下開始按鈕時,(不可見)定時器啓動,當您按下停止按鈕時,它應停止定時器並在頁面上顯示您的分數。你越接近10秒,你得到的分數越高。 我想知道如何實現一個評分系統,因爲它是基於時間,我不知道如何將其轉換爲int?下面是使它運行的代碼。如何在安卓遊戲的java中添加評分系統

private Runnable updateTimerThread = new Runnable() { 

    public void run() { 

     timeInMilliseconds = SystemClock.uptimeMillis() - startTime; 

     updatedTime = timeSwapBuff + timeInMilliseconds; 

     int secs = (int) (updatedTime/1000); 
     int mins = secs/60; 
     secs = secs % 60; 
     int milliseconds = (int) (updatedTime % 1000); 
     timerValue.setText("" + mins + ":" 
       + String.format("%02d", secs) + ":" 
       + String.format("%03d", milliseconds)); 
     customHandler.postDelayed(this, 0); 
    } 

}; 

回答

0

隨着時間差變大,您可以實現一個記分系統,用戶得到最大的10000點的點擊正好10秒,一個較小的分數。

long clickTime = System.currentTimeMillis() - startTime; //time between start and stop clicks 
long timeDifference = Math.abs(10000L - clickTime); //absolute time difference between 10 second and the users clicks 

int score = 10000; //set maximum score 
score = score - (int) clickTime; //subtract the time difference from the score to get actual score 

您應該記得使用System.currentTimeMillis()來查找您的startTime。如果用戶的點擊時間超過20秒,此方法會給出負面評分,因此如果您願意,可以添加另一個語句將其重置爲0。