进不到if中去,我觉得应该能进去
simulationFeelterSquare = new Square(i, y, Square.tuZi, false);
//"感受一下"
setFeel(simulationFeelterSquare);
System.out.println(i);
System.out.println(comfInBrain.getSelfFeel());
//如果感觉能向上爬
if(comfInBrain.getUpFeel().equals(ParentFeel.UpFeelType.NONE) &&
comfInBrain.getSelfFeel().equals(ParentFeel.SelfFeelType.CAN_CLIMB)){
//则将这些位置的x记录下来装到list中
xOfSimulationFeelterSquares.add(i);
canFind = true;

System.out.println("can find == true");

}
getself打印输出你none,很奇怪;其中
private void setFeel(Square sensillum){
comfInBrain = new CompletionFeel(bp);
comfInBrain.setSensillum(sensillum);
}

解决方案 »

  1.   

    这是在brain类中:
    CompletionFeel comfInBrain;
    还有以上
    Completionfeel中有方法:
    @Override
    public SelfFeelType getSelfFeel() {
    selfFeel = SelfFeelType.NONE;

    Iterator<Motionless> it = bp.staticSquares.iterator();
    while(it.hasNext()){
    Motionless s = it.next();
    if(s.getType().equals(Square.danGan) &&
    s.getX() - sensillum.getX() == 0&&
    sensillum.getY() - s.getY() == 0){
    selfFeel = SelfFeelType.HANG;
    }
    if(s.getType().equals(Square.tiZi) &&
    s.getX() - sensillum.getX() == 0&&
    sensillum.getY() - s.getY() == 0){
    selfFeel = SelfFeelType.CAN_CLIMB;
    }
    }
    System.out.println("selffeel" + selfFeel);
    return selfFeel;
    }