private void HandleKeyPressed(object sender, KeyDownEventArgs key) //metoda koito e zaka4en za eventa presingkey { try { if (key.Command == GameComand.MoveLeft) { var Speed = GameObjectsFactory.GenerateNewPosition(GlobalConstants.PadSpeedLeft, GlobalConstants.PadSpeedTop); var newPositon = GameObjectsFactory.GenerateNewPosition(Speed, this.Pad); if (this.renderer.isInBounds(newPositon)) { this.Pad.Position = newPositon; } } else if (key.Command == GameComand.MoveRight) { var Speed = GameObjectsFactory.GenerateNewPosition(-GlobalConstants.PadSpeedLeft, GlobalConstants.PadSpeedTop); var newPositon = GameObjectsFactory.GenerateNewPosition(Speed, this.Pad); if (this.renderer.isInBounds(newPositon)) { this.Pad.Position = newPositon; } } else if (key.Command == GameComand.Pause) { if (this.timer.IsEnabled) { this.timer.Stop(); } else { this.timer.Start(); } } else { throw new WrongKeyException("Wrong key Pressed"); } } catch (WrongKeyException ex) { var position = GameObjectsFactory.GenerateNewPosition(GlobalConstants.msgLeftPosition, GlobalConstants.msgTopPosition); var size = GameObjectsFactory.GenerateNewSize(GlobalConstants.msgWidth, GlobalConstants.msgHeight); var wrongKeyExceptionObject = GameObjectsFactory.GenerateNewErrorText(position, size, ex.Message); this.renderer.Draw(wrongKeyExceptionObject); } }