示例#1
0
        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);
            }
        }