예제 #1
0
파일: Player.cs 프로젝트: pascal4651/IceAge
 public Player(GameObject gameObject) : base(gameObject)
 {
     strategy    = new Walk(GameObject.Transform, animator);
     lifesAmount = 2;
     isFrozen    = false;
     xPlus       = 5;
     score       = 0;
 }
예제 #2
0
파일: Player.cs 프로젝트: pascal4651/IceAge
 public void Update()
 {
     if (GameWorld.Instance.RestartGame)
     {
         lifesAmount = 2;
         score       = 0;
         isFrozen    = false;
         xPlus       = 5;
         strategy    = new Walk(GameObject.Transform, animator);
         GameObject.Transform.Position = new Vector2(310, 50);
         (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Color    = Color.White;
         (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Rotation = 0;
         (GameObject.GetComponent("Collider") as Collider).DoCollisionCheck     = true;
     }
     if (lifesAmount <= 0)
     {
         GameWorld.Instance.PlayGame = false;
     }
     Move();
 }
예제 #3
0
파일: Player.cs 프로젝트: pascal4651/IceAge
        public void Move()
        {
            translation = Vector2.Zero;
            keyState    = Keyboard.GetState();

            if (isFrozen)
            {
                (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Color = Color.Blue;
                (GameObject.GetComponent("Collider") as Collider).DoCollisionCheck  = false;
                strategy = new Fall(GameObject.Transform, animator, GameObject.GetComponent("SpriteRenderer") as SpriteRenderer);
                isFrozen = false;
            }
            if ((strategy is Fall) && GameObject.Transform.Position.Y >= 750)
            {
                GameObject.Transform.Position = new Vector2(310, 50);
                (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Color    = Color.White;
                (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Rotation = 0;
                (GameObject.GetComponent("Collider") as Collider).DoCollisionCheck     = true;
                strategy     = new Walk(GameObject.Transform, animator);
                lifesAmount -= 1;
            }
            else if ((strategy is Run) && GameObject.Transform.Position.Y >= 750)
            {
                GameObject.Transform.Position = new Vector2(310, 50);
                strategy     = new Walk(GameObject.Transform, animator);
                lifesAmount -= 1;
            }
            else if ((strategy is Walk) && GameObject.Transform.Position.Y >= 750)
            {
                GameObject.Transform.Position = new Vector2(310, 50);
                lifesAmount -= 1;
            }

            if ((strategy is Walk) && keyState.IsKeyDown(Keys.R))
            {
                strategy = new Run(GameObject.Transform, animator);

                if (GameObject.Transform.Position.Y >= 750)
                {
                    GameObject.Transform.Position = new Vector2(310, 50);
                    strategy     = new Walk(GameObject.Transform, animator);
                    lifesAmount -= 1;
                }
            }
            else if ((strategy is Walk) && keyState.IsKeyDown(Keys.Space) && GameObject.Transform.Position.X <= 310)
            {
                strategy = new JumpRight(GameObject.Transform, animator);
                if (GameWorld.Instance.PlaySound)
                {
                    GameWorld.Instance.Engine.Play2D("Content/flapping.wav", false);
                }
            }
            else if ((strategy is Walk) && keyState.IsKeyDown(Keys.Space) && GameObject.Transform.Position.X >= 880)
            {
                strategy = new JumpLeft(GameObject.Transform, animator);
                if (GameWorld.Instance.PlaySound)
                {
                    GameWorld.Instance.Engine.Play2D("Content/flapping.wav", false);
                }
            }

            if ((strategy is Run) && keyState.IsKeyUp(Keys.R))
            {
                strategy = new Walk(GameObject.Transform, animator);
            }

            if (((strategy is JumpLeft) && GameObject.Transform.Position.X <= 310) || ((strategy is JumpRight) && GameObject.Transform.Position.X >= 880))
            {
                strategy = new Walk(GameObject.Transform, animator);
                if (GameWorld.Instance.PlaySound)
                {
                    GameWorld.Instance.Engine.Play2D("Content/click.wav", false);
                }
            }
            strategy.Execute();
        }