Not to step on your toes Amir but i fixed the up / down inverse that was happening on the zune 30. here is the code.
Find this in the Game1.cs File in the ZunePong Project:
Code:
protected void movePaddle(GameTime gameTime)
{
int MaxX = graphics.GraphicsDevice.Viewport.Width - (int)(ball.Width * scale);
int MinX = 0;
int MaxY = graphics.GraphicsDevice.Viewport.Height - (int)(ball.Height* scale);
int MinY = 0;
//paddle2Pos.X = ballPos.X + paddle.Width/2; <--- Too "Smart"
if(ballPos.X > paddle2Pos.X - paddle2.Height*scale*2){
paddle2Pos.X += 2f;
}
else if (ballPos.X < paddle2Pos.X - paddle2.Height * scale * 2)
{
paddle2Pos.X -= 2f;
}
if (GamePad.GetCapabilities(PlayerIndex.One).HasLeftXThumbStick)
{
if (paddlePos.X < MaxX && paddlePos.X - paddle.Height * scale * 3 > MinX)
paddlePos.X += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 10f;
else if (paddlePos.X >= MaxX && GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 8f < 0f)
paddlePos.X += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 10f;
else if (paddlePos.X <= MaxX && GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 8f > 0f)
paddlePos.X += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 8f;
}
else
{
if ((paddlePos.X < MaxX && paddlePos.X - paddle.Height * scale * 3 > MinX) && GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
paddlePos.X += 5f;
if ((paddlePos.X < MaxX && paddlePos.X - paddle.Height * scale * 3 > MinX) && GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
paddlePos.X -= 5f;
else if (paddlePos.X >= MaxX && GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
paddlePos.X -= 5f;
else if (paddlePos.X <= MaxX && GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
paddlePos.X += 5f;
}
}
And replace it with this:
Code:
protected void movePaddle(GameTime gameTime)
{
int MaxX = graphics.GraphicsDevice.Viewport.Width - (int)(ball.Width * scale);
int MinX = 0;
int MaxY = graphics.GraphicsDevice.Viewport.Height - (int)(ball.Height* scale);
int MinY = 0;
//paddle2Pos.X = ballPos.X + paddle.Width/2; <--- Too "Smart"
if(ballPos.X > paddle2Pos.X - paddle2.Height*scale*2){
paddle2Pos.X += 2f;
}
else if (ballPos.X < paddle2Pos.X - paddle2.Height * scale * 2)
{
paddle2Pos.X -= 2f;
}
if (GamePad.GetCapabilities(PlayerIndex.One).HasLeftXThumbStick)
{
if (paddlePos.X < MaxX && paddlePos.X - paddle.Height * scale * 3 > MinX)
paddlePos.X += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 10f;
else if (paddlePos.X >= MaxX && GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 8f < 0f)
paddlePos.X += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 10f;
else if (paddlePos.X <= MaxX && GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 8f > 0f)
paddlePos.X += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 8f;
}
else
{
if ((paddlePos.X < MaxX && paddlePos.X - paddle.Height * scale * 3 > MinX) && GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
paddlePos.X += 5f;
if ((paddlePos.X < MaxX && paddlePos.X - paddle.Height * scale * 3 > MinX) && GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
paddlePos.X -= 5f;
else if (paddlePos.X >= MaxX && GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
paddlePos.X -= 5f;
else if (paddlePos.X <= MaxX && GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
paddlePos.X += 5f;
}
}