Buscar este blog

domingo, 31 de marzo de 2013

Tetrix Clase Principal

Clase Principal del juego Gytetrix

A continuacion presento el codigo de la clase princiapal del juego gytetrix, es el alma del juego, donde se comunican todas las clases del tetrix y es la mas compleja y una de las mas extensas se utilizan varios tiempos y muchos vectores, disculpen el nombre de las variables son un poco desorganizadas.

package principaltetrix;

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JLabel;
import javax.swing.Timer;



public class Principaltetrix {

    public static void main(String[] args) {
        
        
        
            int a, k,max=6,min=1,fe,u,t,time=10000;
            
            String e;
            
            int [] fiche=new int [63];
            int vec[]=new int[63];
            int vec2[]=new int[63];
            int []mat =new int[63];
            int []res =new int[63];
            int []vec1 =new int[63];
            for(int fr=0;fr<63;fr++){
                mat[fr]=0;
                vec[fr]=0;
                vec1[fr]=0;
               
            }
             
           Fichas mificha=new Fichas();
           Aleatorio mialeatorio =new Aleatorio();
           Desplazar midesplazar=new Desplazar();
           Pantalla mipan =new Pantalla();
           
           Bajar mibajar=new Bajar();
           Parar miparar=new Parar ();
           Espacio miespacio=new Espacio ();
           Rotar mirotar =new Rotar();
           Action miaction =new Action();
           //mipan.main();
           mipan.setVisible(true);
          
            try {
            {
                
            Thread.currentThread().sleep(5000);
            }
           
           Thread.currentThread().sleep(0);
              }
           catch (InterruptedException ex) {
          Logger.getLogger(Principaltetrix.class.getName()).log(Level.SEVERE, null, ex);
           }
          
        
          
          int ge=0;
     for( u=0;u<30;u++){
       
        if(u<50){
          a=mialeatorio.ale();
      
           if(a==1){
           int []b =mificha.cuadro();
           
            for(int i=0;i<63;i++){
                  
            fiche[i]=b[i];
           
                }
            ge=ge+1;
           }
           if(a==2){
           int []b =mificha.line();
           
            for(int i=0;i<63;i++){
                  
            fiche[i]=b[i];
           
                }
            ge=ge+1;
           }
           if(a==3){
           int []b =mificha.piramide();
           
            for(int i=0;i<63;i++){
                  
            fiche[i]=b[i];
          
                }
            ge=ge+1;
           }
           if(a==4){
           int []b =mificha.ele();
           
            for(int i=0;i<63;i++){
                  
            fiche[i]=b[i];
          
                }
            ge=ge+1;
           }
           mipan.PUNTUACION(ge);
           
      try {
            {
                mat=miespacio.espace(vec);
                for(int i=0;i<63;i++){
                    if(vec1[i]==1 && mat[i]==1){
                    vec1[i]=1;
                    }
                    if(vec1[i]==0 && mat[i]==1){
                    vec1[i]=vec1[i]+mat[i];
                    }
                }
                u=miparar.seguirficha(vec1);
         if(u>0){
             u=55;
            mipan.aviso();
            
         }
                if(u<35){
               int seg=0,op=0,yt=0,lo=0,r=0,kf=0,d;
            for(int s=0;s<20;s++){
                
                seg=seg+1;
                if(seg==1){
                  d=0; 
                }
                else{
             d = mipan.ivan();
                }
              
               mipan.color(fiche,a);
              
                  
              if(d==3){
                   if(op==1){
                       yt=op+2;
                    }
                   if(op==2){
                       yt=op;
                    }
                  
                    if(op==3){
                       yt=1;
                    }
                     if(op==0){
                       yt=0;
                   }
                     
                   op=5;
                  
                  if(yt==4){
                       yt=0;
                   }
                   if(a==4){
                      res=mirotar.ele(res,yt);
                 }
                   yt=yt+1;
                 if(a==2){
                     if(lo==2){
                         lo=0;
                     }
                     
                       res=mirotar.rotarline(res,lo);
                       lo=lo+1;
                 }
                 
                 
                 if(kf==1){
                       r=kf+2;
                   }
                   if(kf==2){
                       r=kf;
                   }
                   if(kf==3){
                       r=1;
                   }
                     if(kf==0){
                       r=0;
                   }
                     
                   kf=5;
                 if(r==4){
                   r=0;
                     }
                 if(a==3){
                     
                    res=mirotar.pira(res,r);
                    r=r+1;
                 }
                 
                  
                    if(a==1){
                       res=mibajar.baja(fiche);
                 }
                  
              
              }
              
               if(d==4){
                   
                   if(yt==1){
                       op=yt+2;
                   }
                   if(yt==2){
                       op=yt;
                   }
                  if(yt==3){
                       op=1;
                   }
                  if(yt==0){
                       op=0;
                   }
                   yt=5;
                   if(op==4){
                       op=0;
                   }
                    if(a==4){
                      res=mirotar.ele1(res,op);
                    }
                    op=op+1;
                    
                    if(a==2){
                     if(lo==2){
                         lo=0;
                     }
                     
                   res=mirotar.rotarline(res,lo);
                   lo=lo+1;
                 }
                    if(r==4){
                         r=0;
                     }
                    if(r==1){
                       kf=r+2;
                   }
                   if(r==2){
                       kf=r;
                   }
                  if(r==3){
                       kf=1;
                   }
                     if(r==0){
                       kf=0;
                   }
                     
                   r=5;
                    if(kf==4){
                         kf=0;
                     }
                    if(a==3){
                     
                    res=mirotar.pira1(res,kf);  
                    kf=kf+1;
                 }
                   
                 if(a==1){
                       res=mibajar.baja(fiche);
                 }
                  
              
                  }
              
               
               
              if(d==2){
                res=midesplazar.izquierda(fiche);
               }
              if(d==1){
                res=midesplazar.derecha(fiche);
               }
              if(d==0){
                 res=mibajar.baja(fiche);
               }
              
             
            
               vec2=vec1;
             
             
              
              int sa;
             
               int se=miespacio.seguir(fiche,vec1);
              
              if(se==1){
              
                s=50; 
                  
              }
             if(se==0){
               fe=miparar.stop(fiche);
              
                if(fe==0){
                  
               for(int i=0;i<63;i++){
                  fiche[i]=res[i];
                  vec[i]=fiche[i];
                 
                  mipan.color(fiche,a);
                  Thread.currentThread().sleep(15);
                  mipan.vaciar(fiche,0);
                  
                     }
                  }
               
               if(fe==1){
                   for(int i=0;i<63;i++){
                
                  vec[i]=fiche[i];
                   
                 mipan.color(fiche,a);
                 Thread.currentThread().sleep(1);
                 mipan.vaciar(fiche,1);
             
                   }
                  }
                
                }
            }
            }
       }
           
           Thread.currentThread().sleep(10);
    }
      
          catch (InterruptedException ex) {
          Logger.getLogger(Principaltetrix.class.getName()).log(Level.SEVERE, null, ex);
           }
     } 
    }  
     
  }
    
}
 

No hay comentarios:

Publicar un comentario