1
resposta

código fogefoge

include <stdio.h>

include <stdlib.h>

include "fogefoge.h"

char** mapa; int linhas; int colunas;

//----------------------------------------------------------------

void liberamapa(){ for(int i =0; i<linhas;i++){ free(mapa[i]); }

free(mapa); }

//--------------------------------------------------------------

void lemapa(){ FILE* f; f= fopen("mapa.txt","r"); if (!f){ printf("Desculpe, banco de dados não acessivel\n"); exit(1); }

fscanf(f,"%d %d", &linhas, &colunas);

alocamapa();

for(int i = 0; i < 5; i++) { fscanf(f, "%s", mapa[i]); } fclose(f); }

//-----------------------------------------------------------------------------------------

void alocamapa(){ mapa = malloc(sizeof(char)*linhas); for(int i= 0; i<linhas; i++ ){ mapa[i] = malloc(sizeof(char)(colunas+1)); } }

//---------------------------------------------------------------------------------------

int main(){

lemapa();

for(int i = 0; i < 5; i++) { printf("%s\n", mapa[i]);

}

liberamapa();

}

1 resposta

Olá!

Pelo código que você compartilhou, parece que você está com dúvidas na parte de começar o jogo. Vou te ajudar com isso!

No código que você postou, a função lemapa() é responsável por ler o mapa do jogo a partir de um arquivo chamado "mapa.txt". Ela utiliza a função fscanf() para ler as informações do arquivo e armazená-las nas variáveis linhas e colunas. Em seguida, a função alocamapa() é chamada para alocar espaço na memória para o mapa.

A função alocamapa() utiliza a função malloc() para alocar um espaço de memória para cada linha do mapa. Em seguida, um loop é utilizado para alocar espaço para cada coluna do mapa.

Após a leitura e alocação do mapa, um loop é utilizado para imprimir o mapa na tela utilizando a função printf().

Por fim, a função liberamapa() é chamada para liberar a memória alocada para o mapa.

Se você está com dúvidas sobre como começar o jogo, sugiro que você siga os seguintes passos:

  1. Crie um arquivo chamado "mapa.txt" e preencha-o com o mapa do seu jogo. Cada linha do arquivo representa uma linha do mapa e cada caractere representa um elemento do mapa (por exemplo, 'X' para parede, '.' para espaço vazio, etc).

  2. Utilize a função lemapa() para ler o mapa do arquivo e alocar a memória necessária.

  3. Utilize um loop para percorrer o mapa e realizar as ações iniciais do jogo, como posicionar o jogador, os inimigos, etc.

  4. Implemente a lógica do jogo, utilizando loops e condicionais para controlar o movimento dos personagens, as colisões, etc.

Lembre-se de testar o seu código e verificar se ele está funcionando corretamente. Se tiver alguma dúvida específica ou se precisar de ajuda em alguma parte do código, é só me dizer!

Espero ter ajudado e bons estudos!