Well, I'm trying to make a hunting game in java, but I can not find the word, can anyone help?
Follow the code:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class File {
public static void main(String[]args) throws Exception{
// File arquivo = new File ("C:\teste01.txt");
FileReader arquivo = new FileReader ("C:\teste01.txt");
BufferedReader br = new BufferedReader(arquivo);
Scanner sc = new Scanner(System.in);
char[][] matriz = null;
String entrada = null;
int coluna = 0;
boolean primeira = true;
while (br.ready()){
String linha = br.readLine();
if(primeira) {
String []b = linha.split(" ");
int a = Integer.parseInt(b[0]);
int d = Integer.parseInt(b[1]);
matriz = new char[a][d];
primeira = false;
} else {
char[] auxLinha = linha.toCharArray();
for (int i = 0; i < auxLinha.length; i++) {
matriz[coluna][i] = auxLinha[i];
}
coluna++;
}
}
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]+" ");
}
System.out.println("\n");
}
br.close();
int i, j, k, n = 0, p = 0, t; //Contadores
int encontrada = 0; // SIM = 1. NÃO = 0.
char palavra[][] = null ;
for (i = 0; i < p; i++)
System.out.println("DIGITE A PALAVRA:\n");
String palavraNextLine = sc.nextLine(); //Armazena as palavras que serão buscadas na matriz.
System.out.println("RESULTADO:\n");
for (k = 0; k < p; k++) //Para cada palavra
{
//Inicialmente a palavra é considerada Não-Encontrada.
encontrada = 0;
for (i = 0; i < n; i++) //Para cada linha da matriz
{
for (j = 0; j < n; j++) //Para cada coluna da matriz
{
if (palavra[k][0] == matriz[i][j]) //Se a primeira letra for encontrada
{
if (palavra[k][1] == matriz[i - 1][j]) //Se a segunda letra for encontrada acima (Norte)
{
encontrada = 1;
for (t = 0; t < (palavra[k]).length; t++)
if (palavra[k][t] != matriz[i - t][j])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
if (palavra[k][1] == matriz[i + 1][j]) //Se a segunda letra for encontrada abaixo (Sul)
{
encontrada = 1;
for (t = 0; t < (palavra[k].length); t++)
if (palavra[k][t] != matriz[i + t][j])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
if (palavra[k][1] == matriz[i][j + 1]) //Se a segunda letra for encontrada a direita (Leste)
{
encontrada = 1;
for (t = 0; t < (palavra[k].length); t++)
if (palavra[k][t] != matriz[i][j + t])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
if (palavra[k][1] == matriz[i][j - 1]) //Se a segunda letra for encontrada a esquerda (Oeste)
{
encontrada = 1;
for (t = 0; t < (palavra[k].length); t++)
if (palavra[k][t] != matriz[i][j - t])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
if (palavra[k][1] == matriz[i - 1][j + 1]) //Se a segunda letra for encontrada acima-direita (Nordeste)
{
encontrada = 1;
for (t = 0; t < (palavra[k].length); t++)
if (palavra[k][t] != matriz[i - t][j + t])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
if (palavra[k][1] == matriz[i - 1][j - 1]) //Se a segunda letra for encontrada acima-esquerda (Noroeste)
{
encontrada = 1;
for (t = 0; t < (palavra[k].length); t++)
if (palavra[k][t] != matriz[i - t][j - t])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
if (palavra[k][1] == matriz[i + 1][j + 1]) //Se a segunda letra for encontrada abaixo-direita (Sudeste)
{
encontrada = 1;
for (t = 0; t < (palavra[k].length); t++)
if (palavra[k][t] != matriz[i + t][j + t])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
if (palavra[k][1] == matriz[i + 1][j - 1]) //Se a segunda letra for encontrada abaixo-esquerda (Sudoeste)
{
encontrada = 1;
for (t = 0; t < (palavra[k].length); t++)
if (palavra[k][t] != matriz[i + t][j - t])
encontrada = 0;
if (encontrada == 1){
break;
}else{
return;
}
}
}
}
if (encontrada == 1){
break;
}else{
return;
}
}
}
//Depois da verificação ele diz se a palavra foi encontrada ou não, então passa para a verificação da próxima palavra.
if (encontrada == 1){
System.out.println(" PALAVRA ENCONTRADA\n");
}else{
System.out.println(" PALAVRA NAO ENCONTRADA\n");
}
}
}