LeoRocha Postado Abril 13, 2017 Denunciar Share Postado Abril 13, 2017 (editado) gostaria de saber como criar um mapa 20x20 ultilizando a biblioteca allegro5 como o da imagem a baixo. obrigado obs(não é necessario a criação dos personagens apenas as paredes e as pilulas) #include <iostream> #include <allegro5/allegro.h> #define MAXFILAS 20 #define MAXCOLS 31 char mapa[MAXFILAS][MAXCOLS]={ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X XXXXX X", "X XXX XXXXX XXXXX XXXXXX XXX X", "X XXX XXXXX XXXXX XXXXXX XXX X", "X X", "X XXX XX XXXXXXXXXXXX XX XXX X", "X XX XXXX XX X", "X XXX XXXXXX XXXX XXXXXX XXX X", "X XXX XX XX XXX X", "X XX XXXXXXXXXXXX XX X", "X XXX XX XXXXXXXXXXXX XX XXX X", "X XXX XX XX XXX X", "X XXX XXXXXX XXX XXXXXXX XXX X", "X XX XXX XX X", "X XXX XX XXXXXXXXXXXX XX XXX X", "X XXX XXX X", "X XXX XXXX XXXXXXXXX XXX XXX X", "X XXX XXXX XXX XXX X", "X XXXXXXXXX X", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", }; void criando_mapa(ALLEGRO_BITMAP *tijolo){ int row,col; for(row = 0; row< MAXFILAS; row++){ for(col= 0; col<MAXCOLS; col++){ if(mapa[row][col] =='X'){ tijolo = al_load_bitmap("tijolo.png"); al_draw_bitmap(tijolo,10,col*30,row*30); } } } } int main(){ // Variável representando a janela principal ALLEGRO_DISPLAY *janela = NULL; // Inicializa a Allegro al_init(); ALLEGRO_BITMAP *tijolo =NULL; // Inicializa o add-on para utilização de imagens // Configura a janela janela = al_create_display(640, 480); // Carrega a imagem criando_mapa(tijolo); // Atualiza a tela al_flip_display(); // Segura a execução por 10 segundos al_rest(20.0); // Finaliza a janela al_destroy_display(janela); return 0; } Editado Abril 13, 2017 por LeoRocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Abril 14, 2017 Denunciar Share Postado Abril 14, 2017 vc precisa buscar um tileset e substituir cada letra por uma parte do tal tileset:https://www.google.es/search?q=pacman+tileset&num=100&newwindow=1&client=firefox-b&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwjVxKyM0qTTAhXCDxoKHX4jBnkQsAQIJA Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LeoRocha
gostaria de saber como criar um mapa 20x20 ultilizando a biblioteca allegro5 como o da imagem a baixo. obrigado
obs(não é necessario a criação dos personagens apenas as paredes e as pilulas)
#include <iostream>
#include <allegro5/allegro.h>
#define MAXFILAS 20
#define MAXCOLS 31
char mapa[MAXFILAS][MAXCOLS]={
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X XXXXX X",
"X XXX XXXXX XXXXX XXXXXX XXX X",
"X XXX XXXXX XXXXX XXXXXX XXX X",
"X X",
"X XXX XX XXXXXXXXXXXX XX XXX X",
"X XX XXXX XX X",
"X XXX XXXXXX XXXX XXXXXX XXX X",
"X XXX XX XX XXX X",
"X XX XXXXXXXXXXXX XX X",
"X XXX XX XXXXXXXXXXXX XX XXX X",
"X XXX XX XX XXX X",
"X XXX XXXXXX XXX XXXXXXX XXX X",
"X XX XXX XX X",
"X XXX XX XXXXXXXXXXXX XX XXX X",
"X XXX XXX X",
"X XXX XXXX XXXXXXXXX XXX XXX X",
"X XXX XXXX XXX XXX X",
"X XXXXXXXXX X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
};
void criando_mapa(ALLEGRO_BITMAP *tijolo){
int row,col;
for(row = 0; row< MAXFILAS; row++){
for(col= 0; col<MAXCOLS; col++){
if(mapa[row][col] =='X'){
tijolo = al_load_bitmap("tijolo.png");
al_draw_bitmap(tijolo,10,col*30,row*30);
}
}
}
}
int main(){
// Variável representando a janela principal
ALLEGRO_DISPLAY *janela = NULL;
// Inicializa a Allegro
al_init();
ALLEGRO_BITMAP *tijolo =NULL;
// Inicializa o add-on para utilização de imagens
// Configura a janela
janela = al_create_display(640, 480);
// Carrega a imagem
criando_mapa(tijolo);
// Atualiza a tela
al_flip_display();
// Segura a execução por 10 segundos
al_rest(20.0);
// Finaliza a janela
al_destroy_display(janela);
return 0;
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.