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); } }
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(); }