对于“Web 工程”的作业,我们必须使用 JSP、Servlet 和 Java Bean 编写一个 Web 应用程序游戏。游戏的算法,使用 Servlet 作为控件,使用 JSP 作为模型/视图,使用 Beans 作为数据已经可以工作了。我现在有一个问题是可视化,JQuery/Javascript 函数。
基本上我有一个包含 7 个字段的列表,可以将汽车附加到其中。(汽车是跨度)这是一个骰子游戏,每一轮你骰子并向前移动领域。
我遇到了以下问题,我发现很难解决:
当然,在游戏开始时,汽车(跨度)被附加到起始字段,但如果它向前移动,我不知道如何保存汽车的位置。每次 JSP 在开始时刷新时,汽车都将位于起始字段。我已经尝试过将汽车的旧位置保存在 java bean 中,并在页面加载时附加到 Jquery 中的正确字段,但不知何故这不起作用。我想出的唯一一件事就是将游戏场的整个代码保存在 javabeans 中,但我认为这不是最佳解决方案,也许有人有更好的主意,或者知道为什么 appendTo 不起作用?
继承人代码:HTML
<div class="field">
<h2 class="accessibility">Playfield</h2>
<ol id="road">
<li id="start_road">
<span class="accessibility">Startingfield</span>
<span id="player1">
<span class="accessibility"><em>Player 1</em></span>
</span>
<span id="player2">
<span class="accessibility"><em>Player 2</em></span>
</span>
</li>
<li class="empty_road" id="road_1">
<span class="accessibility">Field 2</span>
</li>
<li class="oil_road" id="road_2">
<span class="accessibility">Field 2</span>
</li>
<li class="empty_road" id="road_3">
<span class="accessibility">Field 2</span>
</li>
<li class="empty_road" id="road_4">
<span class="accessibility">Field 2</span>
</li>
<li class="oil_road" id="road_5">
<span class="accessibility">Field 2</span>
</li>
<li id="finish_road">
<span class="accessibility">Goalfield</span>
</li>
</ol>
</div>
正如您所看到的,每次重新加载页面时跨度都在起始字段中,这就是问题所在。这里是 Jquery 函数:
$(document).ready(function() {
$("player1").appendTo("<%= game.getoldPlayer1() %>");
$("player2").appendTo("<%= game.getoldPlayer2() %>");
prepareAnimation();
$("#player1").fadeOut(700, function() {
$("#player1").appendTo("<%= game.getPlayer1() %>");
$("#player1").fadeIn(700);
});
$("#player2").delay(1400).fadeOut(700, function() {
$("#player2").appendTo("<%= game.getPlayer2() %>");
$("#player2").fadeIn(700,completeAnimation);
});
});
我试图在开始时解决两个 appendTos 的问题,这应该将汽车设置到它们的旧位置,它们保存在 JavaBean 中,但不知何故它不起作用。