public override Pit[] MakeBoard(int n) { NormalPit[] p1 = new NormalPit[n]; NormalPit[] p2 = new NormalPit[n]; for (int i = 0; i < n; i++) { p1[i] = new NormalPit(4); p2[i] = new NormalPit(4); if (i > 0) { p1[i - 1].next = p1[i]; p2[i - 1].next = p2[i]; } } for (int i = 0; i < n; i++) { p1[i].opposite = p2[n - i - 1]; p2[i].opposite = p1[n - i - 1]; } p1[p1.Length - 1].next = p2[0]; p2[p2.Length - 1].next = p1[0]; Pit[] board = new Pit[2 * n]; for (int i = 0; i < n; i++) { board[i] = p1[i]; board[i + n] = p2[i]; } return(board); }
public override Pit[] MakeBoard(int n) { NormalPit[] p1 = new NormalPit[n]; NormalPit[] p2 = new NormalPit[n]; //construct pits for (int i = 0; i < n; i++) { p1[i] = new NormalPit(4); p2[i] = new NormalPit(4); //connect pits. if (i > 0) { p1[i - 1].next = p1[i]; p2[i - 1].next = p2[i]; } } //connect opposite pits for (int i = 0; i < n; i++) { p1[i].opposite = p2[n - i - 1]; p2[i].opposite = p1[n - i - 1]; } //make homepits HomePit hp1 = new HomePit(0); HomePit hp2 = new HomePit(0); //connect homepist, and ends p1[p1.Length - 1].next = hp1; hp1.next = p2[0]; p2[p2.Length - 1].next = hp2; hp2.next = p1[0]; //convert to one board array Pit[] board = new Pit[2 * n + 2]; board[n] = hp1; board[2 * n + 1] = hp2; for (int i = 0; i < n; i++) { board[i] = p1[i]; board[i + n + 1] = p2[i]; } return(board); }