ant.java

来自「实现蚂蚁算法」· Java 代码 · 共 40 行

JAVA
40
字号
import SimFrameWork.Patch;
import SimFrameWork.Turtle;
import SimFrameWork.RandomGen;
class Ant extends Turtle{
  Ant(Patch p){
    super(p);
    chip=false;
  }
  public void update(){
    move();
    int val=location.value();
    if(chip&&(val>0)){
      location.incrValue();
      chip=false;
      return;
    }
    if(!chip&&(val>0)){
      location.decrValue();
      chip=true;
    }
  }
  public boolean isLoaded(){
    return chip;
  }
  private void move(){
    int distance=RandomGen.getNext(3);
    int direction=RandomGen.getNext(8);
    Patch p=location;
    for(int i=0;i<distance;++i){
      Patch t=p.getNeighbour(direction);
      if(t!=null){
        p=t;
      }
    }
    location.removeTurtle(this);
    location=p;
    location.addTurtle(this);
  }
  private boolean chip;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?