- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
else if (BallToDown(paddle_2, paddle_2_pos, new Rectangle((int)ball_pos.X, (int)ball_pos.Y, ball.Width, ball.Height)))
            {
                Paddle_s.Play();
                ballSpeed = new Vector2(9.0f, 4.5f);
            }
            /*Левая Ракетка*/
            //Ограничения по Оси Y
            if (paddle_2_pos.Y < 0)
                paddle_2_pos.Y = 0;
            else if (paddle_2_pos.Y > Window.ClientBounds.Height - paddle_2.Height)
                paddle_2_pos.Y = Window.ClientBounds.Height - paddle_2.Height;
            //Управление Ракеткой
            if (Keyboard.GetState().IsKeyDown(Keys.W))
                paddle_2_pos.Y -= speed;
            else if (Keyboard.GetState().IsKeyDown(Keys.S))
                paddle_2_pos.Y += speed;
            /*Правая Ракетка*/
            //Ограниччения по Оси Y
            if (paddle_1_pos.Y < 0)
                paddle_1_pos.Y = 0;
            else if (paddle_1_pos.Y > Window.ClientBounds.Height - paddle_1.Height)
                paddle_1_pos.Y = Window.ClientBounds.Height - paddle_1.Height;
            //Управление Ракеткой
            if (Keyboard.GetState().IsKeyDown(Keys.Up))
                paddle_1_pos.Y -= speed;
            else if (Keyboard.GetState().IsKeyDown(Keys.Down))
                paddle_1_pos.Y += speed;
            base.Update(gameTime);
        }
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);
            spriteBatch.Begin();
            spriteBatch.Draw(paddle_1, paddle_1_pos, Color.White);
            spriteBatch.Draw(paddle_2, paddle_2_pos, Color.White);
            spriteBatch.Draw(ball, ball_pos, Color.White);
            spriteBatch.End();
            base.Draw(gameTime);
        }
        public bool BallToUp(Texture2D paddle, Vector2 paddle_pos, Rectangle ballRect)
        {
            /*Создаётся прямоугольник размером 1/3 от всей ракетки*/
            Rectangle paddleRect = new Rectangle((int)paddle_pos.X, (int)paddle_pos.Y, paddle.Width, (int)paddle.Height / 2);
            return ballRect.Intersects(paddleRect);
        }
        public bool BallToDown(Texture2D paddle, Vector2 paddle_pos, Rectangle ballRect)
        {
            /*Создаётся прямоугольник размером 1/3 от всей ракетки*/
            Rectangle paddleRect = new Rectangle((int)paddle_pos.X, (int)paddle_pos.Y + (paddle.Height / 2), paddle.Width, (int)paddle.Height / 2);
            return ballRect.Intersects(paddleRect);
        }
    }
}
                                     
        
            Недавно начал программировать на C#, Решил написать Пин-Понг на моногейм, Плучилось нечто но работает отлично: отрывок кода сверху