public void Update(GameTime gameTime) { var keystate = Keyboard.GetState(); if (keystate.IsKeyDown(Keys.W) || keystate.IsKeyDown(Keys.Up)) { _movement += _moveUp * (float)gameTime.ElapsedGameTime.TotalSeconds * _speed; } if (keystate.IsKeyDown(Keys.S) || keystate.IsKeyDown(Keys.Down)) { _movement += _moveDown * (float)gameTime.ElapsedGameTime.TotalSeconds * _speed; } if (keystate.IsKeyDown(Keys.A) || keystate.IsKeyDown(Keys.Left)) { _movement += _moveLeft * (float)gameTime.ElapsedGameTime.TotalSeconds * _speed; } if (keystate.IsKeyDown(Keys.D) || keystate.IsKeyDown(Keys.Right)) { _movement += _moveRight * (float)gameTime.ElapsedGameTime.TotalSeconds * _speed; } var tempPosition = Position + _movement; if (tempPosition.X >= 20.2f) { _movement.X = -_movement.X; } else if (tempPosition.Y <= -20.2f) { _movement.Y = -_movement.Y; } else if (tempPosition.X <= -20.5f) { _parentPlayState.TriggerEnd("Fell out of the arena", Color.Red); } else if (tempPosition.Y >= 20.5f) { _parentPlayState.TriggerEnd("Fell out of the arena", Color.Red); } Position += _movement; }