Example #1
0
//Pinta diferentes imagenes dependiendo del contenido
bool GraficosSDL::DibujarContenidos(Tablero &t, Snake &s){
	bool result=false;
  
	for(int i=0; i<t.GetDimension(); i++){
		for(int j=0; j<t.GetDimension(); j++){
			switch(t.GetContenido(i,j)){
				case Vacio:
             				apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, fondo, screen, NULL);//pinta fondo
				break;
				case Obstaculo:
             				apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, pared, screen, NULL );//pinta pared
				break;
				case CuerpoS:
				     	apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, cuerpo, screen, NULL );//pinta cuerpo
				break;
				case CabezaS: 
            				switch(s.GetDireccion()){ //pinta cabezas
						case Arriba:
							apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, cabeza_arriba, screen, NULL);
						break;
						case Abajo:
							apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, cabeza_abajo, screen, NULL);
						break;
						case Derecha:
							apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, cabeza_derecha, screen, NULL);
	              				break;
						case Izquierda:
							apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, cabeza_izquierda, screen, NULL);
						break;
					}
				break;
				case Objetivo:
					apply_surface( j*TILE_WIDTH, i*TILE_HEIGHT, manzana, screen, NULL );//pinta manzana
				break;
			}
		}
	}

	if( SDL_Flip(screen) == -1 ){
     		result=true;
  	}
	return result;
}