Exemple #1
0
    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]);
            }
        }
        ;
    }
Exemple #2
0
 // Update is called once per frame
 private void Update()
 {
     behaviourTree.Update();
     stateMachine.Update();
     utilityCurves.Update();
 }