簡體   English   中英

PHP數學大於

[英]PHP math greater than

我正忙於為我的網站制作一個關卡系統,我已經有了一個if / else系統來進行點擊次數的提升。

因此,如果您單擊了44次,則您處於1級。唯一的問題是人們已經點擊了10.000次以上(實際上很酷),但是現在我必須做很多if才能為其創建一個水平。 這就是我已經擁有的:

  if($score['clicks'] >= 0 && $score['clicks'] <= 49)
  {
      $level = 'Level 2';
  }
  elseif($score['clicks'] >= 50 && $score['clicks'] <= 199)
  {
      $level = 'Level 3';
  }
  elseif($score['clicks'] >= 200 && $score['clicks'] <= 349)
  {
      $level = 'Level 4';
  }
  elseif($score['clicks'] >= 350 && $score['clicks'] <= 499)
  {
      $level = 'Level 5';
  }
  elseif($score['clicks'] >= 500 && $score['clicks'] <= 749)
  {
      $level = 'Level 6';
  }
  elseif($score['clicks'] >= 750 && $score['clicks'] <= 999)
  {
      $level = 'Level 7';
  }
  elseif($score['clicks'] >= 1000 && $score['clicks'] <= 1499)
  {
      $level = 'Level 8';
  }
  elseif($score['clicks'] >= 1500 && $score['clicks'] <= 1999)
  {
      $level = 'Level 9';
  }
  elseif($score['clicks'] >= 2000 && $score['clicks'] <= 2999)
  {
      $level = 'Level 10';
  }

我不知道該怎么做才能做到這一點:

如果$ score ['clicks']大於3000,則級別為11。如果$ score ['cliks']大於4000,則級別為12,依此類推...

你們能幫我嗎? 謝謝你,我的英語不好,這不是我的母語。

創建一個數學模型,而不是幾十個if語句。 例如,您可以使用: round(clicks ^ 0.3)= level 這是一個指數函數,因此用戶一開始會快速升級,但是升級變得越來越難。 您可能會從很多游戲中認識到這種模式。

在PHP代碼中:

$level = round(pow($score['clicks'], 0.3));

結果表:

clicks^0.3  = level
-------------------
1^0.3       = 1
10^0.3      = 2
100^0.3     = 4
1000^0.3    = 8
10000^0.3   = 16

您可以執行類似的操作:

}elseif($score['clicks']>=3000){
  $level= 'Level ' . (floor(($score['clicks']-3000)/1000)+11);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM