public void Teste() { AstarPlanner Planner = new AstarPlanner(); Planner.Actions.Add(new KillAction()); Planner.Actions.Add(new BeProtectedAction()); Planner.Actions.Add(new BeArmedAction()); Planner.Actions.Add(new GoToAction("lugar0", "lugar1", 2)); Planner.Actions.Add(new GoToAction("lugar1", "lugar2", 2)); Planner.Actions.Add(new GoToAction("lugar2", "lugar1", 2)); Planner.Actions.Add(new GoToAction("lugar1", "lugar0", 2)); WorldState TestWorldState = new WorldState(); TestWorldState.SetSymbol(new WorldSymbol("Armed", false)); TestWorldState.SetSymbol(new WorldSymbol("Place", "lugar0")); TestWorldState.SetSymbol(new WorldSymbol("Protected", false)); TestWorldState.SetSymbol(new WorldSymbol("EnemyKilled", false)); PlanSet PlanSet = Planner.CreatePlan( TestWorldState, new TesteGoal() ); System.Diagnostics.Debug.Assert(PlanSet != null); }
public PlanSet GetPlan(Goal goal, List <PloobsEngine.IA.Action> Actions) { AstarPlanner Planner = new AstarPlanner(); Planner.MaxIteration = int.MaxValue; Planner.Actions = Actions; WorldState WorldState = BlackBoard.GetEntry <WorldState>("WorldState"); PlanSet PlanSet = Planner.CreatePlan( WorldState, goal ); return(PlanSet); }
public void teste() { BlackBoard BlackBoard = new PloobsEngine.IA.BlackBoard(); WorldState WorldState = new PloobsEngine.IA.WorldState(); WorldState.SetSymbolValue <int>("gold", 5); WorldState.SetSymbolValue <int>("wood", 5); WorldState.SetSymbolValue <int>("castle", 0); WorldState.SetSymbolValue <int>("warrior", 0); WorldState.SetSymbolValue <bool>("attack", false); BlackBoard.SetEntry <WorldState>("WorldState", WorldState); Dictionary <string, int> resneeded = new Dictionary <string, int>(); resneeded.Add("gold", 10); Dictionary <string, int> resneeded2 = new Dictionary <string, int>(); resneeded2.Add("wood", 2); resneeded2.Add("gold", 2); Dictionary <string, int> unitneeded = new Dictionary <string, int>(); unitneeded.Add("warrior", 3); List <PloobsEngine.IA.Action> actions = new List <PloobsEngine.IA.Action>(); actions.Add(new GatherResource("gold", 5)); actions.Add(new GatherResource("wood", 5)); actions.Add(new Build(resneeded, "castle", 1)); actions.Add(new MakeUnit("warrior", "castle", resneeded2)); actions.Add(new Patrol()); actions.Add(new Attack(unitneeded)); GoalPlanning GoalPlanning = new GoalPlanning(BlackBoard); PlanSet PlanSet = GoalPlanning.GetPlan(new GoalAttack(), actions); System.Diagnostics.Debug.Assert(PlanSet != null); foreach (var item in PlanSet.Actions) { Console.WriteLine(item.Name); } }