#include <stdio.h>
#include <stdlib.h>
// função tem TIPO DE RETORNO, NOME, PARAMETROS, CORPO
// void: tipo sem retorno
// gerarMapa: nome
// mapa, x, y: parametros separados por virgula
void gerarMapa(char mapa[10][10], int x, int y);
void imprimirMapa(char mapa[10][10]);
void comandarHeroi(char mapa[10][10], int *x, int *y);
void limparTela();
main() {
// variavel do mapa (matriz de caracteres)
char mapa[10][10];
// posicao do heroi
int horizontal = 4;
int vertical = 0;
int moedas = 0;
gerarMapa(mapa, horizontal, vertical);
while(true) {
imprimirMapa(mapa);
comandarHeroi(mapa, &horizontal, &vertical);
limparTela();
}
}
// preenche o mapa com traços
void gerarMapa(char mapa[10][10], int x, int y) {
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
mapa[i][j] = '-';
}
}
// insere o heroi no mapa
mapa[x][y] = 'J';
}
// imprime o mapa
void imprimirMapa(char mapa[10][10]) {
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
printf("%c", mapa[i][j]);
}
printf("\n");
}
}
void comandarHeroi(char mapa[10][10], int *x, int *y) {
// insere o comando de andar do heroi (W A S D)
char comando;
scanf("%c", &comando);
// remove a posicao do heroi
mapa[*x][*y] = '-';
// move o heroi
if(comando == 'w' && *x > 0) {
*x = *x - 1;
} else if(comando == 's' && *x < 9) {
*x = *x + 1;
} else if(comando == 'a' && *y > 0) {
*y = *y - 1;
} else if(comando == 'd' && *y < 9) {
*y = *y + 1;
} else if(comando == 'q') {
exit(0);
}
// atualiza a posicao do heroi
mapa[*x][*y] = 'J';
}
// limpa a tela (deleta o mapa anterior)
void limparTela() {
system("cls");
}
adicionar 5 moedas ao mapa, e um contador, ao pegar todas as moedas o jogo aca