我想为Greenfoot Kara写一段代码,但是我的代码不能正常工作。请帮助我调试它,因为我现在尝试了3个小时,但不能让它工作。
下面是我的代码:
public class MyKara extends Kara {
int evenodd=2;
public void act() {
turnRight();
while(true){
if(treeLeft() && !treeRight()){
move();
turnLeft();
move();
}
else if(treeRight() && !treeLeft()){
move();
turnRight();
move();
}
else if(treeLeft() && treeRight()){
evenodd = evenodd++;
if((evenodd % 2) == 0){
evenodd = evenodd++;
move();
turnRight();
move();
}
else if((evenodd % 2) != 0){
evenodd = evenodd++;
move();
turnLeft();
move();
}
}
}
}
}发布于 2021-02-01 04:32:43
您可以在act()方法中使用while循环而不是。只有当act()返回时,视图才会更新。
使用成员变量来存储Kara的状态,并在act()中做出相应的反应。使用switch或if - else if链,只要您理解得更好。
https://stackoverflow.com/questions/65970892
复制相似问题