mejorar juego

Iniciado por .rn3w., 17 Octubre 2015, 16:52 PM

0 Miembros y 1 Visitante están viendo este tema.

.rn3w.

buenas a todos y gracias por leer

estoy realizando el juego de buscado de bombas jejejej es decir minas y en el cual tengo estados como en cualquier otro juego el estado jugando, perdiendo y gano entonces mi pregunta es la siguiente esa parte del juego no es un patron de disenio? creo que es patron de diseno State

.rn3w.

#1
mi juego lo pueden descargar de
https://mega.nz/#F!1MlQVZ6I!cZkKzjQOnTxhTEmlEkUnSg


o que disenio podria implementar?

ivancea96

¿Preguntas cual es el diseño al que se parece tu juego?

.rn3w.

creo que va por ahi mi pregunta, y tambien como desacoplar

gracias por responder

.rn3w.

#4
tengo la clase Box

Código (java) [Seleccionar]

  public Box(int estado, int valor, int tipo) {
       this.estado = estado;
       this.valor = valor;
   }

   public int getEstado() {
       return estado;
   }

   public void setEstado(int estado) {
       this.estado = estado;
   }

   public int getValor() {
       return valor;
   }

   public void setValor(int valor) {
       this.valor = valor;
   }
   
   public int getTipo() {
       return valor;
   }

   public void setValor(int tipo) {
       this.tipo = tipo;
   }


quiero cambiar mi clase Box por herencia que muestro abajo
ahora lo que quiero hacer es implementar el patron abstract metod
entonces tendria
Código (java) [Seleccionar]

public abstract class Caja {

   int valor;

   public void setValor(int valor) {
       this.valor = valor;
   }

   public int getValor() {
       return valor;
   }
   
   @Override
   public String toString() {
       return this.getClass().getSimpleName();
   }
}


y mis clases concretas

Código (java) [Seleccionar]

public class CajaEstado extends Caja{
   
   

public CajaEstado(int valor){
   this.valor=valor;
}
}



Código (java) [Seleccionar]

public class CajaTipo  extends Caja{
   public CajaTipo(int tipo){
   this.valor=tipo;
   }
}



Código (java) [Seleccionar]

public class CajaValor extends Caja {

   public CajaValor(int valor) {
       this.valor = valor;
   }

}



esto hago para que sea mas mantenible y no modificar el codigo de la clase Box sino solamente aumentar un atributo

ahora me surge la duda si esta bien la herencia de mis clases concretas es decir esta bien que no tengan funciones especificas ???



ivancea96

Estás metiéndole a un campo "valor" un valor de tipo "tipo". Ahí porque son ambos int, pero si fuera cada uno de su clase, no funcionaría. Es incoherente.
Esa herencia no aporta nada, no es un buen uso. No hay que forzar el uso de técnicas que no se necesitan.

.rn3w.

con esa idea como se podria mejorar?

gracias por ayudarme

ivancea96

¿Qué idea?

Los patrones de diseño son formas de nombrar a determinadas estructuras al diseñar un programa. No se trata de querer usar uno en específico, sinó de usar, si quieres, el que mejor te ayude a organizar el programa, y el más eficiente también preferiblemente.

.rn3w.

que patron de diseno seria recomendable para usar en mi juego?

ivancea96

Estoy en contra de abstracciones tipo "patrones de diseño", asi que no te puedo ayudar en este campo xD