Exemplo n.º 1
0
        private void SetDirectionToPlayerPosition()
        {
            ICTank playerTank = mController.ParentGameWindow.GetPlayerTank();

            int playerTankSize = playerTank.GetSize();

            if (mPosition.GetPosX() > playerTank.GetPosX() + playerTankSize)
            {
                base.SetMoveLeft(true);
            }
            else if (mPosition.GetPosX() < playerTank.GetPosX() - playerTankSize)
            {
                base.SetMoveRight(true);
            }

            if (mPosition.GetPosY() > playerTank.GetPosY() + playerTankSize)
            {
                base.SetMoveUp(true);
            }
            else if (mPosition.GetPosY() < playerTank.GetPosY() - playerTankSize)
            {
                base.SetMoveDown(true);
            }
        }
Exemplo n.º 2
0
        public void Redraw(
            ICTank iTank,
            EPartOfScreen iPartOfScreen)
        {
            Graphics formGraphics = mController.ParentGameWindow.View.CreateGraphics();

            Rectangle windowBounds = mController.ParentGameWindow.View.Bounds;

            int halfTankSize = iTank.GetSize() / 2;

            int tankPosX = iTank.GetPosX();
            int amountOfWindowElementsX = (windowBounds.Width / mController.ParentGameWindow.GetElementSize()) / 2;
            int elementsFirstXIndex     = tankPosX - (amountOfWindowElementsX / 2 - halfTankSize);

            int firstWindowElementX = 0;

            if (iPartOfScreen == EPartOfScreen.RIGHT)
            {
                firstWindowElementX = amountOfWindowElementsX + 1;
            }

            int tankPosY = iTank.GetPosY();
            int amountOfWindowElementsY = windowBounds.Height / mController.ParentGameWindow.GetElementSize();
            int elementsFirstYIndex     = tankPosY - (amountOfWindowElementsY / 2 - halfTankSize);

            CBoardElement[][] boardElements = mController.Elements;

            int boardElementSize = mController.ParentGameWindow.GetElementSize();

            RedrawFrameAndBasicMapElements(
                formGraphics,
                iTank,
                boardElementSize,
                elementsFirstXIndex,
                elementsFirstYIndex,
                firstWindowElementX,
                amountOfWindowElementsX,
                amountOfWindowElementsY);

            RedrawTank(
                formGraphics,
                iTank,
                boardElementSize,
                elementsFirstXIndex,
                elementsFirstYIndex,
                firstWindowElementX,
                amountOfWindowElementsX,
                amountOfWindowElementsY);

            RedrawBonuses(
                formGraphics,
                iTank,
                boardElementSize,
                elementsFirstXIndex,
                elementsFirstYIndex,
                firstWindowElementX,
                amountOfWindowElementsX,
                amountOfWindowElementsY);

            RedrawMissiles(
                formGraphics,
                iTank,
                boardElementSize,
                elementsFirstXIndex,
                elementsFirstYIndex,
                firstWindowElementX,
                amountOfWindowElementsX,
                amountOfWindowElementsY);

            RedrawHitPointsBar(
                formGraphics,
                iTank,
                boardElementSize,
                firstWindowElementX,
                amountOfWindowElementsX);

            RedrawRightBorder(
                formGraphics,
                boardElementSize,
                firstWindowElementX,
                amountOfWindowElementsX,
                amountOfWindowElementsY);

            formGraphics.Dispose();
        }