i campi ed il costruttore della classe sono:
codice:
private int[][] matr;  // matrice che rappresenta il campo
private int righe;  // numero delle righe 
private int colonne;  // numero delle colonne 
private int mine;   // numero delle mine
private int celleScoperte;   // numero delle cellescoperte 
   
private static final int NONSC = -1;  // si puo' scegliere un qualunque valore k<0
private static final int MINA = -2;    

private static char NONSC_CHAR = '-';    // carattere per rappresentare una cella non scoperta
private static char MINA_CHAR = '*';     // carattere per rappresentare una cella con mina
    
public CampoMinato(int r, int c){
        matr = new int[r][c];
    	for(int i=0;i<matr.length;i++)
    		for(int j=0;j<matr.length;j++)
    			matr[i][j] = NONSC;
    	righe = r;
    	colonne = c;
}
quindi inizialmente tutte le celle sono NONSC.
il controllo se mi trovo nel campo o meno l'ho capito, bastano degli if su r e c...
poi...
codice:
// inserisco la mina
public void mettiMina(int r, int c){
 	if((r<=this.righe && c<=this.colonne) && (MINA_CHAR == '*')){
 		matr[r][c] = MINA;	
 		mine++;	
 	}
 }

public boolean contieneMina(int r, int c){
 	if((r<=this.righe && c<=this.colonne) && (matr[r][c] == MINA))
 		return true;
 	return false;
 }
questo metodo verifica se c'è la mina o meno...forse sbaglio a risponderti ma ho solo una matrice popolata di mine