Exemple #1
0
    private StateDead()
    {
        if (_instance != null)
        {
            return;
        }

        _instance = this;
    }
Exemple #2
0
        static void Main(string[] args)
        {
            ConsoleKeyInfo input;
            bool           gameRunning = true;

            CharacterFactory factory = new CharacterFactory();

            AbstractCharacter king = factory.CreateCharacter(CharactersList.KingChar);

            Console.WriteLine("ArrowRight move, ArrowLeft stop, q quit");
            king.pull();
            Console.Write(king.speed);

            StateMoving  moving  = new StateMoving();
            StateStopped stopped = new StateStopped();
            StateDead    dead    = new StateDead();

            while (gameRunning)
            {
                input = Console.ReadKey();

                if (king.isDead == false)
                {
                    switch (input.Key)
                    {
                    case ConsoleKey.RightArrow:
                        king.setState(moving);
                        break;

                    case ConsoleKey.LeftArrow:
                        king.setState(stopped);
                        break;

                    case ConsoleKey.DownArrow:
                        king.setState(dead);
                        gameRunning = false;

                        Console.Write("You are Dead!");
                        break;

                    case ConsoleKey.Q:
                        king.setState(stopped);
                        gameRunning = false;

                        Console.Write("You quited!");
                        break;
                    }

                    Console.Write(king.speed);
                }
            }

            Console.WriteLine("End game");
        }
Exemple #3
0
    public void KillCharacter()
    {
        if (bDead)
        {
            Debug.Log("Trying to kill a character thast's already dead");
            return;
        }

        //interrupt any channel that  we may be using
        curStateReadiness.InterruptChannel();

        //Create a new death state to let our character transition to
        StateDead newState = new StateDead(this);

        //Transition to the new state
        SetStateReadiness(newState);
    }