Labirinto C++
Artigos Científicos: Labirinto C++. Pesquise 862.000+ trabalhos acadêmicosPor: priscila_komeso • 5/10/2014 • 1.555 Palavras (7 Páginas) • 448 Visualizações
/*
Esse é o Labirinto '1.0'
W - Cima
A - Esquerda
S - Baixo
D - Direita
Q - Sair
Como todo bom labirinto , esse pode gerar mapas em que você fica impossibilitado de Chegar Até o # (O Boneco é o @)
Definições
Parede = (=)(Você Não Pode Passar );
Grama = (.)(Você Pode Passar);
Chao = (Espaço em Branco) (Você Pode Passar)
A Biblioteca <graphics.h> aqui foi usado apenas para o getch();, mas caso voces nao tenham , apenas modique de getch(); para getchar();
Versão 1.0 ; Versão 2.0 Com o Uso Das Setas do Teclado (Ou Não ...)
*/
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#include <time.h>
/* Definicoes, para facilitar o uso da funcao para desenhar o mapa */
#define CHAO 0
#define PAREDE 1
#define VOCE 2
#define GRAMA 3
#define SAIDA 4
#define ACIMA 119
#define ABAIXO 115
#define DIREITA 100
#define ESQUERDA 97
#define Q 113
/*Outras definições para tratamento de erros*/
#define OK 1
#define ERRO 2
int coluna_atual = 1,
linha_atual = 1,
coluna_atual2 = 1,
linha_atual2 = 1;
int key,passos;
/* O Mapa */
int mapa[10][20] = {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,};
void gera_mapa( )
{
int m, n;
for (m = 0; m < 10;m++)
{
for (n = 0;n<20;n++)
{
if (mapa[m][n] == 0)
{
mapa[m][n] = rand() % 4;
if (mapa[m][n] == 2)
{
mapa[m][n] = 0;
}
}
}
}
mapa[9][18] = 4;
}
int desenhar_mapa()
{
int linha,coluna;
for (linha=0;linha<10;linha++) {
for (coluna=0;coluna<20;coluna++) {
if ((linha == linha_atual) && (coluna == coluna_atual)) {
printf("&");
continue;
}
if (mapa[linha][coluna] == CHAO)
printf(" ");
if (mapa[linha][coluna] == PAREDE)
printf("©");
if (mapa[linha][coluna] == GRAMA)
printf(".");
if (mapa[linha][coluna] == SAIDA)
printf("#");
}
printf("\n");
}
return
...