コード例 #1
0
 public void Update(Player p)
 {
     if (_shootingTime >= MAX_SHOOTING_TIME)
     {
         Console.WriteLine("Shooting done... Going back to previous state: " + _stateStack.Peek());
         p.ChangeState(_stateStack.Pop());
     }
 }
コード例 #2
0
        public IPlayerState HandleInput(Player p, Input input)
        {
            if (input == Input.DPad_Up)
                return new StandingState();

            if (input == Input.JumpButton_Down)
                return new Jumping();

            return this;
        }
コード例 #3
0
        public IPlayerState HandleInput(Player p, Input input)
        {
            if (input == Input.JumpButton_Down)
               return new Jumping();
            if (input == Input.DPad_Down)
                return new DuckingState();
            if (input == Input.Shooting)
                return new ShootingState(this);

            return this;
        }
コード例 #4
0
        public void Update(Player p)
        {
            if (_hasExploded)
                return;

            _chargeTime++;

            Console.Write(_chargeTime);
            if (_chargeTime > MAX_CHARGE)
            {
                p.SuperBomb();
                _hasExploded = true;
            }
        }
コード例 #5
0
        static void Main(string[] args)
        {
            Player p = new Player("Mario");
            Input input = Input.Idle;

            bool quit = false;
            while (!quit)
            {

                //Console.WriteLine(input);

                p.Update();

                input = InputHandler.HandleInput();
                p.HandleInput(input);

                if (input == Input.Quit)
                    quit = true;
            }
        }
コード例 #6
0
 public void EnterState(Player p)
 {
     Random r = new Random();
     int a = r.Next(10);
     p.SetGraphics("IMAGE_STANDING " + a);
 }
コード例 #7
0
 public void Update(Player p)
 {
     Console.WriteLine("Standing...");
 }
コード例 #8
0
 public void ExitState(Player p)
 {
 }
コード例 #9
0
 public void EnterState(Player p)
 {
     p.SetGraphics("IMAGE_DUCKING");
 }
コード例 #10
0
 public IPlayerState HandleInput(Player p, Input input)
 {
     return this;
 }
コード例 #11
0
 public void ExitState(Player p)
 {
     Console.ForegroundColor = ConsoleColor.Gray;
 }
コード例 #12
0
 public void EnterState(Player p)
 {
     Console.WriteLine("Popping: " + _stateStack.Pop());
     p.SetGraphics("SHOOTING_IMAGE");
     Console.ForegroundColor = ConsoleColor.DarkGray;
 }
コード例 #13
0
 public static bool Is(this State.Player a, State.Player b)
 {
     return((a & b) > 0);
 }
コード例 #14
0
 public static bool Isnot(this State.Player a, State.Player b)
 {
     return((a & b) == 0);
 }