- 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#, Решил написать Пин-Понг на моногейм, Плучилось нечто но работает отлично: отрывок кода сверху