public GhostCharacter(GameBoard Board, Point CurrentLocation, int Width, int Height, Color CharacterColor)
     : base(Board, CurrentLocation, Width, Height)
 {
     _ghostColor = CharacterColor;
     _currentCharacterPosition = CharacterPosition.LegsOut;
     _currentInvincibility = CharacterInvincibility.Invincible;
     _rnd = new Random(CharacterColor.R + CharacterColor.G + CharacterColor.B);
     _board = Board;
 }
 public GameCharacter(GameBoard Board, Point StartingLocation, int Width, int Height)
 {
     _board = Board;
     _startingLocation = StartingLocation;
     _currentLocation = _startingLocation;
     _moveInterval = 1;
     _width = Width;
     _height = Height;
     _currentCharacterState = CharacterState.Stopped;
     _visible = true;
 }
 public PacmanCharacter(GameBoard Board, Point CurrentLocation, int Width, int Height)
     : base(Board, CurrentLocation, Width, Height)
 {
     _currentCharacterPosition = CharacterPosition.Closed;
 }
        private void InitializeGameBoard()
        {
            this.BackColor = Color.Black;

            // Set up Game Board properties
            _board = new GameBoard(this.Width, this.Height, picGameBoard);
            _board.OnBoardCleared += new GameBoard.GameBoardClearedEventHandler(GameBoardCleared);
            _board.onEndPlayerTurn += new GameBoard.EndPlayerTurnEventHandler(EndPlayerTurn);
            _board.onScoreChanged += new GameBoard.ScoreChangedEventHandler(ScoreChanged);
            _board.OnPowerMode += new GameBoard.PowerModeEventHandler(PowerModeInitiated);
            _board.GeneratePathPoints();
            _board.Pellets.GeneratePellets();
            _board.CurrentEatScore = 200;
            _board.InitializeCharacters();

            // Generate Lives Image
            _bmpPacman = new Bitmap(31, 31);
            SolidBrush CoverBrush = new SolidBrush(Color.Black);
            SolidBrush b = new SolidBrush(Color.FromArgb(255, 255, 0));
            Graphics g = Graphics.FromImage(_bmpPacman);
            g.SmoothingMode = SmoothingMode.AntiAlias;
            g.FillEllipse(b, 0, 0, 30, 30);
            g.FillPie(CoverBrush, -2, 0, 41, 30, 155, 50);
            g.FillRectangle(CoverBrush, 0, 5, 4, 6);
            g.FillRectangle(CoverBrush, 0, 20, 4, 6);
        }