Public feed #378388

Someone

public text v1 · immutable
Raw Edit
·published 2007-03-02 14:04 UTC
rendered paste body
import java.util.ArrayList;
import java.util.List;


public class b0ggleLayout {
	
	private String[][] Grid;
	private String[] Board;
	private boolean[] SelectedSquare;
	List<Integer> boardIntLoc;
	List<Integer> LocationsInOrder = new ArrayList<Integer>();
	public String[][] AssignGrid(String[] letterArray){
		Board = letterArray;
		SelectedSquare = new boolean[Board.length];
		double sideLengthdbl = Math.sqrt(letterArray.length);
		int sideLengthint = (int)sideLengthdbl;
			Grid = new String[sideLengthint][sideLengthint];
		for (int x = 0; x < letterArray.length; x++){
			int row=x/4;
			int col=x%4;
			Grid[row][col]=letterArray[x];
		} 
		
		for (int x = 0; x < Board.length; x++){
			System.out.println("grid @ pos " + x + " is:      String: " + Grid[(x/4)][(x%4)] + " row: " + x/4 + " col: " + x%4);
		}		
		return Grid;
	}
	
	public void showBoard(String[] letterArray){
		
		System.out.println("The grid is" + Grid.length + " by " + Grid.length); 
		for (int x=0;x<letterArray.length;x++){
		System.out.println(letterArray[x] + " = element at " + x);
		}
	}
	 	 
	public List FindWord(String wordToCheck, int StringPos){
		System.out.println("Stringpos " + StringPos);
		System.out.println("wordToCheck.length " + wordToCheck.length());
		System.out.println(" ");
		for (int x = 0; x < Board.length; x++){
			
 			int[] MultipleOccurances = new int[Board.length];
 			if(wordToCheck.length()<=StringPos){
 				return LocationsInOrder;
 			}
 			String LetterToCheck = wordToCheck.charAt(StringPos)+"";
			if (LetterToCheck.equalsIgnoreCase(Grid[(x/4)][(x%4)]) == true){
				System.out.println("Looking for Letter To Check  " + LetterToCheck);
				System.out.println("Found letter at " + x);
				System.out.println(" ");
				MultipleOccurances[StringPos]=x;
				LocationsInOrder.add(x);
				System.out.println("locatoins in order "  + LocationsInOrder.get(StringPos));
				SelectedSquare[x]=true;
				
				System.out.println("WordToCheck " + wordToCheck);
				System.out.println(" ");
				FindWord(wordToCheck, StringPos+1);
			}
		}
		return LocationsInOrder;
	}
	
	public int FindNext(String wordToCheck, int StringPos, int StartLoc, int row, int col){
		String LetterToCheck = wordToCheck.charAt(StringPos)+"";
		System.out.println("Selected squre should be true: " + SelectedSquare[StartLoc]);
		System.out.println("Next Letter is: " + LetterToCheck);
		//System.out.println("First letter at pos: " + StringPos + " row: " + row + " col : " + col);
		/*positions to test
		 * 1 row,col-1     left
		 * 2 row-1,col-1   left & up
		 * 3 row-1,col     up
		 * 4 row-1,col+1   up & right
		 * 
		 * 5 row,col+1     right
		 * 
		 * 
		 * 7 row+1,col     down
		 * 8 row+1,col-1   down & left
		 * 6 row+1,col+1   right & down
		 */
		System.out.println("Current Row and Column : " + row + " " + col);
		if(row<0 || row > 4 || col <0 || col > 4 ){
			System.out.println("not on board");
		}
		
		if(Grid[row][col-1]!=null && Grid[row][col-1]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		
		if(Grid[row-1][col-1]!=null && Grid[row-1][col-1]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		
		if(Grid[row-1][col]!=null && Grid[row-1][col]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		
		if(Grid[row-1][col+1]!=null && Grid[row-1][col+1]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		
		if(Grid[row][col+1]!=null && Grid[row][col+1]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		
		if(Grid[row+1][col]!=null && Grid[row+1][col]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		
		if(Grid[row+1][col-1]!=null && Grid[row+1][col-1]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		
		if(Grid[row+1][col+1]!=null && Grid[row+1][col+1]==LetterToCheck){
			System.out.println("Found lettertocheck: " + LetterToCheck);
		}
		else 
			System.out.println("LetterToCheck is not found");
		
		return 0;
	}	
}