Olá, estou fazendo o projeto no dev c++, entretanto, eu não consigo fazer com q rode o programa pq só aparece essa mensagem : Arquivo fonte não compilado. Eu criei um projeto no dev c++ para rodar todos os arquivos juntos
foge.cpp: (fiz uma função nesse código para que toda vez que o usuário digitar uma direção, a tela limpa o mapa anterior)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include "foge.h"
#include "mapa.h"
MAPA m;
int acabou(){
return 0;
}
void move(char direcao){
int x;
int y;
for(int i=0;i<m.linhas;i++){
for(int j=0;j<m.colunas;j++){
if(m.matriz[i] [j] == '@'){
x=i;
y=j;
break;
}
}
}
switch(direcao){
case'a' : m.matriz[x][y-1] = '@';
break;
case'w' : m.matriz[x-1] [y] = '@';
break;
case's' : m.matriz[x+1] [y] = '@';
break;
case'd' : m.matriz[x][y+1] = '@';
break;
}
m.matriz[x][y] = '.';
}
void cls(void){
printf("\033[1J\033[H");
}
int main() {
lemapa(&m);
do{
system("cls");
imprimemapa(&m);
char comando;
scanf(" %c", &comando);
move(comando);
}while(!acabou());
liberamapa(&m);
getch();
}
foge.h:
void move(char direcao);
int acabou();
void cls(void);
mapa.cpp:
#include <stdio.h>
#include <stdlib.h>
#include "mapa.h"
void lemapa(MAPA* m) {
FILE* f;
f = fopen("mapa.txt", "r");
if(f == 0) {
printf("Erro na leitura do mapa");
exit(1);
}
fscanf(f, "%d %d", &(m->linhas), &(m->colunas));
alocamapa(m);
for(int i = 0; i < m->linhas; i++) {
fscanf(f, "%s", m->matriz[i]);
}
fclose(f);
}
void alocamapa(MAPA* m) {
m->matriz = (char**) malloc(sizeof(char*) * m->linhas);
for(int i = 0; i < m->linhas; i++) {
m->matriz[i] = (char*) malloc(sizeof(char) * m->colunas + 1);
}
}
void liberamapa(MAPA* m) {
for(int i = 0; i < m->linhas; i++) {
free(m->matriz[i]);
}
free(m->matriz);
}
void imprimemapa(MAPA* m) {
for(int i = 0; i < m->linhas; i++) {
printf("%s\n", m->matriz[i]);
}
}
mapa.h:
struct mapa{
char** matriz;
int linhas;
int colunas;
};
typedef struct mapa MAPA;
void alocamapa(MAPA* m);
void lemapa(MAPA* m);
void liberamapa(MAPA* m);
void imprimemapa(MAPA* m);
mapa.txt:
|--------|
|...|..-.|
|..-|.@..|
|......-.|
|--------|