2012-08-08 78 views
0

這對我來說真的很難我一直在這工作3天,我即將放棄哈哈...... :(Php文本遊戲試圖根據百分比做出結果

我試圖在我的遊戲中編寫一個功能,根據一個百分比獲得成功, 這個百分比需要隨着功能的增加而增加,從1%開始很低,大部分時間會成爲監獄,或者只是失敗功能,但是如果你的命中率達到100%,那麼你每次都會獲得成功,如果有人知道正確的方式來編碼並指向正確的方向,那麼這將非常有幫助。我很確定我必須重新編碼大部分這一點,如果犯罪機率以這種方式達到100,它總是1,所以你永遠會成功,但必須有更好的用百分比來做到這一點。

Crimechance1被設置爲默認值1,所以它從1開始並上升,每次你做功能 在100U將始終完成該功能..我需要這個以百分比工作,儘管在60的例子有60%在80歲時通過的機會有80%的機會傳球。

代碼更新

<?php 
if ($_POST['Commit']){ 

$radiobutton=$_POST['radiobutton']; 

if ($radiobutton == "1"){ 
$sql = "SELECT * FROM users WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."'"; 
$query = mysql_query($sql) or die(mysql_error()); 
$row = mysql_fetch_object($query); 
$crimechance1 = htmlspecialchars($row->crime1); 

    $crime_chance = 100/$crimechance1; 
    $crimechance1++; 

if ($crime_chance == 1){ 
$result = mysql_query("UPDATE users SET exp='100' WHERE name='$name'") or die(mysql_error()); 
echo "You passed the Function"; 
} 
else { 
echo "You failed the Function"; 
} 

} 
} 
?> 
+0

你能顯示出與數字的例子有什麼輸入目前的產出與預期的產出是什麼? – alfasin 2012-08-08 03:06:05

+0

如果你從24的犯罪機率開始,你只有當隨機命中#1時纔會得到它,我需要一些方法來做它的百分比1-100。你從1%的獲勝機會開始,然後你有100%的獲勝機會 – Tprice88 2012-08-08 03:17:46

+0

你的代碼中有許多變量:crime1a,crime1,crimechance1,exp,Crime_exp和許多其他變量,它們的名字不是自我解釋。如果您希望其他人瞭解您的代碼(並幫助您),您應該使用更好的名稱或更好的名稱,並添加代碼註釋。 – alfasin 2012-08-08 03:27:47

回答

0

這個結果我發現昨晚工作要好得多,如果你認爲你有請回答一個更好的

$perc = 40; 
$rand = rand(1, 100); 
if ($rand <= $perc) { 
    //pass 
} else { 
    //Fail 
}