AIsOfCatan.Board.GetRowLength C# (CSharp) Method

GetRowLength() public static method

public static GetRowLength ( int row ) : int
row int
return int
        public static int GetRowLength(int row)
        {
            return row % 2 == 0 ? 6 : 7;
        }

Usage Example

Example #1
0
        public Intersection[] GetAllIntersections()
        {
            if (allIntersections == null)
            {
                List <Intersection> result = new List <Intersection>(22);
                for (int r = 0; r < 7; r++)
                {
                    for (int c = 0; c < Board.GetRowLength(r); c++)
                    {
                        Intersection south     = null;
                        Intersection southeast = null;

                        if (r % 2 == 0)
                        {
                            if (r + 1 < 7 && c + 1 < Board.GetRowLength(r + 1))
                            {
                                south = new Intersection(GetTerrainIndex(r, c), GetTerrainIndex(r + 1, c), GetTerrainIndex(r + 1, c + 1));
                            }
                            if (r + 1 < 7 && c + 1 < Board.GetRowLength(r))
                            {
                                southeast = new Intersection(GetTerrainIndex(r, c), GetTerrainIndex(r, c + 1), GetTerrainIndex(r + 1, c + 1));
                            }
                        }
                        else
                        {
                            if (r + 1 < 7 && c - 1 >= 0 && c < 6)
                            {
                                south = new Intersection(GetTerrainIndex(r, c), GetTerrainIndex(r + 1, c - 1), GetTerrainIndex(r + 1, c));
                            }
                            if (r + 1 < 7 && c < 6)
                            {
                                southeast = new Intersection(GetTerrainIndex(r, c), GetTerrainIndex(r, c + 1), GetTerrainIndex(r + 1, c));
                            }
                        }

                        if (south != null && (GetTile(south.FirstTile).Terrain != Terrain.Water || GetTile(south.SecondTile).Terrain != Terrain.Water))
                        {
                            result.Add(south);
                        }
                        if (southeast != null && (GetTile(southeast.FirstTile).Terrain != Terrain.Water || GetTile(southeast.SecondTile).Terrain != Terrain.Water))
                        {
                            result.Add(southeast);
                        }
                    }
                }
                allIntersections = result.ToArray();
            }
            return(allIntersections.ToArray());
        }
All Usage Examples Of AIsOfCatan.Board::GetRowLength