[英]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.