我遇到了邏輯障礙!使用負數與rand()函數?或替代方法
我有一個包含6個動作的頁面。當你點擊一個動作時,它只會返回一個true或false。
每個動作都有其成功的機會,真/假是基於隨機生成的數字是高於還是低於動作成功值。
的機會值存儲在數據庫中,如:10-20-30-40-50-60
我使用爆炸和使用破滅插入它們調用這些值。
我想實現的是這些機會的值更改爲1以上,1小於或相同的(高達65 A最大),每次點擊的動作時間和提交表單,
這是我所嘗試過的,但無濟於事。
<?PHP
//CHANCE 0 (action 1)
if ($chance[0] = 0){
$chance[0] = rand(0,1);
}elseif ($chance[0] = 1){
$chance[0] = rand(1,2);
}elseif ($chance[0] >= 2){
$chance[0] = $chance[0] + rand(-1,1) ;
}elseif ($chance[0] >= 65){
$chance[0] = 65;
}
//CHANCE 1 (action 2)
if ($chance[1] = 0){
$chance[1] = rand(0,1);
}elseif ($chance[1] = 1){
$chance[1] = rand(1,2);
}elseif ($chance[1] >= 2){
$chance[1] = $chance[0] + rand(-1,1) ;
}elseif ($chance[1] >= 65){
$chance[1] = 65;
}
等。對於所有的機會[0]至機會[5]
然後,
$chancearray = array($chance[0], $chance[1], $chance[2], $chance[3], $chance[4], $chance[5]);
$newchancearray = implode("-",$chancearray);
?>
,並將其插入到數據庫中。
任何人都可以幫助我在提交表單後向機會值添加-1,0或1的邏輯嗎?
此刻它將所有值更改爲2?
所以如果機會是10-20-30-40-50-60,一旦提交,它會變成2-2-2-2-2-2。
有幫助嗎? :(
首先你的陳述是錯誤的。他們實際上是任務。如果需要加倍== – 2013-03-23 14:47:01
感嘆。 將ifs更改爲==,它工作正常。我花了很長時間在此。我想我需要休息.. 感謝您的幫助。 即時假設> =不需要改變?只是等於1或等於0? – user1953045 2013-03-23 14:51:44
是的,這是正確的 – 2013-03-23 15:30:54