public ThinkGoal(ConsciousGameEntity entity) : base(entity) { fuzzyModule = new FuzzyModule(); FuzzyVariable hunger = fuzzyModule.CreateFLV("Hunger"); FzSet starving = hunger.AddLeftShoulder("Starving", 0.0, 0.1, 0.3); FzSet content = hunger.AddTriangle("Content", 0.1, 0.5, 0.8); FzSet full = hunger.AddRightShoulder("Full", 0.5, 0.8, 1.0); FuzzyVariable sleep = fuzzyModule.CreateFLV("Sleep"); FzSet tired = sleep.AddLeftShoulder("Tired", 0.0, 0.1, 0.3); FzSet sleepy = sleep.AddTriangle("Sleepy", 0.1, 0.3, 0.5); FzSet awake = sleep.AddRightShoulder("Awake", 0.3, 0.5, 1.0); FuzzyVariable desirability = fuzzyModule.CreateFLV("Desirability"); FzSet undesirable = desirability.AddLeftShoulder("Undesirable", 0, 0.25, 0.5); FzSet desirable = desirability.AddTriangle("Desirable", 0.25, 0.5, 0.75); FzSet veryDesirable = desirability.AddRightShoulder("VeryDesirable", 0.5, 0.75, 1.0); fuzzyModule.AddRule(new FzOR(starving, tired), undesirable); fuzzyModule.AddRule(new FzAND(content, sleepy), undesirable); fuzzyModule.AddRule(new FzAND(full, sleepy), desirable); fuzzyModule.AddRule(new FzAND(content, awake), desirable); fuzzyModule.AddRule(new FzAND(full, awake), veryDesirable); }
public FollowTargetGoal(ConsciousGameEntity entity) : base(entity) { GoalStatus = GoalStatus.Inactive; Path = new LinkedList <Vector2>(); }
public SleepGoal(ConsciousGameEntity entity) { this.entity = entity; }
public VitalityGoal(ConsciousGameEntity entity) : base(entity) { }
public TraverseVertexGoal(ConsciousGameEntity entity, Vector2 target, int vertexCount) { this.entity = entity; this.target = target; this.vertexCount = vertexCount; }
public EatGoal(ConsciousGameEntity entity) { this.entity = entity; }
public CompositeGoal(ConsciousGameEntity entity) { Entity = entity; Subgoals = new List <IGoal>(); }