public int GetNumberOfNonAnchorTilesToTheLeftOfABoardTile(BoardTile boardTile, BoardTileCollection boardAnchors) { int count = 0; int boardTileY = boardTile.Y; while (boardTileY > 0) { BoardTile boardTileToTheLeft = Board.GetBoardTileAtCoordinates(boardTile.X, boardTileY - 1); if (boardTileToTheLeft == null || boardAnchors.Contains(boardTileToTheLeft)) { break; } count++; boardTileY--; } return(count); }
public static string PrintBoard(Board board) { BoardAnchorCollector boardAnchorCollector = new(); BoardTileCollection anchors = boardAnchorCollector.GetAnchors(board); StringBuilder sb = new(PrintBoard_Delimiter); foreach (BoardTile[] rows in board.Tiles) { if (sb.Length != 0) { sb.Append('\n'); } foreach (BoardTile tile in rows) { sb.Append(anchors.Contains(tile) ? "[=]" : $"[{tile.PrintChar()}]"); } } sb.Append('\n'); sb.Append(PrintBoard_Delimiter); return(sb.ToString()); }