小动作if / else语句

时间:2015-06-04 23:33:12

标签: java if-statement

所以我正在尝试为鸟类创建一个生物代码。我在运动方面遇到了麻烦。所以它朝北方向移动3步,然后向东移动3步,然后向南3移动,然后向西3移动。我试图根据这个事实创建一个if / else,但是我在构建一个会占用的方面遇到了麻烦方向性的变化。我正在尝试解决基于这种模式的if else:

步骤1 ^(方向)

第2步^

第3步^

第4步>

第5步>

第6步>

步骤7 V

步骤8 V

步骤9 V

步骤10<

步骤11<

步骤12<

import java.awt.*;
public class Bird extends Critter { 
length = 3;
step = 0;
Direction original = Direction.NORTH;
// method comment goes here
public Attack fight(String opponent) {
    if (opponent == %) {
  return Attack.ROAR;
  }else{
  return Attack.POUNCE;
  }
}

// method comment goes here
public Color getColor() {
    return Color.BLUE;
}

// method comment goes here
public String toString() {
    return "V";
}

public boolean eat() {
  return false;
}

public Direction getMove(){
  step++;
  if (step < length && ) {
     direction = original;
  } else if (step == length) {
     direction = Direction.EAST; 
  }
  return direction;
}

}

1 个答案:

答案 0 :(得分:0)

assuming direction is an enum...

Direction direction = 0;
public Direction getMove(){
  ++step;
  if (step > length) {
     direction++;
     step = 0;
  }

  if(direction > 3)
  {
      direction = 0;
  }
  return direction;
}

基本上这个实现允许你调用函数getMove(),而不必担心你所使用的12步是什么,因为它通过在长度&#39之后直接交换到下一个直接来处理方向切换;步骤已经完成。

如果您需要改变方向,可以使用开关来完成。