从事学校项目,我们应该修改游戏以使其具有教育意义。我想通过变量moduleThree在数字0、1和2之间循环。但是,当我将变量设置为与最初定义的变量相等时,变量将不会更新,这令人难以置信。
我尝试将if / else链放入带有return的其他方法中,但这没有用。我尝试将其放在多个位置。
public class Alien extends Actor
{
int SPEED = -7; // Speed of 10 in left direction "-"
int tempType = (int)(Math.random() * ((2-0) + 1));
int controlType = 0;
int moduleThree = 0;
public Alien() {
}
public void act() {
move (SPEED);
int timer = 10;
if (timer>0){
timer--;
if(timer == 0) {
timer = 10;
controlType++;
moduleThree = controlType % 3;
if(moduleThree == 0){
((SpaceLand)(getWorld())).pos.swap("bee");
}
else if(moduleThree == 1){
((SpaceLand)(getWorld())).pos.swap("alien");
}
else if(moduleThree == 2){
((SpaceLand)(getWorld())).pos.swap("soldier");
}
}
}
moduleThree在计算controlType%3时应在0、1和2之间循环,但不会发生更新。即使我手动将其设置为4,也不会发生任何事情。非常烦人。
答案 0 :(得分:1)
from django.http import HttpResponse
def Aboutus(request):
retrun HttpResponse('Woww')
行声明了一个局部变量,因此,每次int timer = 10;
调用开始时,timer始终设置为10,并且每次调用后都会忘记该变量。看来您打算将act()
声明为类的一个字段,以使其在两次调用之间保持其值。如果将定义移到声明timer
的位置下方,我认为它会实现您的预期。