Advertisement
LaCaraDeLaVerga

dere/izq

Aug 21st, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.47 KB | None | 0 0
  1. package negocio;
  2. import java.awt.event.KeyEvent;
  3. import java.util.ArrayList;
  4. import java.util.Iterator;
  5. import java.util.Random;
  6.  
  7.  
  8. //constructor
  9. public class Tablero {
  10.     ArrayList<Celda> tablero;
  11.  
  12.     //iniciarlizas el tablero con celdas valor 0
  13.    
  14.     public Tablero(){
  15.         tablero = new ArrayList<Celda>();
  16.         for (int i = 0; i < 16 ; i++) {
  17.             Celda celda = new Celda();
  18.             tablero.add(celda);        
  19.         }
  20.     }
  21.    
  22.    
  23.     int tamaño(){
  24.         return this.tablero.size();
  25.     }
  26.    
  27.    
  28.     public String toString(){
  29.  
  30.         String mostrarTablero = "";
  31.         int cont = 0;
  32.         for (int i = 0; i<tamaño(); i++) {
  33.             mostrarTablero += this.tablero.get(i).getValor() + " ";
  34.             cont++;
  35.             if(cont==4){
  36.                 cont = 0;
  37.                 mostrarTablero += "\n";
  38.             }
  39.         }
  40.         return mostrarTablero;
  41.     }
  42.  
  43.    
  44.     //genera nuevo 2 o 4 ;
  45.     void nuevoValor(){
  46.         Random rdm = new Random();
  47.         int pos = rdm.nextInt(16);
  48.         while(tablero.get(pos).ocupado()){
  49.             pos = rdm.nextInt(16);
  50.             if(!tablero.get(pos).ocupado()){
  51.                 break;
  52.             }
  53.         }
  54.         tablero.get(pos).sumar(2);
  55.     }
  56.    
  57.     boolean lleno(){
  58.         for (Celda celda : tablero) {
  59.             if(!celda.ocupado()){
  60.                 return false;
  61.             }
  62.         }
  63.         return true;
  64.        
  65.     }
  66.        
  67.    
  68. //moviemiento de las celdas////////////////////////////////////////////////////////////////////
  69.    
  70.     void moverArr (){
  71.      for (int i = 0; i < tablero.size(); i++) {
  72.          if (tablero.get(i).ocupado()){
  73.              tablero.get(i-4).sumar(tablero.get(i).getValor());
  74.                
  75.             }
  76.              
  77.              
  78. //          if (tablero.get(i-4).sumar(tablero.get(i).getValor()))  {
  79. //             
  80. //          }
  81.          }
  82.      }
  83.    
  84.        
  85.     void moverIzq(){//falta que se sumen entre si
  86.         for (int i = 0; i <tablero.size(); i++) {
  87.             if ( i !=0 || i!=4 || i!=8 || i!=12  ) {// si las posiciones no son las que estan mas a la izquierda hacer ...
  88.                 while (i !=0 || i!=4 || i!=8 || i!=12){ //mientras no este en el extremo izquierdo...
  89.                
  90.                     if (!tablero.get(i-1).ocupado()) {// si el que tengo a la izquierda esta vacio
  91.                         tablero.get(i-1).valor=tablero.get(i).valor ;
  92.                         tablero.get(i).anular();
  93.                        
  94.                     }
  95.                    
  96.                     if (tablero.get(i-1).ocupado()) { //si esta ocupado sumar
  97.                         if (tablero.get(i).getValor()==tablero.get(i-1).getValor() ){
  98.                             //si llegara a funcionar sumalo vos jorginho que yo no entiendo tu metodo suma
  99.                         }
  100.                     }  
  101.                    
  102.                    
  103.                    
  104.                 }
  105.             }
  106.         }
  107.     }
  108.    
  109.     void moverder(){//falta que se sumen entre si
  110.         for (int i = 15; i <tablero.size(); i--) {
  111.             if ( i !=3 || i!=7 || i!=11 || i!=15  ) {// si las posiciones no son las que estan mas a la derecha hacer ...
  112.                 while ( i !=3 || i!=7 || i!=11 || i!=15 ){ //mientras no este en el extremo derechoo...
  113.                     if (!tablero.get(i+1).ocupado()) {// si el que tengo a la derecha esta vacio
  114.                         tablero.get(i+1).valor=tablero.get(i).valor ;
  115.                     }
  116.                 }
  117.             }
  118.         }
  119.     }
  120.    
  121.    
  122.        
  123. /////////////////////////////////////////////////////////////////////////////////////////////////////  
  124.    
  125.    
  126.    
  127.    
  128.     public static void main(String[] args) {
  129.         Tablero tablero = new Tablero();
  130.         tablero.nuevoValor();
  131.         tablero.nuevoValor();
  132.         tablero.nuevoValor();
  133.         tablero.nuevoValor();
  134.         tablero.nuevoValor();
  135.         tablero.nuevoValor();
  136.         tablero.nuevoValor();
  137.         tablero.nuevoValor();
  138.         tablero.nuevoValor();
  139.         tablero.nuevoValor();
  140.         tablero.nuevoValor();
  141.         tablero.nuevoValor();
  142.         tablero.nuevoValor();
  143.         tablero.nuevoValor();
  144.         tablero.nuevoValor();
  145.         tablero.nuevoValor();
  146.         System.out.println(tablero.toString());
  147.         System.out.println(tablero.tamaño());
  148.         System.out.println(tablero.lleno());
  149.     }
  150.    
  151.    
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement