// Use this for initialization
    void Start()
    {
        //setDebugCharacters();
        p1script = player1.GetComponent<PlayerController>();
        p1AI = new PaddleAI(player1, ball);
        PongCharacter p1char = new PongCharacter("Vida");

        p2script = player2.GetComponent<PlayerController>();
        p2AI = new PaddleAI(player2, ball);
        //PongCharacter p2char = new PongCharacter("Sora");
        PongCharacter p2char = new PongCharacter(PlayerPrefs.GetString("enemyName"));
        //
        p1script.setSkillPassive(p1char.getSkillPassive ());
        p1script.setSkillA(p1char.getSkillA());
        p1script.setSkillB(p1char.getSkillB());
        p1script.setSkillC(p1char.getSkillC());
        p1script.setHealth(p1char.getHealth());
        p1script.setSpeed(p1char.getSpeed());
        //
        p2script.setSkillPassive(p2char.getSkillPassive());
        p2script.setSkillA(p2char.getSkillA());
        p2script.setSkillB(p2char.getSkillB());
        p2script.setSkillC(p2char.getSkillC());
        p2script.setHealth(p2char.getHealth());
        p2script.setSpeed(p2char.getSpeed());
    }
Esempio n. 2
0
    // Use this for initialization
    void Start()
    {
        //setDebugCharacters();
        p1script = player1.GetComponent <PlayerController>();
        p1AI     = new PaddleAI(player1, ball);
        PongCharacter p1char = new PongCharacter("Vida");

        p2script = player2.GetComponent <PlayerController>();
        p2AI     = new PaddleAI(player2, ball);
        //PongCharacter p2char = new PongCharacter("Sora");
        PongCharacter p2char = new PongCharacter(PlayerPrefs.GetString("enemyName"));

        //
        p1script.setSkillPassive(p1char.getSkillPassive());
        p1script.setSkillA(p1char.getSkillA());
        p1script.setSkillB(p1char.getSkillB());
        p1script.setSkillC(p1char.getSkillC());
        p1script.setHealth(p1char.getHealth());
        p1script.setSpeed(p1char.getSpeed());
        //
        p2script.setSkillPassive(p2char.getSkillPassive());
        p2script.setSkillA(p2char.getSkillA());
        p2script.setSkillB(p2char.getSkillB());
        p2script.setSkillC(p2char.getSkillC());
        p2script.setHealth(p2char.getHealth());
        p2script.setSpeed(p2char.getSpeed());
    }
    void setDebugCharacters()
    {
        p1script = player1.GetComponent<PlayerController>();
        p1AI = new PaddleAI(player1, ball);
        PongCharacter p1char = new PongCharacter("Vida");

        p2script = player2.GetComponent<PlayerController>();
        p2AI = new PaddleAI(player2, ball);
        PongCharacter p2char = new PongCharacter("Sora");
    }
Esempio n. 4
0
    void setDebugCharacters()
    {
        p1script = player1.GetComponent <PlayerController>();
        p1AI     = new PaddleAI(player1, ball);
        PongCharacter p1char = new PongCharacter("Vida");

        p2script = player2.GetComponent <PlayerController>();
        p2AI     = new PaddleAI(player2, ball);
        PongCharacter p2char = new PongCharacter("Sora");
    }
 public AIPlayerState(ContentManager Content)
 {
     player1 = new Paddle(Content.Load <Texture2D>("rodeSpeler"), Content.Load <Texture2D>("balRood"), new Vector2(0, 300), 350, Keys.W, Keys.S, true, "Player 1");
     player2 = new PaddleAI(Content.Load <Texture2D>("blauweSpeler"), Content.Load <Texture2D>("balBlauw"), new Vector2(Practicum1.Screen.X - 15, 300), 350, true, "Player 2");
     paddleList.Add(player1);
     paddleList.Add(player2);
     ball = new Ball(Content.Load <Texture2D>("bal"), new Vector2(Practicum1.Screen.X / 2, Practicum1.Screen.Y / 2), 275, paddleList, "Ball");
     this.Add(player1);
     this.Add(player2);
     this.Add(ball);
     player2.Ball = ball;
 }
Esempio n. 6
0
 void Start()
 {
     cTime = playTime;
     //Create an AI object for the paddle
     aiPaddle = new PaddleAI(rightPaddle, verticalBoundDistance, paddleSpeed * 0.8f, ball);
 }
Esempio n. 7
0
        /// <summary>
        ///     Allows the game to run logic such as updating the world.
        /// </summary>
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed ||
                Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            var screenBounds = GraphicsDevice.Viewport.Bounds;
            var touchState   = Keyboard.GetState();

            //Down paddle control
            if (touchState.IsKeyDown(Keys.Left))
            {
                PaddleBottom.X -= (float)(PaddleBottom.Speed * gameTime.ElapsedGameTime.TotalMilliseconds);
            }
            if (touchState.IsKeyDown(Keys.Right))
            {
                PaddleBottom.X += (float)(PaddleBottom.Speed * gameTime.ElapsedGameTime.TotalMilliseconds);
            }

            //Top paddle control
            if (touchState.IsKeyDown(Keys.A))
            {
                PaddleTop.X -= (float)(PaddleTop.Speed * gameTime.ElapsedGameTime.TotalMilliseconds);
                _paddleAi    = false;
            }
            if (touchState.IsKeyDown(Keys.D))
            {
                PaddleTop.X += (float)(PaddleTop.Speed * gameTime.ElapsedGameTime.TotalMilliseconds);
                _paddleAi    = false;
            }

            if (_paddleAi)
            {
                PaddleTop.X = MathHelper.Lerp(PaddleTop.X, PaddleTop.X + PaddleAI.Move(PaddleTop, Ball) * (float)(PaddleTop.Speed * gameTime.ElapsedGameTime.TotalMilliseconds), Ball.GetElement(0).Speed > 1 ? 1 : (Ball.GetElement(0).Speed / 1.2f));
            }

            //Limit paddle position
            PaddleBottom.X =
                MathHelper.Clamp(PaddleBottom.X, screenBounds.Left, screenBounds.Right - PaddleBottom.Width);
            PaddleTop.X = MathHelper.Clamp(PaddleTop.X, screenBounds.Left, screenBounds.Right - PaddleTop.Width);

            foreach (var ball in Ball)
            {
                //Ball movement
                var ballPositionChange =
                    ball.Direction * (float)(gameTime.ElapsedGameTime.TotalMilliseconds * ball.Speed);
                ball.X += ballPositionChange.X;
                ball.Y += ballPositionChange.Y;

                // Ball hitting side walls
                if (CollisionDetector.Overlaps(ball, Walls.GetElement(0)) ||
                    CollisionDetector.Overlaps(ball, Walls.GetElement(1)))
                {
                    HitSound.Play(0.2f, 0, 0);
                    ball.Direction.invertX();
                    if (ball.Speed < GameConstants.DefaultMaxBallSpeed)
                    {
                        ball.Speed *= ball.BumpSpeedIncreaseFactor;
                    }
                }

                // Ball hitting goals
                if (CollisionDetector.Overlaps(ball, Goals.GetElement(0)))
                {
                    Score.Player1++;
                    if (Ball.Count == 1)
                    {
                        ResetBall();
                    }
                    else
                    {
                        Ball.Remove(ball);
                    }
                }
                if (CollisionDetector.Overlaps(ball, Goals.GetElement(1)))
                {
                    Score.Player2++;
                    if (Ball.Count == 1)
                    {
                        ResetBall();
                    }
                    else
                    {
                        Ball.Remove(ball);
                    }
                }

                // Ball hitting paddles
                if (CollisionDetector.Overlaps(ball, PaddleTop) || CollisionDetector.Overlaps(ball, PaddleBottom))
                {
                    HitSound.Play(0.2f, 0, 0);
                    ball.Direction.invertY();
                    if (ball.Speed < GameConstants.DefaultMaxBallSpeed)
                    {
                        ball.Speed *= ball.BumpSpeedIncreaseFactor;
                    }

                    if (ball == Ball.GetElement(0))
                    {
                        SpawnPickups();
                    }
                }

                if (Timer.Equals("0"))
                {
                    foreach (var pickup in Pickups)
                    {
                        if (!CollisionDetector.Overlaps(ball, pickup))
                        {
                            continue;
                        }
                        pickup.Activate(this);
                        Pickups.Remove(pickup);
                    }
                }
            }

            //Ball outside of the screen
            if (!new Rectangle(-GameConstants.WallDefaultSize, -GameConstants.WallDefaultSize,
                               screenBounds.Width + GameConstants.WallDefaultSize,
                               screenBounds.Height + GameConstants.WallDefaultSize)
                .Intersects(new Rectangle((int)Ball.GetElement(0).X, (int)Ball.GetElement(0).Y,
                                          Ball.GetElement(0).Width, Ball.GetElement(0).Height)))
            {
                ResetBall();
            }

            base.Update(gameTime);
        }