Foro de elhacker.net

Programación => Java => Mensaje iniciado por: bengy en 17 Octubre 2015, 16:52 pm



Título: mejorar juego
Publicado por: bengy en 17 Octubre 2015, 16:52 pm
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


Título: Re: mejorar juego
Publicado por: bengy en 17 Octubre 2015, 17:32 pm
mi juego lo pueden descargar de
https://mega.nz/#F!1MlQVZ6I!cZkKzjQOnTxhTEmlEkUnSg


o que disenio podria implementar?


Título: Re: mejorar juego
Publicado por: ivancea96 en 17 Octubre 2015, 18:02 pm
¿Preguntas cual es el diseño al que se parece tu juego?


Título: Re: mejorar juego
Publicado por: bengy en 17 Octubre 2015, 18:04 pm
creo que va por ahi mi pregunta, y tambien como desacoplar

gracias por responder


Título: Re: mejorar juego
Publicado por: bengy en 18 Octubre 2015, 03:40 am
tengo la clase Box

Código
  1.   public Box(int estado, int valor, int tipo) {
  2.        this.estado = estado;
  3.        this.valor = valor;
  4.    }
  5.  
  6.    public int getEstado() {
  7.        return estado;
  8.    }
  9.  
  10.    public void setEstado(int estado) {
  11.        this.estado = estado;
  12.    }
  13.  
  14.    public int getValor() {
  15.        return valor;
  16.    }
  17.  
  18.    public void setValor(int valor) {
  19.        this.valor = valor;
  20.    }
  21.  
  22.    public int getTipo() {
  23.        return valor;
  24.    }
  25.  
  26.    public void setValor(int tipo) {
  27.        this.tipo = tipo;
  28.    }
  29.  
  30.  
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
  1. public abstract class Caja {
  2.  
  3.    int valor;
  4.  
  5.    public void setValor(int valor) {
  6.        this.valor = valor;
  7.    }
  8.  
  9.    public int getValor() {
  10.        return valor;
  11.    }
  12.  
  13.    @Override
  14.    public String toString() {
  15.        return this.getClass().getSimpleName();
  16.    }
  17. }
  18.  

y mis clases concretas

Código
  1. public class CajaEstado extends Caja{
  2.  
  3.  
  4.  
  5. public CajaEstado(int valor){
  6.    this.valor=valor;
  7. }
  8. }
  9.  
  10.  

Código
  1. public class CajaTipo  extends Caja{
  2.    public CajaTipo(int tipo){
  3.    this.valor=tipo;
  4.    }
  5. }
  6.  


Código
  1. public class CajaValor extends Caja {
  2.  
  3.    public CajaValor(int valor) {
  4.        this.valor = valor;
  5.    }
  6.  
  7. }
  8.  


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 ???




Título: Re: mejorar juego
Publicado por: ivancea96 en 18 Octubre 2015, 12:46 pm
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.


Título: Re: mejorar juego
Publicado por: bengy en 18 Octubre 2015, 16:20 pm
con esa idea como se podria mejorar?

gracias por ayudarme


Título: Re: mejorar juego
Publicado por: ivancea96 en 18 Octubre 2015, 17:47 pm
¿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.


Título: Re: mejorar juego
Publicado por: bengy en 20 Octubre 2015, 06:30 am
que patron de diseno seria recomendable para usar en mi juego?


Título: Re: mejorar juego
Publicado por: ivancea96 en 20 Octubre 2015, 08:38 am
Estoy en contra de abstracciones tipo "patrones de diseño", asi que no te puedo ayudar en este campo xD