Advertisement
JuanMtz

Simulacion.java

Dec 6th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.32 KB | None | 0 0
  1. /**
  2.  *  Proyecto: Juego de la vida.
  3.  *  @since: prototipo 0.1.0
  4.  *  @source: SimulacionTest.java
  5.  *  @version: 0.1.0 - 2019/12/3
  6.  *  @author: Juan José Martínez Solano
  7.  */
  8.  
  9. package modelo;
  10. import java.util.Arrays;
  11. import java.util.Date;
  12.  
  13. public class Simulacion {
  14.  
  15.     private Usuario usuario;
  16.     private Date fecha;
  17.     private byte[][] espacioMundo;
  18.     private String formaEspacio;
  19.     private int[] constantesRenacer;
  20.     private int[] constantesSobrevivir;
  21.     private String estado;
  22.     public final static String[] ESTADOS = { "PREPARACION" , "EJECUCION" , "COMPLETADO" };
  23.     public final static String[] FORMAS_ESPACIO = { "PLANO" , "ESFERICO" };
  24.     private static final int DEFAULT_SIZE_SPACE = 18;
  25.  
  26.     public Simulacion(Usuario usuario, Date fecha, byte[][] espacioMundo,String formaEspacio,  String estado) {
  27.  
  28.         setUsuario(usuario);
  29.         setFecha(fecha);
  30.         setEspacioMundo(espacioMundo);
  31.         setConstantesRenacer(new int[] {3});
  32.         setFormaEspacio(formaEspacio);
  33.         setConstantesSobrevivir(new int [] {2,3});
  34.         setEstado(estado);
  35.     }
  36.  
  37.     public Simulacion() {
  38.  
  39.         this(new Usuario(),new Date(), new byte[DEFAULT_SIZE_SPACE][DEFAULT_SIZE_SPACE],FORMAS_ESPACIO[0],
  40.                 ESTADOS[0]);
  41.         cargarMundoDemo();
  42.     }
  43.  
  44.     public Simulacion(Simulacion simulacion) {
  45.         this(new Usuario (simulacion.usuario), (Date) simulacion.fecha.clone(),
  46.                 null, simulacion.formaEspacio, simulacion.estado );
  47.  
  48.         this.espacioMundo = new byte[simulacion.espacioMundo.length]
  49.                 [simulacion.espacioMundo[0].length];
  50.  
  51.  
  52.         //Copia de una matriz, fila a fila.
  53.         for (int i = 0; i < simulacion.espacioMundo.length; i++) {
  54.             System.arraycopy(simulacion.espacioMundo[i], 0, this.espacioMundo[i],
  55.                     0, espacioMundo[i].length);
  56.         }
  57.     }
  58.  
  59.     private void cargarMundoDemo() {
  60.  
  61.         this.espacioMundo = new byte[][] {
  62.  
  63.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  64.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  65.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  66.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  67.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  68.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  69.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  70.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  71.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  72.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  73.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  74.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  75.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  76.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  77.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  78.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  79.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  80.             { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
  81.         };
  82.     }
  83.  
  84.     public Usuario getUsuario() {
  85.         return usuario;
  86.     }
  87.  
  88.     public void setUsuario(Usuario usuario) {
  89.         this.usuario = usuario;
  90.     }
  91.  
  92.     public Date getFecha() {
  93.         return fecha;
  94.     }
  95.  
  96.     public void setFecha(Date fecha) {
  97.         this.fecha = fecha;
  98.     }
  99.  
  100.     public int[] getConstantesRenacer() {
  101.         return constantesRenacer;
  102.     }
  103.  
  104.     public void setConstantesRenacer(int[] constantesRenacer) {
  105.         this.constantesRenacer = constantesRenacer;
  106.     }
  107.  
  108.     public int[] getConstantesSobrevivir() {
  109.         return constantesSobrevivir;
  110.     }
  111.  
  112.     public void setConstantesSobrevivir(int[] constantesSobrevivir) {
  113.         this.constantesSobrevivir = constantesSobrevivir;
  114.     }
  115.  
  116.     public String getEstado() {
  117.         return estado;
  118.     }
  119.  
  120.     public void setEstado(String estado) {
  121.         this.estado = estado;
  122.     }
  123.  
  124.     public byte[][] getEspacioMundo() {
  125.         return espacioMundo;
  126.     }
  127.  
  128.     private void setEspacioMundo(byte[][] espacioMundo) {
  129.         this.espacioMundo = espacioMundo;
  130.     }
  131.  
  132.     public String getFormaEspacio() {
  133.         return formaEspacio;
  134.     }
  135.  
  136.     public void setFormaEspacio(String formaEspacio) {
  137.         this.formaEspacio = formaEspacio;
  138.     }
  139.  
  140.     @Override
  141.     public String toString() {
  142.         return String.format(
  143.                 "Simulacion [usuario=%s, fecha=%s, espacioMundo=%s, formaEspacio=%s, constantesRenacer=%s, constantesSobrevivir=%s, estado=%s]",
  144.                 usuario, fecha, Arrays.toString(espacioMundo), formaEspacio, Arrays.toString(constantesRenacer),
  145.                 Arrays.toString(constantesSobrevivir), estado);
  146.     }
  147.  
  148.     public void lanzarDemo() {
  149.         cargarMundoDemo();
  150.        
  151.         do {
  152.             mostrarMundo();
  153.             actualizarMundo();
  154.            
  155.         } while (true);
  156.     }
  157.  
  158.     private void actualizarMundo() {
  159.        
  160.     }
  161.  
  162.     private void mostrarMundo() {
  163.         for (int i = 0; i < this.espacioMundo.length; i++) {
  164.             System.out.println(Arrays.toString(this.espacioMundo[i]));
  165.         }
  166.        
  167.     }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement