2013-03-23 94 views
-2

我遇到了邏輯障礙!使用負數與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。

有幫助嗎? :(

+2

首先你的陳述是錯誤的。他們實際上是任務。如果需要加倍== – 2013-03-23 14:47:01

+0

感嘆。 將ifs更改爲==,它工作正常。我花了很長時間在此。我想我需要休息.. 感謝您的幫助。 即時假設> =不需要改變?只是等於1或等於0? – user1953045 2013-03-23 14:51:44

+0

是的,這是正確的 – 2013-03-23 15:30:54

回答

1

變化=在所使用的布爾表達式== IF的

,而不是

if ($chance[1] = 0){ 

應該是

if ($chance[1] == 0){ 
-1

你知道 「==」?

的編碼是錯誤的

+0

只是重新閱讀此頁。 感謝您的提醒。 :) – user1953045 2013-03-23 14:52:10