Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Ballowe Wormsy[Allegro]

Ostatnio zmodyfikowano 2010-12-02 19:21
Autor Wiadomość
Łukasz123
Temat założony przez niniejszego użytkownika
Ballowe Wormsy[Allegro]
» 2010-12-02 18:35:25
Witam!

Ostatni pracuje nad dużą grą ale przerwałem prace żeby se Allegro poćwiczyć to wymyśliłem ballowe wormsy że zamiaist ludzików są kulki (: .Ale natrafiłem  na problem otóż program się kompiluje ale windows zgłasza błąd ): pliss help!
Na dole umieszczam kod:

C/C++
#include <allegro.h>
#include "bar.h"
void init();

int main()
{
    init();
   
    while( !key[ KEY_ESC ] )
    {
        while( speed > 0 )
        {
            kulka.klatka_r = 0;
            kulka.klatka_g = 0;
            kulka.klatka_y = 0;
            kulka.klatka_e_g = 0;
            kulka.klatka_b = 0;
            kulka.klatka_p = 0;
           
            speed--;
           
            frame++;
            if( frame > 40 ) frame = 0;
           
            speed--;
        }
       
        clear_to_color( bufor, makecol( 255, 0, 255 ) );
        for( int y = 0; y < 10; y++ ) // |
        for( int x = 0; x < 10; x++ ) // |
        { //for begin
            blit( ziemia, bufor, 0, 0, x * 32 + map_x, y * 32 + map_y, 200, 200 );
        } //for end
        masked_blit( ball_r, bufor, 0, 0, kulka.red_x, kulka.red_y, 32, 32 );
        masked_blit( ball_g, bufor, 0, 0, kulka.green_x, kulka.green_y, 32, 32 );
        masked_blit( ball_y, bufor, 0, 0, kulka.yellow_x, kulka.yellow_y, 32, 32 );
        masked_blit( ball_b, bufor, 0, 0, kulka.blue_x, kulka.blue_y, 32, 32 );
        masked_blit( ball_p, bufor, 0, 0, kulka.purple_x, kulka.purple_y, 32, 32 );
        masked_blit( ball_g_e, bufor, 0, 0, kulka.green_energy_x, kulka.green_energy_y, 32, 32 );
       
        blit( bufor, screen, 0, 0, 0, 0, 6400, 4800 );
       
    } //keylock end
    remove_int( increment_speed );
    destroy_bitmap( ziemia );
    destroy_bitmap( niebo );
    return 0;
    allegro_exit();
}
END_OF_MAIN()

void init()
{
    allegro_init();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 560, 480, 0, 0 );
    install_timer();
    install_int_ex( increment_speed, BPS_TO_TIMER( 80 ) );
    install_keyboard();
    install_mouse();
    /* add other initializations here */
}

bar.h

C/C++
volatile long speed = 0;
void increment_speed()
{
    speed++;
}
int frame = 0;
END_OF_FUNCTION( increment_speed );
LOCK_VARIABLE( speed );
LOCK_FUNCTION( increment_speed );
BITMAP * bufor = create_bitmap( 1000, 1000 );
BITMAP * ball_r = load_bmp( "red_ball.bmp", default_palette );
BITMAP * ball_p = load_bmp( "purple_ball.bmp", default_palette );
BITMAP * ball_g = load_bmp( "green_ball.bmp", default_palette );
BITMAP * ball_y = load_bmp( "yellow_ball.bmp", default_palette );
BITMAP * ball_b = load_bmp( "blue_ball.bmp", default_palette );
BITMAP * ball_g_e = load_bmp( "green_ball_energy.bmp", default_palette );
BITMAP * ziemia = load_bmp( "ziemia.bmp", default_palette );
BITMAP * niebo = load_bmp( "niebo.bmp", default_palette );
class Ckulka
{
public:
    int red_x, red_y;
    int green_x, green_y;
    int yellow_x, yellow_y;
    int blue_x, blue_y;
    int purple_x, purple_y;
    int green_energy_x, green_energy_y;
   
    short int klatka_r;
    short int klatka_g;
    short int klatka_y;
    short int klatka_e_g;
    short int klatka_b;
    short int klatka_p;
};
Ckulka kulka;

void wartosci_klasy()
{
    kulka.red_x = 50;
    kulka.red_y = 50;
    kulka.green_x = 100;
    kulka.green_y = 100;
    kulka.yellow_x = 150;
    kulka.yellow_y = 150;
    kulka.blue_x = 200;
    kulka.blue_y = 200;
    kulka.purple_x = 250;
    kulka.purple_y = 250;
    kulka.green_energy_x = 300;
    kulka.green_energy_y = 300;
}
int map_x;
int map_y;
P-24766
DejaVu
» 2010-12-02 18:53:27
Jaki błąd?
P-24768
Łukasz123
Temat założony przez niniejszego użytkownika
» 2010-12-02 18:56:03
Windows wywala okno komunikatu błędu i pyta czy wysłać raport o błędach czy nie o to okno chodzi.(Chyba nie będe wklejał całego formularza błędu (: .)

 
P-24769
DejaVu
» 2010-12-02 18:57:18
Zapewne chodzi o to, że inicjalizujesz globalnie zmienne za pomocą funkcji (wczytywnaie bitmap). Nie można jednak wczytywać bitmap zanim nie ustawi się odpowiedniej głębi kolorów itp.
P-24770
pekfos
» 2010-12-02 18:57:50
wczytuj bitmapy W main.

i po co taki duży bufor?
P-24771
Łukasz123
Temat założony przez niniejszego użytkownika
» 2010-12-02 19:21:09
Wielkie dzięki (: .

PS.Taki duży bufor bo mapa będzie miała z 800 x 800 ale zmniejszyłem liczbe kafli na 10x10 bo kombinowałem żeby działało noi tak ustawiłem akurat (: .
P-24778
« 1 »
  Strona 1 z 1