我现在正在创建一个基于文本的黑手党游戏。不,不是其中之一。我只是为了练习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的类型杂耍了。 –