public List <char[]> GenerateHopping(char[] location) { BoardCommon b = new BoardCommon(); List <char[]> hoppingList = new List <char[]>(); char[] copyOfBoard = new char[50]; for (int ind = 0; ind < location.Length; ind++) { if (location[ind] == 'W') { for (int j = 0; j < location.Length; j++) { if (location[j] == 'x') { copyOfBoard = (char[])location.Clone(); copyOfBoard[ind] = 'x'; copyOfBoard[j] = 'W'; if (b.CloseMill(j, copyOfBoard)) { b.GenerateRemove(copyOfBoard, hoppingList); } else { hoppingList.Add(copyOfBoard); } } } } } return(hoppingList); }
public List <char[]> GenerateMove(char[] location) { BoardCommon b = new BoardCommon(); List <char[]> piecesToMove = new List <char[]>(); char[] copyOfBoard = new char[50]; int[] neighboursList; for (int ind = 0; ind < location.Length; ind++) { if (location[ind] == 'W') { neighboursList = b.Neighbours(ind); foreach (int neighbour in neighboursList) { if (location[neighbour] == 'x') { copyOfBoard = (char[])location.Clone(); copyOfBoard[ind] = 'x'; copyOfBoard[neighbour] = 'W'; if (b.CloseMill(neighbour, copyOfBoard)) { b.GenerateRemove(copyOfBoard, piecesToMove); } else { piecesToMove.Add(copyOfBoard); } } } } } return(piecesToMove); }
public List <char[]> GenerateAdd(char[] board) { BoardCommon b = new BoardCommon(); List <char[]> piecesListAdd = new List <char[]>(); char[] copyOfBoard; for (int ind = 0; ind < board.Length; ind++) { if (board[ind] == 'x') { copyOfBoard = (char[])board.Clone(); copyOfBoard[ind] = 'W'; if (b.CloseMill(ind, copyOfBoard)) { piecesListAdd = b.GenerateRemove(copyOfBoard, piecesListAdd); } else { piecesListAdd.Add(copyOfBoard); } } } return(piecesListAdd); }