我現在正在創建一個基於文本的黑手黨遊戲。不,不是其中之一。我只是爲了練習PHP而創建一個。我已經學到了很多東西,但是我遇到了一個問題,在互聯網上我找不到答案,因爲我不知道要搜索什麼,因此我需要您的幫助。關於爲什麼在PHP遊戲中獲得積分的建議
我正在做的功能是某種盜用功能。你可以選擇一個選項,然後你將有一個機會,取決於你的成功排名。如果你成功了,你將獲得「XP」(經驗值)。我會加錢和計時器,所以你不能只是重做它,但這不是問題。假設你是「平民」等級,那麼如果你做到了,那麼你將獲得XP,這是有效的,如果你通過100 XP,你的等級將變爲「Wannabe」。現在,如果你是一個崇拜者,它將會是一樣的,但這次你將不得不擊中250 XP來排名。現在,代碼不起作用。
我明顯地創建了MySQL連接和數據庫選擇,它正在工作。我只是沒有看到在這裏分享的代碼中包含這一點。
$id = $row['id'];
$rank = $row['rank'];
$xp = $row['xp'];
$theft = $_POST['option'];
$chance = rand(1,100);
if ($theft == 1) {
if ($rank == 'Civilian') {
if ($chance > '60') {
echo "You made it.";
mysql_query("UPDATE users SET xp = xp + 50 WHERE id=$id");
if ($xp > '100') {
mysql_query("UPDATE users SET rank = 'Wannabe' WHERE id=$id");
}
} else {
echo 'You did not make it';
}
}
} else if ($rank == 'Wannabe') {
if ($chance > '50') {
echo "You made it.";
mysql_query("UPDATE users SET xp = xp + 50 WHERE id=$id");
if ($xp > '250') {
mysql_query("UPDATE users SET rank = 'Thief' WHERE id=$id");
}
} else {
echo 'You did not make it';
}
}
我完全知道這可能不是編程這個最好的方法,雖然這可能是我現在可以做的最好的方法。這是什麼,在我的代碼不起作用?無論如何,我可以使它工作?有更好的解決方案嗎?
我非常感謝任何答覆。即使它只是某種領先,所以我可以進步。
編輯:這些只是表格中第一個選項的前兩個等級。你有四種不同的犯罪行爲,那就是$theft == 1
。還有三個。還有大約5個等級。所以我認爲這是不好的編碼。我只是不知道我能做得更好。
PHP的遊戲。有趣。 – Mark
什麼是不工作? xp是否被添加到數據庫? – Jason
您正在比較rand()的結果$ chance變量。 rand()返回一個int值,而你正在比較字符串:'$ chance>'50''應該是'$ chance> 50'。總的來說,你似乎太依賴PHP的類型雜耍了。 –