Ir ao conteúdo
  • Cadastre-se

W0xer

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

3
  1. @V!OLADOR então neste caso eu deveria alterar o valor do looping pra j < 5. Muito obrigado amigo, assim que eu chegar do trabalho eu testo isso, e implemento as funções de testes pra ser mais cuidadoso. um abraço
  2. Olá, estou com problemas na compilação de um código C com a biblioteca do Allegro na versão 4. Estava assistindo a um tutorial para reescrever o jogo space invaders e sempre que compilo o code::blocks abre o programa mas logo fecha e uma mensagem de erro aparece na segunda tela: "shutting down allegro due to signal #11 segmentation fault (core dumped)". o código é o que se segue: #include <allegro.h> void sair(); int sai = 0, width = 740, height = 740; struct obj { int x; int y; int wx; int wy; int w; int h; }invader[5][10]; int main() { allegro_init(); install_keyboard(); set_color_depth(32); set_window_title("space invaders"); set_close_button_callback(sair); set_gfx_mode(GFX_AUTODETECT_WINDOWED, width, height, 0, 0); BITMAP *buffer = create_bitmap(width, height); BITMAP *fundo = load_bitmap("img/fundo.bmp", NULL); BITMAP *invad = load_bitmap("img/invasores.bmp", NULL); for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++) { invader[j][i].x = 42; invader[j][i].y = 313; invader[j][i].wx = 42; invader[j][i].wy = 313; invader[j][i].w = 40; invader[j][i].h = 30; } } while (!(sai || key[KEY_ESC])) { draw_sprite(buffer, fundo, 0, 0); for(int i = 0; i < 5; i++) { for(int j = 0; j < 10; j++) { masked_blit(invad, buffer, invader[j][i].x, invader[j][i].y, invader[j][i].wx, invader[j][i].wy, invader[j][i].w, invader[j][i].h); } } draw_sprite(screen, buffer, 0, 0); draw_sprite(invad, fundo, 0, 0); rest(30); clear(buffer); clear(invad); clear(fundo); } destroy_bitmap(buffer); return 0; } END_OF_MAIN(); void sair(){sai = 1;} END_OF_FUNCTION(sair); Se alguém puder por favor me ajudar o porquê disso estar acontecendo, eu agradeceria muito mesmo.
  3. Sim, bem legal isso. Eu ainda tenho muito a aprender, e eu não vou desistir da programação, eu to desistindo desse código estúpido meu que eu fiz quando criança, mas obrigado aí amigo, abraço.
  4. putz amigo, de fato ainda tem muita coisa pra fazer e pra revisar nesse negócio, eu estava pensando em desistir na verdade, eu nem vou usar mais esse programa. Eu na verdade só postei esse negócio aqui porque nunca tinha postado nada e vejo todo mundo participando e se interagindo, é bem legal essa comunidade. Mas enfim, obrigado pela ajuda, é sempre bom ter contato com pessoas experientes, boa noite.
  5. #include <stdio.h> #include <math.h> #include <string.h> #include <_mingw.h> char teste; //coeficientes float coeficiente_a = 0, coeficiente_b = 0, coeficiente_c = 0; float *ptr; //vertices float vertice_x, vertice_y; float delta; //tráfego de variáveis float recebe_valores(); float calcula_valores(); float recebe_valores() { printf("\t\t\t\t\t\t<Calculadora de vertices>\n\n"); printf("\t\tInsira os coeficientes para a equacao: ax^2 + bx + c\n"); printf("\t\t\ta = %.2f\n\t\t\tb = %.2f\n\t\t\tc = %.2f\n", coeficiente_a, coeficiente_b, coeficiente_c); ptr = &coeficiente_a; scanf("%f", ptr); if (coeficiente_a <= 0) { printf("\t\tO coeficiente 'a' precisa ser necessariamente maior que 0, se não for a equacao deixa de ser quadratica e se torna linear\n\n"); recebe_valores(); } else { coeficiente_a = *ptr; ptr = 0; printf("\t\t\ta = %.2f\n\t\t\tb = %.2f\n\t\t\tc = %.2f\n", coeficiente_a, coeficiente_b, coeficiente_c); ptr = &coeficiente_b; scanf("%f", ptr); } } float calcula_valores() { printf("Calculando o vertice Y:\n"); delta = (-coeficiente_b) * (-coeficiente_b) - 4 * coeficiente_a * coeficiente_c; vertice_y = delta / 4 * coeficiente_a; printf("Vertice Y = (0,%.2f)\n", vertice_y); printf("Calculando o vertice X:\n"); vertice_x = coeficiente_b / 2 * coeficiente_a; printf("Vertice X = (%.2f,0)\n", vertice_x); } int main() { recebe_valores(); calcula_valores(); } //por favor me ajudem, eu quero saber como fazer isso, eu passei madrugadas trabalhando nisso

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!