int main(){ float raio, lado, apotema; Ponto p1, p2; printf("Digite o valor do raio do circulo: "); scanf("%f", &raio); lado = raio * sqrt(2); apotema = lado/2; p1.x = 0; p1.y = 0; p2.x = -apotema; p2.y = -apotema; AbreJanela(400, 400, "Quadrado inscrito"); PintarFundo(255, 255, 255); MostraPlanoCartesiano(10); CriaCirculo(raio, p1); Pintar(255, 0, 0); CriaQuadrado(lado, p2); Pintar(0, 0, 255); Desenha(); return 0; }
int main(){ AbreJanela(400, 400, "Ola Mundo"); @\label{line:AbreJanela}@ PintarFundo(255, 255, 255); @\label{line:PintarFundo}@ MostraPlanoCartesiano(5); @\label{line:MostraPlanoCartesiano}@ Desenha(); @\label{line:Desenha}@ }
void display(void){ Desenha(); glutSwapBuffers(); if(primeira){ SDL_Delay(3000); primeira = false; } }
/*FUNÇÃO AUXILIAR, utilizada basicamente para debugar o programa ao decorrer do desenvolvimento Extremamente util caso queira se adicionar algo novo e testar, por isso mantida aqui, NÃO é utilizada (normalmente) no main do programa com outras finalidades printa toda a árvore, com todas as palavras e sua moda*/ void Desenha(Words *a , int nivel) { Vizinhos *aux=a->vizinhos; if(a != NULL) { if (a->dir != NULL) Desenha(a->dir, (nivel+1)); if(a->vizinhos!=NULL) printf("%s %ull ", a->id, a->freq); while(aux!=NULL) { printf("%s %lf ",aux, aux->moda); aux= aux->prox; } printf("\n"); printf("\n"); if (a->esq != NULL) Desenha(a->esq, (nivel+1)); } }
void ResetaJogo(int fim){ rx = 0.0;ry=0.0;rz=0.0;trans_missel_nave=0.0;trans_missel_esfera=0.0;vez=0.0; dispara=0; mov_esferas=0.0; if(tamanho_vida<=-5){ tamanho_vida = 5; } if(fim){ habilita_desenho=0; Desenha(); vidas=3; } for(i=0;i<QTD_ESFERAS;i++){ esfera[i].status = DISPONIVEL; } }
void ResetaJogo(int fim){ rx = 0.0;ry=0.0;rz=0.0;trans_missel_nave=0.0;trans_missel_esfera=0.0;vez=0.0; dispara=0; mov_esferas=0.0; if(tamanho_vida<=-5){ tamanho_vida = 5; } if(fim){ habilita_desenho=0; Desenha(); velovidade_missel_ovni = VELOCIDADE_MISSEL_OVNI; velocidade_ovni = 0.3; velocidade_disparo = VEZES; ajeita_nave = 0; OB_ovni.ponto.x = 0.0; OB_ovni.ponto.y = 0.0; OB_ovni.ponto.z = 0.0; OB_nave.ponto.x = 0.0; OB_nave.ponto.y = -17.5; OB_nave.ponto.z = 3.0; for(i=0;i<QTD_MISSEL_NAVE;i++){ OB_missel1[i].ponto.x = OB_nave.ponto.x; OB_missel1[i].ponto.y = OB_nave.ponto.y + trans_missel_nave; OB_missel1[i].ponto.z = 0; OB_missel1[i].habilitado = false; OB_missel1[i].dispara_missel_esfera = false; } for(i=0;i<QTD_MISSEL_OVNI;i++){ OB_missel2[i].ponto.x = 0.0; OB_missel2[i].ponto.y = 0.0; OB_missel2[i].ponto.z = 0.0; OB_missel2[i].habilitado = false; OB_missel2[i].dispara_missel_esfera = false; } qtd_colisoes = 0; } }
int main(){ int angulo; float anguloRad, raio; Ponto p1, p2; printf("Digite um angulo de 0 a 360 graus:"); scanf("%d", &angulo); printf("Digite um raio de 0 a 100:"); scanf("%f", &raio); p1.x = 0; p2.x = 0; anguloRad = (PI * angulo)/180; p2.y = sin(anguloRad) * raio; p2.x = cos(anguloRad) * raio; AbreJanela(400, 400, "Quadrante da reta"); PintarFundo(255, 255, 255); MostraPlanoCartesiano(10); CriaReta(p1, p2); if(p2.x > 0){ if(p2.y > 0) Pintar(255, 0, 0); //vermelho: 1 quadrante else Pintar(0, 0, 0); //preto: 4 quadrante } else{ if(p2.y > 0) Pintar(0, 255, 0); //verde: 2 quadrante else Pintar(0, 0, 255); //azul: 3 quadrante } Desenha(); }
int main(){ float raio, d; Ponto centro, p; printf("Digite o valor do raio da circunferencia: "); scanf("%f", &raio); printf("\nDigite a posicao x do centro da circunferencia: "); scanf("%f", ¢ro.x); printf("\nDigite a posicao y do centro da circunferencia: "); scanf("%f", ¢ro.y); printf("\nDigite a posicao x de um ponto: "); scanf("%f", &p.x); printf("\nDigite a posicao y de um ponto: "); scanf("%f", &p.y); d = sqrt(pow(centro.x - p.x, 2) + pow(centro.y - p.y, 2)); if(d > raio){ AbreJanela(400, 400, "Ponto fora da circunferencia"); } else{ AbreJanela(400, 400, "Ponto dentro da circunferencia"); } PintarFundo(255, 255, 255); MostraPlanoCartesiano(10); CriaCircunferencia(raio, centro); @\label{line:CriaCircunferencia}@ Pintar(255, 0, 0); CriaPonto(p); @\label{line:CriaPonto}@ Pintar(0, 0, 255); Grafite(10); @\label{line:Grafite}@ Desenha(); return 0; }
int main(int argc, char **argv) { TpNodo *arv = NULL; arv = insert("m", arv); arv = insert("f", arv); arv = insert("c", arv); arv = insert("b", arv); arv = insert("a", arv); arv = insert("d", arv); arv = insert("e", arv); arv = insert("i", arv); arv = insert("k", arv); arv = insert("l", arv); arv = insert("j", arv); arv = insert("g", arv); arv = insert("h", arv); arv = insert("t", arv); arv = insert("p", arv); arv = insert("r", arv); arv = insert("s", arv); arv = insert("q", arv); arv = insert("o", arv); arv = insert("n", arv); arv = insert("w", arv); arv = insert("y", arv); arv = insert("x", arv); arv = insert("z", arv); arv = insert("u", arv); arv = insert("v", arv); Desenha(arv,0); }
int main(){ Ponto p1, p2, p3; AbreJanela(400, 400, "Estrela de Davi"); p1.x = -25; p1.y = 0; CriaTriangulo(50, 50, p1); //(base, altura) Pintar(255, 255, 0); p1.x = -25; p1.y = 35; p2.x = 25; p2.y = 35; p3.x = 0; p3.y = -15; @\label{line:CriaPoligono}@ CriaPoligono(3, p1, p2, p3); //(quantidade de pontos, p1, p2, ...) Pintar(255, 255, 0); Desenha(); }
int main(){ Ponto p; AbreJanela(400, 400, "Boneco palito"); PintarFundo(255, 255, 255); p.x = 0; p.y = 60; CriaCirculo(20, p); //(raio, ponto central) Pintar(0, 0, 0); p.y = 10; CriaElipse(10, 40, p); //(metade do maior raio da elipse, metade do menor raio da elipse, ponto central) Pintar(0, 0, 0); p.x = -40; p.y = 30; CriaRetangulo(80, 10, p); //(base, altura, ponto esquerdo inferior) Pintar(0, 0, 0); p.x = -40; p.y = -30; CriaTriangulo(80, 40, p); //(base, altura, ponto esquerdo inferior) Pintar(0, 0, 0); p.x = -15; p.y = -40; CriaQuadrado(10, p); //(lado, ponto esquerdo inferior) Pintar(0, 0, 0); p.x = 5; p.y = -40; CriaQuadrado(10, p); Pintar(0, 0, 0); Desenha(); }
void RenderScene(void) { // Limpa a janela com a cor especificada como cor de fundo glClear(GL_COLOR_BUFFER_BIT); glLineWidth(10); glGetIntegerv(GL_LINE_WIDTH,&Width); glColor3f(0.0f,1.0f,0.0f); glPushAttrib(GL_CURRENT_BIT); glColor3f(0.0f,1.0f,1.0f); glPushAttrib(GL_CURRENT_BIT); glColor3f(1.0f,0.0f,1.0f); glViewport(0,0,400,600); // 1a. viewport a esquerda da janela glBegin(GL_LINES); glVertex2f (0.0, -1); glVertex2f (0.0, 1); glVertex2f (-1, 0.0); glVertex2f (1, 0.0); glEnd(); glPopAttrib(); glBegin(GL_QUADS); glVertex2f (-0.4, 0.3); glVertex2f (-0.4, 0.7); glVertex2f (-0.8, 0.7); glVertex2f (-0.8, 0.3); glEnd(); glPopAttrib(); glBegin(GL_QUADS); glVertex2f (0.4, -0.3); glVertex2f (0.4, -0.7); glVertex2f (0.8, -0.7); glVertex2f (0.8, -0.3); glEnd(); // Chamadas de funções OpenGL para desenho glMatrixMode(GL_MODELVIEW); glLoadIdentity(); Desenha(); glColor3f(1.0f,0.0f,0.0f); glPushAttrib(GL_CURRENT_BIT); glColor3f(0.0f,0.0f, 0.0f); glPushAttrib(GL_CURRENT_BIT); glColor3f(0.75f,0.2f,1.0f); // define a 2a. viewport glViewport(410,0,400,600); // 2a. viewport a direita da janela glBegin(GL_LINES); glVertex2f (-0.8, -0.8); glVertex2f (0.8, 0.8); glVertex2f (0.8, -0.8); glVertex2f (-0.8, 0.8); glEnd(); glPopAttrib(); glBegin(GL_TRIANGLES); glVertex2f (-0.7, 0.4); glVertex2f (-0.8, -0.2); glVertex2f (-0.4, -0.2); glEnd(); glPopAttrib(); glBegin(GL_TRIANGLES); glVertex2f (0.7, 0.4); glVertex2f (0.8, -0.2); glVertex2f (0.4, -0.2); glEnd(); // Recomeça a exibir o SRU glMatrixMode(GL_MODELVIEW); glLoadIdentity(); Desenha(); glutSwapBuffers(); }
int main (){ int angulo = 1; int helices, moinho; Ponto p1, p2; AbreJanela(400, 400, "Moinho de Vento" ); PintarFundo(217,255,255); moinho = CriaGrupo(); p1.x = -20; p1.y = -20; CriaTriangulo(40,60,p1); Pintar(255, 255, 0); p1.x = -20; p1.y = -100; CriaRetangulo(40,80,p1); Pintar(0, 255, 0); helices = CriaGrupo(); p1.x = 0; p1.y = 0; // Hélice 1 p2.x = 0; p2.y = 70; CriaReta(p1, p2); Pintar(255, 255, 255); Grafite(8); // Hélice 2 p2.x = 70; p2.y = 0; CriaReta(p1, p2); Pintar(255, 255, 255); Grafite(8); // Helice 3 p2.x = 0; p2.y = -70; CriaReta(p1, p2); Pintar(255, 255, 255); Grafite(8); // Helice 4 p1.x = -70; p2.y = 0; CriaReta(p1, p2); Pintar(255, 255, 255); Grafite(8); p1.x = 0; p1.y = 0; CriaCirculo(5,p1); Pintar(255,200,0); while( angulo > 0){ Desenha1Frame(); Gira(angulo, helices); @\label{line:Giram1}@ angulo++; } Desenha(); return 0; }
int main(){ int R[100][100], G[100][100], B[100][100]; int Raux[102][102], Gaux[102][102], Baux[102][102]; int Rf[102][102], Gf[102][102], Bf[102][102]; int soma; int mfiltro = 8; Ponto p; //inicializa matrizes for(int i = 0; i < 102; i++){ for(int j = 0; j < 102; j++){ Raux[i][j] = 0; Gaux[i][j] = 0; Baux[i][j] = 0; Rf[i][j] = 0; Gf[i][j] = 0; Bf[i][j] = 0; } } ExtraiRGBdeBMP("Mario.bmp", 100, 100, R, G, B); @{ \label{line:ExtraiRGBdeBMP}@ AbreJanela(300, 300, "Marios"); //PintarFundo(255, 255, 255); //Passa as cores para aux for(int i = 1; i < 101; i++){ for(int j = 1; j < 101; j++){ Raux[i][j] = R[i - 1][j - 1]; Gaux[i][j] = G[i - 1][j - 1]; Baux[i][j] = B[i - 1][j - 1]; } } //Realiza filtragem for(int i = 1; i < 101; i++){ for(int j = 1; j < 101; j++){ soma = 0; soma += Raux[i-1][j-1] + Raux[i-1][j] + Raux[i-1][j+1] + Raux[i][j-1] + Raux[i][j] + Raux[i][j+1] + Raux[i+1][j-1] + Raux[i+1][j] + Raux[i+1][j+1]; Rf[i][j] = soma/mfiltro; soma = 0; soma += Gaux[i-1][j-1] + Gaux[i-1][j] + Gaux[i-1][j+1] + Gaux[i][j-1] + Gaux[i][j] + Gaux[i][j+1] + Gaux[i+1][j-1] + Gaux[i+1][j] + Gaux[i+1][j+1]; Gf[i][j] = soma/mfiltro; soma = 0; soma += Baux[i-1][j-1] + Baux[i-1][j] + Baux[i-1][j+1] + Baux[i][j-1] + Baux[i][j] + Baux[i][j+1] + Baux[i+1][j-1] + Baux[i+1][j] + Baux[i+1][j+1]; Bf[i][j] = soma/mfiltro; } } p.y = -50; for(int i = 1; i < 101; i++){ p.x = -100; for(int j = 1; j < 101; j++){ CriaQuadrado(1, p); Pintar(Raux[i][j], Gaux[i][j], Baux[i][j]); p.x++; } p.y++; } p.y = -50; for(int i = 1; i < 101; i++){ p.x = 0; for(int j = 1; j < 101; j++){ CriaQuadrado(1, p); Pintar(Rf[i][j], Gf[i][j], Bf[i][j]); p.x++; } p.y++; } Desenha(); }
int main(){ Ponto p, pcano1, pcano2, pmario; int imgbackground, imgcano, imgmario_caminhando_1, imgmario_caminhando_2, imgmario_caminhando_3, imgmario_pre_caminhada, imgmario_pre_salto, imgmario_salto; int grupocano, grupomario, grupoback; float t, x, y; int raio_pulo = 40; srand (time(NULL)); AbreJanela(600, 385, "Run, Mario, run!"); imgbackground = AbreImagem("Mario_Run/background.png"); imgcano = AbreImagem("Mario_Run/cano.png"); imgmario_caminhando_1 = AbreImagem("Mario_Run/mario_caminhando_1.png"); imgmario_caminhando_2 = AbreImagem("Mario_Run/mario_caminhando_2.png"); imgmario_caminhando_3 = AbreImagem("Mario_Run/mario_caminhando_3.png"); imgmario_pre_caminhada = AbreImagem("Mario_Run/mario_pre_caminhada.png"); imgmario_pre_salto = AbreImagem("Mario_Run/mario_pre_salto.png"); imgmario_salto = AbreImagem("Mario_Run/mario_salto.png"); //Background grupoback = CriaGrupo(); p.x = -156; p.y = -100; CriaRetangulo(312, 200, p); Pintar(255, 255, 255); AssociaImagem(imgbackground); //Canos grupocano = CriaGrupo(); pcano1.x = -(100 - rand()%50); pcano1.y = -70; CriaQuadrado(30, pcano1); Pintar(255, 255, 255); AssociaImagem(imgcano); pcano2.x = 50 + rand()%50; pcano2.y = -70; CriaQuadrado(30, pcano2); Pintar(255, 255, 255); AssociaImagem(imgcano); grupomario = CriaGrupo(); p.x = -156; p.y = -75; CriaRetangulo(30, 55, p); Pintar(255, 255, 255); AssociaImagem(imgmario_pre_caminhada); t = 0; while(t < 100){ t++; Desenha1Frame(); } for(p.x = -156; p.x < 125; p.x += 5){ if(p.x + raio_pulo > pcano1.x && p.x < pcano1.x + raio_pulo){ AssociaImagem(imgmario_pre_salto); t = 0; while(t < 50){ t++; Desenha1Frame(); } AssociaImagem(imgmario_salto); t = 0; pmario = p; while(t <= PI){ x = -(raio_pulo * cos(t)); //círculo (0,0) com raio 30 (x está invertido porque tá indo de 0 a PI) y = 50 * sin(t); p.x = pmario.x + raio_pulo + x; //posição do deslocamento x + raio 30 + posição inicial do Mário p.y = pmario.y + y; Move(p, grupomario); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); t+= 0.5; } p.y = -75; } if(p.x + raio_pulo > pcano2.x && p.x < pcano2.x + raio_pulo){ AssociaImagem(imgmario_pre_salto); t = 0; while(t < 50){ t++; Desenha1Frame(); } AssociaImagem(imgmario_salto); t = 0; pmario = p; while(t <= PI){ x = -(raio_pulo * cos(t)); //círculo (0,0) com raio 30 (x está invertido porque tá indo de 0 a PI) y = 50 * sin(t); p.x = pmario.x + raio_pulo + x; //posição do deslocamento x + raio 30 + posição inicial do Mário p.y = pmario.y + y; Move(p, grupomario); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); t+= 0.5; } p.y = -75; } AssociaImagem(imgmario_caminhando_1); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); Move(p, grupomario); AssociaImagem(imgmario_caminhando_2); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); p.x += 5; Move(p, grupomario); AssociaImagem(imgmario_caminhando_3); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); Desenha1Frame(); } AssociaImagem(imgmario_pre_caminhada); Desenha(); return 0; }
void display(void){ printf("funcao desenha\n"); Desenha(); glutSwapBuffers(); }
int main(){ Ponto p, alvo, partida; float theta, v0, t; int colisao = 1, resposta; int imgmagneto_attack, imgmagneto_standing, imgmagneto_standing2, imgwolverine_flying, imgwolverine_standing, imgwolverine_standing2, imgbackground, imgpikachu; int grupo_wolverine, grupo_lancar; AbreJanela(600,600, "Lancaverine 2.0"); imgmagneto_attack = AbreImagem("Xmen/magneto_attack.png"); imgmagneto_standing = AbreImagem("Xmen/magneto_standing.png"); imgmagneto_standing2 = AbreImagem("Xmen/magneto_standing2.png"); imgwolverine_flying = AbreImagem("Xmen/wolverine_flying.png"); imgwolverine_standing = AbreImagem("Xmen/wolverine_standing.png"); imgwolverine_standing2 = AbreImagem("Xmen/wolverine_standing2.png"); imgbackground = AbreImagem("Xmen/background.jpg"); imgpikachu = AbreImagem("Xmen/pikachu.png"); srand(time(NULL)); do{ LimpaDesenho(); //Limpo o desenho para comecar uma nova fase defineCenario(&alvo, &partida, &grupo_wolverine, imgbackground, imgmagneto_standing, imgwolverine_standing, colisao); Desenha1Frame(); theta = setaAngulo(partida); v0 = setaVelocidade(); ApagaGrupo(grupo_wolverine); //vamos resetar o wolverine para ataque grupo_wolverine = CriaGrupo(); //Separa os grupos - este e o grupo da bolinha CriaQuadrado(TAMANHOQUADRADO, partida); Pintar(255, 255, 255); AssociaImagem(imgwolverine_flying); t = 0; theta = theta * PI/180; colisao = 0; do{ if(!colisao){ p.x = partida.x + v0 * cos(theta) * t; p.y = partida.y + v0 * sin(theta) * t - ((1/2.0) * (9.8) * (t*t)); Move(p, grupo_wolverine); t += 0.1; //tempo } colisao = colisaoBolinhaRetangulo(TAMANHOQUADRADO, TAMANHOQUADRADO, alvo, p); Desenha1Frame(); }while(!colisao); if(colisao == 1){ //atingiu Magneto ApagaGrupo(grupo_wolverine); //remove Wolverine AssociaImagem(imgmagneto_attack); //Modifica Magneto grupo_wolverine = CriaGrupo(); //Separa os grupos - este e o grupo da bolinha CriaQuadrado(TAMANHOQUADRADO, p); Pintar(255, 255, 255); AssociaImagem(imgwolverine_flying); t = 0; do{ //pausa dramatica Desenha1Frame(); t += 0.1; }while(t < 10); do{ //lanca wolverine Move(p, grupo_wolverine); p.x -= 10; p.y += 10; Desenha1Frame(); }while(p.x + TAMANHOQUADRADO > -130); ApagaGrupo(grupo_wolverine); AssociaImagem(imgmagneto_standing); CriaGrupo(); p.x = -80; p.y = 32; CriaQuadrado(20, p); Pintar(255, 255, 255); AssociaImagem(imgpikachu); Desenha1Frame(); } if(colisao == 2){//Nao atingiu magneto if(p.x > alvo.x){ //Wolverine esta na frente do Magneto AssociaImagem(imgwolverine_standing2); } else{ //Wolverine esta nas costas do Magneto ApagaGrupo(grupo_wolverine); AssociaImagem(imgmagneto_standing2); grupo_wolverine = CriaGrupo(); //Separa os grupos - este e o grupo da bolinha CriaQuadrado(TAMANHOQUADRADO, p); Pintar(255, 255, 255); AssociaImagem(imgwolverine_standing); } t = 0; do{ //pausa dramatica Desenha1Frame(); t += 0.1; }while(t < 10); } if(colisao == 1){ printf("\nYay! Quer jogar um novo jogo?"); } else{ printf("\nOh nao... Quer tentar de novo?"); } printf("\n1 - Sim\n0 - Nao\n"); scanf("%d", &resposta); }while(resposta); Desenha(); return 0; }