我现在正在创建一个基于文本的黑手党游戏。不,不是他们中的另一个。我只是为了练习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个等级。所以我认为这是糟糕的编码。我只是不知道如何才能做得更好。