Пример #1
0
        static void Main()
        {
            int N              = 1;
            var characters     = new List <Character>();
            var decisionMakers = new List <DecisionMaker>();

            Console.WriteLine("Hello from ExampleAI");
            var             aiCollection  = AiCollectionConstructor.Create();
            ExAiConstructor aiConstructor = new ExAiConstructor(aiCollection);
            Scheduler       scheduler     = new Scheduler();

            // Create characters and their corresponding decision making logic
            for (int i = 0; i < N; i++)
            {
                var character     = new Character(string.Format("Toon {0}", i));
                var decisionMaker = new DecisionMaker(aiConstructor.Create(AiDefs.ToonAi), character, scheduler)
                {
                    InitThinkDelayMin  = 0.1f,
                    InitThinkDelayMax  = 0.5f,
                    ThinkDelayMin      = 0.25f,
                    ThinkDelayMax      = 0.3f,
                    InitUpdateDelayMin = 0.1f,
                    InitUpdateDelayMax = 0.15f,
                    UpdateDelayMin     = 0.1f,
                    UpdateDelayMax     = 0.12f
                };

                characters.Add(character);
                decisionMakers.Add(decisionMaker);
                decisionMaker.Start();
            }

            // Simulation loop
            Console.WriteLine("Entering Simulation Loop");
            while (true)
            {
                StringBuilder sb = new StringBuilder();
                foreach (var character in characters)
                {
                    character.Update();
                    sb.AppendLine(character.ToString());
                }

                Console.SetCursorPosition(0, 0);
                Console.Write(sb.ToString());

                scheduler.Tick();
                Thread.Sleep(250);
            }
        }
Пример #2
0
 public HelperAiConstructor() : base(AiCollectionConstructor.Create())
 {
 }