現在、テキスト ベースのマフィア ゲームを作成しています。いいえ、別のものではありません。PHPを練習する目的で作成しています。すでに多くのことを学んでいますが、何を検索すればよいかわからず、インターネットで答えを見つけることができない問題に遭遇したため、あなたの助けが必要です.
私が作っている機能は、ある種の窃盗機能です。オプションを選択すると、成功したランクに応じて設定されたチャンスが得られます。成功すると「XP」(経験値)を獲得できます。お金とタイマーを追加して、やり直しができないようにしますが、それは問題ではありません。
あなたがランク「Civilian」であるとしましょう。それを達成すると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';
}
}
これが、これをプログラムする最良の方法ではない可能性があることは十分承知していますが、おそらくこれが今できる最善の方法です。私のコードで機能しないのは何ですか? とにかく私はそれを機能させることができますか?そして、より良い解決策はありますか?
どんな回答でも本当に感謝しています。たとえそれがある種のリードであっても、私は前進することができます.
編集:これらは、フォームの最初のオプションの最初の 2 つのランクです。実行できる犯罪は 4 つあります$theft == 1
。あと3つあります。ランクも5くらいあります。したがって、これは悪いコーディングだと思います。どうすればもっとうまくやれるのかわからないだけです。