public float GoodSum(BrainBehaviour behaviour) { float sum = 0; if( behaviour.fear > 0 ) { sum += fear*behaviour.friend; } if( behaviour.friend > 0 ) { sum += friend*behaviour.friend; } if( behaviour.food > 0 ) { sum += food*behaviour.friend; } if( behaviour.straight > 0 ) { sum += straight*behaviour.straight; } if( behaviour.eastWest > 0 ) { sum += eastWest*behaviour.eastWest; } if( behaviour.wall > 0 ) { sum += wall*behaviour.wall; } return sum; }
public bool WorseThan(BrainRecord other, BrainBehaviour behaviour) { float lhs = BadSum(behaviour); if( other == null ) { return lhs < 0; } float rhs = other.BadSum(behaviour); return lhs < rhs; }
public bool BetterThan(BrainRecord other, BrainBehaviour behaviour) { float lhs = GoodSum(behaviour); if( other == null ) { return lhs > 0; } float rhs = other.GoodSum(behaviour); return lhs > rhs; }
public float GoodSum(BrainBehaviour behaviour) { float sum = 0; if( behaviour.fear > 0 ) { sum += fear*behaviour.fear; } if( behaviour.friend > 0 ) { sum += friend*behaviour.friend; } if( behaviour.food > 0 ) { sum += food*behaviour.food; } return sum; }
public float TotalSum(BrainBehaviour behaviour) { return fear*behaviour.fear + friend*behaviour.friend + food*behaviour.food + straight*behaviour.straight + eastWest*behaviour.eastWest + wall*behaviour.wall; }