Exemplo n.º 1
0
int main() {
    Imagem* img;
    int opcao = 1;
    int i=0,j=0;
    int limiar=-1;
    char nome[255];
    int grau=0;


    while (opcao != 0) {
        opcao = mostrar_menu();

        if (opcao == 1) {
            printf("Nome do arquivo: ");
            scanf("%s", nome);
            img = ler_imagem(nome);
        } else if (opcao == 2) {
            img = blur(img);
        } else if (opcao == 3) {
            img = sharpen(img);
    	} else if(opcao == 4){
			img = borda(img);
		}else if(opcao == 5){
		    printf("Digite o limiar: ");
            scanf("%i", &limiar);
            img = binarizacao_imagem(img, limiar);
		}else if(opcao == 6){
			printf("Grau de rotacao (90, 180 ou 270º): ");
			scanf("%i", &grau);
			if(grau == 90){
				img = rotacionar90(img);
			}else if(grau == 180){
				img = rotacionar180(img);
			}else if(grau == 270){
				img = rotacionar270(img);
			}else{
				printf("O grau informado nao e permitido.");
			}
		}else if(opcao == 7){
			img = zoom2x(img);
		}else if(opcao == 8){
			img = reduzir2x(img);
		}else if(opcao == 9){
			img = gaussianblur(img);
		}else if (opcao == 10){
		    printf("Nome do arquivo: ");
            scanf("%s", nome);
            salvar_imagem(img, nome);
        }else{
        	printf("Opção inválida.");
		}
    }

    return 0;
}
Exemplo n.º 2
0
main()
{
   int l=2,c=11;
   char tecla;
   textbackground(BLUE);                 /*YELLOW*/
   clrscr();

   textcolor(GREEN);      /*BLACK*/
  textbackground(RED);        /*WHITE*/

   borda(1,10,25,50);
   /*window(1, 10, 50, 25);*/
while(1){
   textbackground(BLUE);
   textcolor(GREEN);
   posc(l,c);
   printf("teste");
   switch(l)
   {
    case 24:
	    l=24;
	    tecla=getch();
	    if(tecla==27) break;
	    if(tecla==80)
	     {
	      out.h.ah=0x07;
	      out.h.al=1;
	      out.h.bh=7;
	      out.h.ch=23;
	      out.h.cl=10;
	      out.h.dh=23;
	      out.h.dl=48;
	      int86(0x10,&out,&out);

	     }
	    break;
    default:
	    l++;
	    break;

   }
} /* fim de while */
}
Exemplo n.º 3
0
int
atualizar_jogo(WINDOW * win,corpo ** snake,int sentido)
{
  size_t i;
  int ymax,xmax;

  getmaxyx(win,ymax,xmax);
  werase(win);
  borda(win,_borda_vertical);

  wattrset(win,COLOR_PAIR(COR_DA_COMIDA));
  mvwaddch(win,comida.posy,comida.posx,_formato_da_comida);
  wattroff(win,COLOR_PAIR(COR_DA_COMIDA));

  asteroids(win,snake);  
  
  for(i = 0; i < _tamanho;i++)
    {
      /* Guarda o ultimo sentido seguido por um seguimento da cobra */
      (*snake)[i].psentido = (*snake)[i].sentido;
	
	if(i > 0)
	  (*snake)[i].sentido = (*snake)[i - 1].psentido;
	else (*snake)[0].sentido = sentido;

	switch((*snake)[i].sentido)
	{
	  /*
	    A função batida() vai pegar esse -1 e retornar
	    1 antes que chegue na função mvwaddch() 
	  */
	case UP: if((*snake)[i].posy > -1) (*snake)[i].posy--;
	  break;

	  /*A mesma coisa aqui !*/
	case DOWN:if((*snake)[i].posy < ymax) (*snake)[i].posy++;
	  break;

	case LEFT:	  

	  /*
	    Quando a cobra entra no buraco da esquerda,
	    ela é teletransportada para o da direita
	  */
	  if((*snake)[i].posx == 0 
	     && ((*snake)[i].posy > ymax/2 - (_tamanho_do_buraco/2 + 1) 
		 && (*snake)[i].posy < ymax/2  + _tamanho_do_buraco/2)) 
	    (*snake)[i].posx = xmax - 1;
	  
	  else (*snake)[i].posx--;

	  break;

	case RIGHT: 
	  /* 
	     Quando a cobra entra no buraco da direita,
	     ela é teletransportda para o da esquerda
	  */
	  if((*snake)[i].posx == xmax - 1 
	     && ((*snake)[i].posy > ymax/2 - (_tamanho_do_buraco/2 + 1)  
		 && (*snake)[i].posy < ymax/2  + _tamanho_do_buraco/2)) 
	    (*snake)[i].posx = 0;
	  
	  else (*snake)[i].posx++;
	  
	  break;
	  
	}
	
	/*
	  Para verificar se a cobra bateu em algo,
	  precisamos somente verificar as cordenadas da cabeça dela.	 
	*/
	if( i == 0)
	  {
	    
	    if(batida(win,snake) == 1){
	      _tamanho = 5;
	      _score = 0;

	      *snake = realloc(*snake,sizeof **snake * _tamanho);
	      if(*snake == NULL) err("realloc()");
	      
	      
	      return 1;
	    }
	    
	  }
	
	if(i == 0) wattrset(win,COLOR_PAIR(COR_DO_CRANIO));
	mvwaddch(win,(*snake)[i].posy,(*snake)[i].posx,_formato_do_corpo);
	if( i == 0 ) wattroff(win,COLOR_PAIR(COR_DO_CRANIO));
        
    }

  wrefresh(win);
  return 0;
}