Error: illegal start of expression if(M[0][0])>=1{

Boa noite pessoal do GUJ.
Estava desenvolvendo uma versão de um jogo de campo minado para um projeto escolar. Usei a base de um código do Youtube e fiz algumas adaptações, mas estou tendo problemas com uma parte do programa que usa pra checar as alternativas possíveis. Se possível, gostaria que alguém me ajudasse a corrigir o problema do meu código. O erro me diz que é impossível converter uma variável inteira em boolean e que o ínicio da expressão é ilegal. Segue o código abaixo:

package me.am;

import java.util.Scanner;
import java.util.Random;

public class MEAM {

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    Random A = new Random();
    int[][] Tabuleiro = {
        {A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2)},
        {A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2)},
        {A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2)},
        {A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2)},
        {A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2)},
        {A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2), A.nextInt(2)}
    };
    System.out.println("------------------------");
    System.out.println("******** ME AM ********");
    System.out.println("------------------------");
    System.out.println("");
    System.out.println("------------------------");
    System.out.println("******** REGRAS: ********");
    System.out.println("------------------------");
    System.out.println("============================================================================================================");
    System.out.println("Para iniciar o jogo, o jogador deverá usar o dado para colocar um número em uma linha e uma coluna. ");
    System.out.println("O tamanho do tabuleiro é de 6x6, totalizando 6 linhas e 6 colunas. ");
    System.out.println("Rode o dado 2 vezes para realizar as jogadas. Primeiro resultado para as linhas e o segundo para as colunas. ");
    System.out.println("O jogador tem 6 vidas disponíveis, a cada bomba que ele pisar, ele perde uma dessas vidas. ");
    System.out.println("Se o número de vidas for igual a zero, você perde o jogo.");
    System.out.println("============================================================================================================");
  
    int vidas = 6;
    int x, y;
    int [][] M = new int[6][6];
    String[][] N = new String[6][6];
              
    Jogada: do {
        
        switch(M[0][0]){
            case 1: N[0][0] = "Vazio"; break;
            case 2: N[0][0] = "Bomba"; break;
            default: N[0][0] = "    "; break;  
        }
        switch(M[1][0]){
            case 1: N[1][0] = "Vazio"; break;
            case 2: N[1][0] = "Bomba"; break;
            default: N[1][0] = "    "; break;  
        }
        switch(M[2][0]){
            case 1: N[2][0] = "Vazio"; break;
            case 2: N[2][0] = "Bomba"; break;
            default: N[2][0] = "    "; break;  
        }
        switch(M[3][0]){
            case 1: N[3][0] = "Vazio"; break;
            case 2: N[3][0] = "Bomba"; break;
            default: N[3][0] = "    "; break;  
        }
        switch(M[4][0]){
            case 1: N[4][0] = "Vazio"; break;
            case 2: N[4][0] = "Bomba"; break;
            default: N[4][0] = "    "; break;  
        }
        switch(M[5][0]){
            case 1: N[5][0] = "Vazio"; break;
            case 2: N[5][0] = "Bomba"; break;
            default: N[5][0] = "    "; break;  
        }
        
        System.out.println("==================================================");
        System.out.println("X|   0   |   1   |   2   |   3   |   4   |   5   |");
        System.out.println("--------------------------------------------------");
        System.out.println("0| "+N[0][0]+" | "+N[0][1]+" | "+N[0][2]+" | "+N[0][3]+" | "+N[0][4]+" | "+N[0][5]+" |");
        System.out.println("--------------------------------------------------");
        System.out.println("1| "+N[1][0]+" | "+N[1][1]+" | "+N[1][2]+" | "+N[1][3]+" | "+N[1][4]+" | "+N[1][5]+" |");
        System.out.println("--------------------------------------------------");
        System.out.println("2| "+N[2][0]+" | "+N[2][1]+" | "+N[2][2]+" | "+N[2][3]+" | "+N[2][4]+" | "+N[2][5]+" |");
        System.out.println("--------------------------------------------------");
        System.out.println("3| "+N[3][0]+" | "+N[3][1]+" | "+N[3][2]+" | "+N[3][3]+" | "+N[3][4]+" | "+N[3][5]+" |");
        System.out.println("--------------------------------------------------");
        System.out.println("4| "+N[4][0]+" | "+N[4][1]+" | "+N[4][2]+" | "+N[4][3]+" | "+N[4][4]+" | "+N[4][5]+" |");
        System.out.println("--------------------------------------------------");
        System.out.println("5| "+N[5][0]+" | "+N[5][1]+" | "+N[5][2]+" | "+N[5][3]+" | "+N[5][4]+" | "+N[5][5]+" |");
        System.out.println("==================================================");
        
    System.out.println("----------------------------");
    System.out.println("Você possui "+vidas+" vidas.");
    System.out.println("----------------------------");
    System.out.println("Informe as cordenadas do dado para realizar a jogada.");
    System.out.println("Linha: "); x = scan.nextInt();
    System.out.println("Coluna: "); y = scan.nextInt();
    
    M[x][y] = (Tabuleiro[x][y])+2;
    
    if(M[x][y] == 1){ System.out.println("Muito bem! Você pisou em um lugar sem bombas.");}
    else{ if(M[x][y] == 2){ System.out.println("Droga, você pisou em uma bomba e ela explodiu!");}
    }
    if(vidas == 0){System.out.println("--------------------------------------------------"); System.out.println("Você perdeu! Tente uma próxima vez... :D");}
    
    {
    if(M[0][0])>=1{
        if(M[0][1])>=1{
        if(M[0][2])>=1{
            if(M[0][3])>=1{
            if(M[0][4])>=1{
                if(M[0][5])>=1{
                if(M[1][0])>=1{
                    if(M[1][1])>=1{
                    if(M[1][2])>=1{
                        if(M[1][5])>=1{
                        if(M[2][0])>=1{
                            if(M[2][1])>=1{
                            if(M[2][2])>=1{
                                if(M[2][3])>=1{
                                if(M[2][4])>=1{
                                    if(M[2][5])>=1{
                                    if(M[3][0])>=1{
                                        if(M[3][1])>=1{
                                        if(M[3][2])>=1{
                                            if(M[3][3])>=1{
                                            if(M[3][4])>=1{
                                                if(M[3][5])>=1{
                                                if(M[4][0])>=1{
                                                    if(M[4][1])>=1{
                                                    if(M[4][2])>=1{
                                                        if(M[4][3])>=1{
                                                        if(M[4][4])>=1{
                                                            if(M[4][5])>=1{
                                                            if(M[5][0])>=1{
                                                                if(M[5][1])>=1{
                                                                if(M[5][2])>=1{
                                                                    if(M[5][3])>=1{
                                                                    if(M[5][4])>=1{
                                                                        if(M[5][5])>=1{
                                                                    }
                                                                }
                                                                }
                                                            }
                                                            }
                                                        }
                                                        }
                                                    }
                                                    }
                                                }
                                                }
                                            }
                                            }
                                        }
                                        }
                                    }
                                    }
                                }
                                }
                            }
                            }
                        }
                        }
                    }
                    }
                }
                }
            }
            }
        }
        }
    }
    }
    }

   }
    
} while(vidas > 0);

}
}

Vc fechou o parênteses antes da hora, deveria ser:

if(M[0][0]>=1)

O mesmo vale para todos os outros if's que estão depois desse.


Mas em vez de fazer isso, por que não usa loops para verificar se todos os valores são maiores ou iguais a 1? Algo assim:

boolean todosMaiorIgual1 = true;
loop: for (int[] linha: M) {
    for (int n: linha) {
        if (n < 1) {
            // se achou um valor menor que 1, nem preciso ver o resto
            todosMaiorIgual1 = false;
            break loop;
        }
    }
}

if (todosMaiorIgual1) {
   .... // faz algo
}

Bem melhor que esse “hadouken de if” :slight_smile:

E ainda tem a vantagem de funcionar com matrizes de qualquer tamanho (já o seu código, além de mais trabalhoso, só funciona para um tamanho específico).

Se quiser, isole esta lógica em um método:

public static boolean todosMaiorIgual1(int[][] M) {
    for (int[] linha: M) {
        for (int n: linha) {
            if (n < 1) {
                // se achou um valor menor que 1, nem preciso ver o resto
                return false;
            }
        }
    }
    return true;
}

E no main faça:

if (todosMaiorIgual1(M)) {
    // faz algo
}
1 curtida

Sei nem como te agradecer amigo… Muito obrigado!