所以我正在制作基于文本的浏览器游戏。我制作了一张地图,您可以在这里移动,而无需刷新页面并用javascript更新。我补充说,它从数据库中随机生成机器人,你可以攻击它,但当你在地图上移动时,却找不到更新它的方法。
这是我制作的PHP,用于从数据库加载机器人,然后随机生成。
$sql3 = "SELECT * FROM monsters WHERE botworld='$world'";
$result3 = mysqli_query($conn,$sql3);
$row3=mysqli_fetch_array($result3,MYSQLI_ASSOC);
$rowsbot = array();
while ($rowbot = mysqli_fetch_assoc($result3)) {
$rowsbot[] = $rowbot;
}
for($i=0;$i<count($rowsbot);$i++) {
$a = rand(0,10);
if($a > 5) {
echo "<div class='botres$i'>";
echo "<div class='panel panel-default bot$i'><div class='panel-body bot1$i'>";
echo $i . ". " . $rowsbot[$i]['name'];
echo "<div class='pull-right'><button class='btn btn-default' botid='" . $rowsbot[$i]['id'] ."' botnr='" . $i . "'>Attack</button></div>";
echo "</div></div>";
echo "</div>";
}
}
我添加了,当你攻击机器人时,它会自动更新div块。但我想让机器人在你移动时更新。
我有数据数组,但不知道如何使用它。
var myArray = jQuery.parseJSON('<?php print json_encode($row3); ?>');
console.log(myArray)
完成
var rowsbot = <?php echo json_encode($rowsbot) ?>;
for(i=0; i<rowsbot.length; i++) {
var a = Math.floor((Math.random() * 10) + 1);
if(a>5) {
$(".monsters").append("<div class='botres" + i + "'><div class='panel panel-default bot" + i + "'><div class='panel-body bot1 " + i + "'>" + i + ". " + rowsbot[i].name + "<div class='pull-right'><button class='btn btn-default' botid='" + rowsbot[i].id + "' botnr='" + i + "'>Attack</button></div></div></div></div>");
}
}