All pastes #199757 Raw Edit

Unnamed

public text v1 · immutable
#199757 ·published 2006-10-12 18:51 UTC
rendered paste body
public 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;
    }