Пример #1
0
        public void BreannaPowerUp()
        {
            Rectangle ballRec   = new Rectangle(ball.x, ball.y, ball.size + 50, ball.size + 50);
            Rectangle paddleRec = new Rectangle(paddle.x, paddle.y, paddle.width, paddle.height);
            Rectangle sizeRec   = new Rectangle(size.x, size.y, size.size, size.size);
            Rectangle speedRec  = new Rectangle(speed.x, speed.y, speed.size, speed.size);
            Rectangle bottomRec = new Rectangle(bottom.x, bottom.y, bottom.size, bottom.size);
            Rectangle sheild    = new Rectangle(0, this.Height - 30, this.Width, 20);

            if (sizeRec.IntersectsWith(paddleRec))
            {
                if (paddleWidth == 80)
                {
                    paddle.width = 160;
                }
            }

            if (speedRec.IntersectsWith(paddleRec))
            {
                if (ball.xSpeed >= 2 && ball.ySpeed >= 2)
                {
                    ball.xSpeed--;
                    ball.ySpeed--;
                }
            }

            if (bottomRec.IntersectsWith(paddleRec))
            {
                sheildSpawn = true;
            }

            foreach (PowerUp power in powerUps)
            {
                Rectangle powerUpRec = new Rectangle(power.x, power.y, power.size, power.size);

                if (power.x < 0 || power.x > this.Width)
                {
                    power.XCollision();

                    if (power.y < 0 || power.y > this.Height)
                    {
                        power.YCollision();
                    }
                }
                else if (power.y < 0 || power.y > this.Height)
                {
                    power.YCollision();

                    if (power.x < 0 || power.x > this.Width)
                    {
                        power.XCollision();
                    }
                }

                if (powerUpRec.IntersectsWith(paddleRec))
                {
                    power.Collision();
                }


                if (sheildSpawn == true)
                {
                    //Rectangle sheild = new Rectangle(0, this.Height - 30, this.Width, 20);

                    if (powerUpRec.IntersectsWith(sheild))
                    {
                        power.Collision();
                    }
                }

                if (speed.x == speedX)
                {
                    speed.Move();
                    speedX = speed.x;
                    speedY = speed.y;
                }
                else if (speed.y == speedY)
                {
                    speed.Move();
                    speedX = speed.x;
                    speedY = speed.y;
                }

                if (size.x == sizeX)
                {
                    size.Move();
                    sizeX = size.x;
                    sizeY = size.y;
                }
                else if (size.y == sizeY)
                {
                    size.Move();
                    sizeX = size.x;
                    sizeY = size.y;
                }

                if (bottom.x == bottomX)
                {
                    bottom.Move();
                    bottomX = bottom.x;
                    bottomY = bottom.y;
                }
                else if (bottom.y == bottomY)
                {
                    bottom.Move();
                    bottomX = bottom.x;
                    bottomY = bottom.y;
                }

                if (sheildSpawn == true)
                {
                    if (ballRec.IntersectsWith(sheild))
                    {
                        sheildHits++;

                        if (sheildHits == 5)
                        {
                            sheildSpawn = false;
                            sheildHits  = 0;
                        }
                        else
                        {
                            ball.SheildCollistion();
                        }
                    }
                }
            }
        }