rendered paste bodypublic String looking (int x, int y, boolean[][] wasHere, String word) {
System.out.println("Currently testing: " + word);
System.out.println(" Recursed " + word.length() + " levels");
if (wasHere == null) {
wasHere = new boolean[size][size];
for (int ax = 0; ax < size; ax++)
for (int ay = 0; ay < size; ay++)
wasHere[ax][ay] = false;
}
boolean [][] workingWasHere = wasHere;
if(word.contentEquals(""))word += board[x][y];
if(isValidWord(word)) foundwords.add(word.toLowerCase());
workingWasHere[x][y] = true;
String newword = "";
for(int dy = -1;dy <= 1; dy++) {
for(int dx = -1; dx <= 1 /*&& !(dx==0 && dy==0)*/; dx++) {
int newx = x + dx, newy = y + dy;
System.out.print("Currently looking at: (" + newx + "," + newy +")");
boolean inrange = ((newx) < size && (newx) >= 0) && ((newy) < size && (newy) >= 0);
if(inrange && !workingWasHere[newx][newy]) {
newword = word + board[newx][newy];
System.out.println(" - " + newword);
if(this.isValidPrefix(newword)) {
looking(newx, newy, workingWasHere, newword);
}
}
else if (!inrange) System.out.println("- Out of range");
else if (workingWasHere[newx][newy]) System.out.println("- Already was there");
//System.out.println(word + board[x+dx][y+dy] + "\n (" + (x+dx) + "," + (y+dy) + ")");
}
}
return newword;
}