static public void Main(String[] args) { subUtilMachine = new UtilitySystemEngine(true, 1.15f); utilEngine = new UtilitySystemEngine(false); float[] f = { 1.0f, 1.0f }; p = new Player(2.0f, f); p1 = new Player(5.0f, f); p2 = new Player(9.0f, new float[] { 3.0f, 0.0f }); p3 = new Player(9.0f, new float[] { 4.0f, 0.0f }); CreateSubmachine(); CreateMainMachine(); // Update tick emulation (e.g like Unity) // ELAPSED crea hilos System.Timers.Timer tmr = new System.Timers.Timer(); tmr.Interval = 100; tmr.AutoReset = false; tmr.Elapsed += (s, e) => { subUtilMachine.Update(); utilEngine.Update(); tmr.Enabled = true; }; tmr.Enabled = true; // To prevent the app closing // Si se usa EspacioPerception hay que pulsar dos veces espacio para que haga caso while (true) { ConsoleKeyInfo k = System.Console.ReadKey(); if (k.Key == ConsoleKey.UpArrow) { p.life += 1.0f; Console.WriteLine("Vida de P: " + p.life); } else if (k.Key == ConsoleKey.DownArrow) { p.life -= 1.0f; Console.WriteLine("Vida de P: " + p.life); } else if (k.Key == ConsoleKey.LeftArrow) { p1.life -= 1.0f; Console.WriteLine("Vida de P1: " + p1.life); } else if (k.Key == ConsoleKey.RightArrow) { p1.life += 1.0f; Console.WriteLine("Vida de P1: " + p1.life); } else if (k.Key == ConsoleKey.O) { p2.position[0]++; Console.WriteLine("Posicion P2: " + p2.position[0]); } else if (k.Key == ConsoleKey.L) { p2.position[0]--; Console.WriteLine("Posicion P2: " + p2.position[0]); } } ; }
// Update is called once per frame private void Update() { behaviourTree.Update(); stateMachine.Update(); utilityCurves.Update(); }