Foros del Web » Programación para mayores de 30 ;) » Java »

Inicializacion de objetos

Estas en el tema de Inicializacion de objetos en el foro de Java en Foros del Web. Buenas gente. Estamos aqui realizando una practica sobre un buscaminas y con todo el codigo realizado no nos guarda las minas correctamente una vez ya ...
  #1 (permalink)  
Antiguo 31/08/2004, 10:30
 
Fecha de Ingreso: agosto-2004
Mensajes: 1
Antigüedad: 19 años, 8 meses
Puntos: 0
Inicializacion de objetos

Buenas gente. Estamos aqui realizando una practica sobre un buscaminas y con todo el codigo realizado no nos guarda las minas correctamente una vez ya creadas y pensamos q puede ser error de los constructores de la clase tablero y la calse jugada (la q maneja todo) y luego al crearlas en el main.
Os ponemos los fragmentos de codigo por si nos podeis echar una mano. (lo necesitamos para mñn!! )
CLASE TABLERO
/**
*Constructor de Tablero
*@param filas nº de filas del tablero
*@param columnas nº de columnas del tablero
*@param estado
*/

public Tablero(int filas, int columnas, Estado estado) {
this._filas = filas;
this._columnas = columnas;
this._fin = false;
this._tablero = new Casilla [_filas][_columnas];
for (int i = 0; i < _filas; i++)
for (int j = 0; j < _columnas; j++)
this._tablero[i][j] = new Casilla();
_estado = new Estado(estado);
_minas = new String [_estado.obtenerNMinas()];

}

/**
*Construsctor de copia
*/
public Tablero(Tablero otro){
_estado = new Estado(otro.obtenerEstado());
this._filas =otro.obtenerFilas();
this._columnas = otro.obtenerColumnas();
this._fin = false;
this._tablero = new Casilla [_filas][_columnas];
for (int i = 0; i < _filas; i++)
for (int j = 0; j < _columnas; j++)
this._tablero[i][j] = new Casilla();
_minas = new String [_estado.obtenerNMinas()];
}

CLASE JUGADA
/**
*Crea una nueva Jugada
*@param filas nº de filas del tablero
*@param columnas nº de columnas del tablero
*@param nMinas nº de minas que estarán en juego
*@param nIntentos nº de intentos disponibles
*/
public Jugada(Tablero tablero) {
_comandos = new Comandos();
_tablero = new Tablero(tablero);
_movimientos = new String [2*_tablero.obtenerFilas()*_tablero.obtenerColumnas ()];
_siguiente = -1;

}

public Jugada(int filas, int columnas, Estado estado) {
_comandos = new Comandos();
_tablero = new Tablero(filas, columnas, estado);
_movimientos = new String [2*_tablero.obtenerFilas()*_tablero.obtenerColumnas ()];
_siguiente = -1;
}
Y POR ULTIMO EL MAIN
Estado estado = new Estado (nMinas, nIntentos);
Tablero tablero = new Tablero (filas, columnas, new Estado(estado));
Jugada jugada = new Jugada (new Tablero (tablero));



Las variables del main se pasan por comandos.
Por favor, decidnos algo!!(aunq sea hola!!)

Muxas gracias!!!!
  #2 (permalink)  
Antiguo 31/08/2004, 22:25
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Asi mirandolo muy rapidamente detecte de inmediato un error en como haces los for, veras, debes usar llaves, si bien es posible hacer un for sin llavez al igual que los if, esto es cuando dentro del cilco solo va una linea de sentencia, pero si dentro de este, va otro ciclo anidado estas obligado a emplear llaves
Código PHP:
for(algo) {
    for(
otraCosa) {
          
//aqui lo que ejecuta el for interno
    
}

    
//aqui lo que ejecuta el for externo

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:51.