void desenha_buffer(Buffer* buffer, int largura, int altura){ al_set_target_bitmap(buffer->buffer); al_clear_to_color(al_map_rgb(0, 0, 0)); for( int i = 0; i < buffer->n_escudos; i++ ) desenha_escudo( buffer->escudo[i] ); draw_wave(buffer->invasores); desenha_tanque(buffer->tanque); char strScore[100]; sprintf(strScore, "SCORE: %d", *(buffer->score)); al_draw_text(buffer->fonte, al_map_rgb(255,255,255), 0, 10, 0, strScore ); al_draw_text(buffer->fonte, al_map_rgb(255,255,255), buffer->largura_inicial/4*3, 10, ALLEGRO_ALIGN_RIGHT, "VIDAS"); for(int i=0; i< *(buffer->vidas); i++) al_draw_bitmap(get_imagem_tanque(buffer->tanque),10+ buffer->largura_inicial/4*3 + i*(al_get_bitmap_width(get_imagem_tanque(buffer->tanque))+10), 5, 0); al_flip_display(); al_set_target_backbuffer(buffer->display); al_draw_scaled_bitmap(buffer->buffer, 0, 0, buffer->largura_inicial, buffer->altura_inicial, 0, 0, largura, altura, 0); }
void desenha_buffer(Buffer* buffer, int largura, int altura){ al_set_target_bitmap(buffer->buffer); al_clear_to_color(al_map_rgb(0, 0, 0)); for( int i = 0; i < buffer->n_escudos; i++ ) desenha_escudo( buffer->escudo[i] ); draw_wave(buffer->invasores); if (buffer->ovni) desenha_nave(buffer->ovni); desenha_tanque(buffer->tanque); char strScore[100], strVidas[5]; sprintf(strScore, "SCORE: %d", *(buffer->score)); sprintf(strVidas, "X %d", *(buffer->vidas)); al_draw_text(buffer->fonte, al_map_rgb(255,255,255), 0, 10, 0, strScore ); al_draw_bitmap(get_imagem_tanque(buffer->tanque),10+ buffer->largura_inicial/5*3 , 5, 0); al_draw_text(buffer->fonte, al_map_rgb(255,255,255), buffer->largura_inicial/4*3, 10, 0, strVidas); al_flip_display(); al_set_target_backbuffer(buffer->display); al_draw_scaled_bitmap(buffer->buffer, 0, 0, buffer->largura_inicial, buffer->altura_inicial, 0, 0, largura, altura, 0); }