private void FillMaze() { _logicalMaze = new LogicalMaze { Field = new MazeTile[_rowCount, _rowLenght] }; for (var row = 0; row < _rowCount; row++) { FillRow(_lines[row], row); } }
public LogicalGhost(int row, int col, ILogicalMaze logicalMaze, LogicalPacman logicalPacman) : base(col, row, logicalMaze) { this._logicalPacman = logicalPacman; _distanceToPacman = GetDistanceToPacman(); _movementMapping = new Dictionary <int, Direction> { { 0, Direction.Up }, { 1, Direction.Right }, { 2, Direction.Down }, { 3, Direction.Left } }; }
private void DrawRow(int rowNumber, ILogicalMaze logicalMaze) { _currentColumn = 0; for (var columnNumber = 0; columnNumber < _numberOfColumns; columnNumber++) { var template = _panelMapping[logicalMaze.Field[rowNumber, columnNumber]]; var panel = template?.Clone(); panel.Draw(columnNumber, rowNumber); Panels[_currentRow, _currentColumn] = panel; _currentColumn++; } _currentRow++; }
private void GenerateDynamicMaze(ILogicalMaze logicalMaze) { _currentRow = 0; _numberOfRows = logicalMaze.Field.GetLength(0); _numberOfColumns = logicalMaze.Field.Length / _numberOfRows; Panels = new BasePanel[_numberOfRows, _numberOfColumns]; for (var rowNumber = 0; rowNumber < _numberOfRows; rowNumber++) { DrawRow(rowNumber, logicalMaze); } }
public GameController(ILogicalMaze logicalMaze) { this._logicalMaze = logicalMaze; this._pacman = new LogicalPacman(1, 1, logicalMaze); this._ghost = new LogicalGhost(4, 4, logicalMaze, _pacman); var paceMaker = new Timer { Interval = 350, Enabled = true }; paceMaker.Elapsed += NextStep; }
public LogicalPiece(int col, int row, ILogicalMaze logicalMaze) { _logicalMaze = logicalMaze; this.Column = col; this.Row = row; MovementDeltaMapping = new Dictionary <Direction, Tuple <int, int> > { { Direction.Up, new Tuple <int, int>(-1, 0) }, { Direction.Right, new Tuple <int, int>(0, 1) }, { Direction.Left, new Tuple <int, int>(0, -1) }, { Direction.Down, new Tuple <int, int>(1, 0) } }; _movement = new Dictionary <Direction, Action> { { Direction.Up, () => { Move(Direction.Up); } }, { Direction.Right, () => { Move(Direction.Right); } }, { Direction.Left, () => { Move(Direction.Left); } }, { Direction.Down, () => { Move(Direction.Down); } } }; }
public VisualMaze(ILogicalMaze logicalMaze) { GenerateDynamicMaze(logicalMaze); }
public PacmanTest() { this._logicalMaze = new LogicalMaze(); this._pacmanPanel = new PacmanPanel(); this._gameController = new GameController(_logicalMaze, _pacmanPanel, new Panel()); }
public LogicalPacman(int row, int col, ILogicalMaze logicalMaze) : base(col, row, logicalMaze) { }