Ir para conteúdo

[Linux ] Base do GAME no Allegro


SkyDangerous

Posts Recomendados

Estou fazendo um jogo do mario em C, usando o allegro no linux, ai vou disponibilizar o começo do jogo que fiz hoje de manhã, caso queria pegar de base.

Ai só estudar e começar a desenvolver, vou colocar músicas no fundo, no pulo , bichos que ataca e colisões com objetos, mais pra frente

 

 

 

]#include <stdio.h>
#include <stdlib.h>		
#include <allegro.h>

#define MAX_X		1280
#define MAX_Y		400
#define V_MAX_X		0
#define V_MAX_Y		0
#define COLOR_BITS	16

int inicia(void);
void bitmap_fundo(void);
void bitmap_mario(int, int);
void principal(void);
void finaliza(void);		  

BITMAP* buf;
BITMAP* fundo;
BITMAP* mario;

int main(void)
{
if (!inicia())
{
	finaliza();
	return -1;
}

principal();

finaliza();
return 0;
}
END_OF_MAIN();

int inicia(void)
{
allegro_init();

install_keyboard();

set_color_depth(COLOR_BITS);
if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, MAX_X, MAX_Y, V_MAX_X, V_MAX_Y) < 0)
{
	printf("Erro ao inicializar o modo grafico.\n");
	return (FALSE);
}

set_palette(desktop_palette);

buf = create_bitmap(MAX_X, MAX_Y);

fundo = load_bitmap ("fundo.bmp", NULL);
mario = load_bitmap ("mario.bmp", NULL);		

return (TRUE);
}

void bitmap_fundo(void)
{  draw_sprite (buf, fundo, 0, 0);  }

void bitmap_mario(int x, int y)
{  draw_sprite (buf, mario, x, y);  }		

void principal(void)
{
int x = 0;
int y = 354;	  

int esq = 1;
int dir = 0;

bitmap_fundo();
bitmap_mario(x, y);
draw_sprite (screen, buf, 0, 0);	


while (!key[KEY_ESC])
{
   if (key[KEY_UP])
	{
		y = y-4;
		if(y<0) {y=0;}
		if(esq == 1) {  bitmap_mario(x, y);  }
		else		 {  bitmap_mario(x, y); }
		draw_sprite (screen, buf, 0, 0);
	}

	if (key[KEY_DOWN])
	{
		y = y+4;
		if(y>1024-100) {y=1024-100;}
		if(esq == 1) { bitmap_mario(x, y);  }
		if(dir == 1) { bitmap_mario(x, y); }
		draw_sprite (screen, buf, 0, 0);
	}

	if (key[KEY_LEFT])
	{
		x = x-4;
		if(x<0) {x=0;}
		bitmap_mario(x, y);
		draw_sprite (screen, buf, 0, 0);
		esq = 1;
		dir = 0;
	}

	if (key[KEY_RIGHT])
	{
		x = x+4;
		if(x>1280-263) {x=1280-263;}
		bitmap_mario(x, y);
		draw_sprite (screen, buf, 0, 0);
		esq = 0;
		dir = 1;
	}

	bitmap_fundo();	



	clear_keybuf();
}
}

void finaliza (void)
{
allegro_exit();
}

 

IMAGENS:

 

marioez.png

 

não consigo upar o fundo --', muito grande ..

 

 

Baixar a biblioteca Allegro:

Download Aqui

 

 

 

Após a conclusão do download abra um terminal e descompacte-o:

 

$ tar -zxvf allegro-4.0.3-rc2.tar.gz

$ cd allegro-4.0.3

 

Agora basta finalizar o processo seguindo os passos abaixo:

 

$ ./fix.sh unix

$ ./configure

$ make

# make install

 

Compilar:

 

gcc nome do programa -Wall -lalleg

 

Executar:.

./a.out

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...