Ejemplo n.º 1
0
//------------------------------------------------------
// void bucleMainTetris(void)
//
// Descripción:
//   Juega
//------------------------------------------------------
void bucleMainTetris(void){
	char tecla;
	
	if(estado.primeraPieza == PPIEZA){
		melodiasInic();
		borraTablero();
		if(estado.juegoBloques){
			pintaBloques();
			evaluarTablero();
		}
		resultadoInic();
		nuevaPieza();
		nuevaPieza();
		estado.primeraPieza = NO_PPIEZA;
	}
	
	tecla = teclado();
	//podemos usar una variable de estado para evitar pulsar una tecla
	
	if(tecla == CHAR_UNO) { mueveIzquierda(); }
	if(tecla == CHAR_CUATRO) { caePieza(); }
	if(tecla == CHAR_SIETE) { mueveDerecha(); }
	if(tecla == CHAR_A) { rotacion(); }
						
}
Ejemplo n.º 2
0
void borrar(struct arbol **A, int val){
     
     struct arbol *arbol_aux;
     
     if((*A) == NULL){
          printf("Error, no hay nodos en el arbol");
          return;
          }
          

          if((*A)->valor < val)
          borrar(&(*A)->der, val);
          else if((*A)->valor > val)
          borrar(&(*A)->izq, val);
          else if((*A)->valor == val){
                      arbol_aux = *A;              
                      if((*A)->izq == NULL)
                                    *A = (*A)->der;
                      else if((*A)->der == NULL)
                                    *A = (*A)->izq;
                      else
                                    rotacion(&(*A)->izq, &arbol_aux);
                                    
                      free(arbol_aux);
                      }          
     }
Ejemplo n.º 3
0
void rotacion(struct arbol **a, struct arbol **B)
{
  if ((*a)->der != NULL) rotacion(&(*a)->der, B);
  else {
    (*B)->valor = (*a)->valor;
    *B = *a;
    *a = (*a)->izq;
  }
}
Ejemplo n.º 4
0
int main(){

  printf("BIENVENIDO\n1)JUGAR SOLO \n2)JUGAR CON ALGUIEN\n");
  scanf("%d",&sol);


   for (int i=0;i<maxtan;i++){
      for (int j=0;j<maxtan;j++){
         matrix[j][i]=0;   
      }
    }


    for (int i=0;i<100;i++){
         matrix[(1+ (rand()% 10))][(1+ (rand()% maxtan))]=3;   
    }
      
      int pxp=maxtan-1;
      int pyp=(maxtan-1)/2;

       matrix[pxp][pyp]=8;



   //printf("\n PROGRAMA ESCRITO POR ACEVEDO!!!!!!!!!!!!!!!!\n");

   grafica();


  //###################canon#######################################
  int longitud= 5; 
  int salid=-1;
  
  int pfy=(pyp+(longitud-1));
  int pfx=(pxp-(longitud-1));
  
  printf("4+enter:izquierda\n6+enter:derecha\n0+enter:dispara\n\n");
 while(salid!=-2){

     int* sa = bresen(pyp,pxp,pfy,pfx);

    int j= 0; 
      for (int i = 0; i <longitud; i++){
        matrix[sa[j+1]][sa[j]]=4;
        j=j+2;
      }

    //printf("xf: %d,yf:%d\n",pfy,pfx );
    
    if(salid==4){
      j= 0;
      for (int i = 0; i <longitud; i++){
        matrix[sa[j+1]][sa[j]]=0;
        j=j+2;
      }

      rotacion(pyp,pxp,&pfy,&pfx,-1);
      printf("xf: %d,yf:%d\n",pfy,pfx );

      sa = bresen(pyp,pxp,pfy,pfx);

      j= 0; 
      for (int i = 0; i <longitud; i++){
        matrix[sa[j+1]][sa[j]]=4;
        j=j+2;
      }
    }

    if(salid==6){
      j= 0;
      for (int i = 0; i <longitud; i++){
        matrix[sa[j+1]][sa[j]]=0;
        j=j+2;
      }

      rotacion(pyp,pxp,&pfy,&pfx,5);
      printf("xf: %d,yf:%d\n",pfy,pfx );

      sa = bresen(pyp,pxp,pfy,pfx);

      j= 0; 
      for (int i = 0; i <longitud; i++){
        matrix[sa[j+1]][sa[j]]=4;
        j=j+2;
      }
    }

    if(salid==0){

       int vx=pfx-pxp;
       int vy=pfy-pyp;
       int sent=1;
      if(vx<0){
          sent=-1;
       }
      if (vx!=0){
          vx=vx*sent;
       }
       
       printf("\nvx %d\n",vx );
       printf("vy %d\n", vy);

       juego(sa[((longitud*2)-1)],sa[((longitud*2)-2)],vx,vy);
    }

    grafica();
    scanf("%d",&salid);
  }

return 0;
}