// to generate adjacent moves of the black pieces public LinkList generateMove_Black(String board, LinkList LL1) { String b; int j; LL1.first = null; int[] n = null; for (int i = 0; i < board.length(); i++) { if (board.charAt(i) == 'B') { n = neighbors(i); for (int k = 0; k < n.length; k++) { j = n[k]; if (board.charAt(j) == 'x') { b = board; b = b.substring(0, i) + 'x' + b.substring(i + 1); b = b.substring(0, j) + 'B' + b.substring(j + 1); if (closeMill(j, b)) { LL1 = generateRemove_Black(b, LL1); } else { LL1.insert(b); } } } } } return LL1; }
// to generate hopping moves for black pieces public LinkList generateHopping_Black(String board, LinkList LL1) { String b; LL1.first = null; for (int i = 0; i < board.length(); i++) { if (board.charAt(i) == 'B') { for (int j = 0; j < board.length(); j++) { if (board.charAt(j) == 'x') { b = board; b = b.substring(0, i) + 'x' + b.substring(i + 1); b = b.substring(0, j) + 'B' + b.substring(j + 1); if (closeMill(j, b)) { LL1 = generateRemove_Black(b, LL1); } else { LL1.insert(b); } } } } } return LL1; }