tengo un problema ya que estoy modelando el tradicional juego tateti en java , con una matriz sencilla 3x3 , el tema es que tengo que crear una función que me permita saber si hay un ganador y que me devuelva si gano "X" o gano "0" pero dicha función me da un error, y no se que es lo que esta fallando. me da un nullpoint exception pero no veo tal error en el arreglo.
public class Tablero{
String tablero[][]=new String[3][3];
public void inicializar(){
for(int x=0;x<tablero.length;x++){
for(int y=0;y<tablero.length;y++){
tablero[x][y]=null;
}
}
}
public boolean marcarCruz(int a, int b){
boolean resultado=false;
if(tablero[a][b]!=null){
resultado=false;
}else{
tablero[a][b]="X";
resultado=true;
}
return resultado;
}
public boolean marcarCero(int a, int b){
boolean resultado=false;
if(tablero[a][b]!=null){
resultado=false;
}else{
tablero[a][b]="0";
resultado=true;
}
return resultado;
}
public boolean completo(){
boolean completo=false;
for(int x=0;x<tablero.length;x++){
for(int y=0;y<tablero.length;y++){
if(tablero[x][y]!=null){
completo=true;
}else{
completo=false;
}
}
}
return completo;
}
public String indicarSiGanoAlgunJugador(){
String ganador=null;
for(int x=0;x<tablero.length;x++){
if(tablero[0][x].equals("X")){
ganador="X";
}
if(tablero[1][x].equals("X")){
ganador="X";
}
if(tablero[2][x].equals("X")){
ganador="X";
}
if(tablero[1][x].equals("X")){
ganador="0";
}
if(tablero[2][x].equals("X")){
ganador="0";
}
if(tablero[0][x].equals("X")){
ganador="0";
}
for(int y=0;y<tablero.length;y++){
if(tablero[y][1].equals("X")){
ganador="X";
}
if(tablero[y][2].equals("X")){
ganador="X";
}
if(tablero[y][0].equals("X")){
ganador="X";
}
if(tablero[y][1].equals("X")){
ganador="0";
}
if(tablero[y][2].equals("X")){
ganador="0";
}
if(tablero[y][0].equals("X")){
ganador="0";
}
}
}
return ganador;
}
}