Skip to content

Commit

Permalink
Adicionados novos comentários e não lembro o que eu fiz mais.
Browse files Browse the repository at this point in the history
  • Loading branch information
williamtorres1 committed Jun 27, 2018
1 parent d309141 commit 1b9e0c0
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 58 deletions.
115 changes: 58 additions & 57 deletions código fonte/jogo do labirinto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,30 +78,26 @@ Necessita de 2 parametros, a mensagem que sera mostrada e a qual jogador ela se
break;
}
case 2:
{ Sleep(500);
printf("\nPlayer %d encontrou uma armadilha",player);
{ printf("\nPlayer %d encontrou uma armadilha",player);
printf("\nPlayer %d perdeu 1 HP(Ponto de vida)\n",player);
Sleep(1500);
Sleep(1000);
break;
}
case 3:
{ printf("Player %d encontrou uma tocha!",player);
Sleep(1000);
break;
}
case 4:
{ Sleep(500);
printf("\nPlayer %d encontrou o tesouro!",player);
printf("\n\n\n\t\t\t*****Player %d encontrou o tesouro!*****",player);
Sleep(500);
system("cls");
printf("Player %d GANHOU!! PARABENSS",player);
printf("\n\n\n\t\t\t*****Player %d GANHOU!! PARABENSS*****",player);
Sleep(1500);
/*int main();
main();*/
system("cls");
break;
}
/*case 5:
{ printf("\n***Player I*** \t\t\t***Player II***\n **HP:%d/5** \t\t\t **HP:%d/5**\n",hp1,hp2);
break;
}*/
}
}

Expand Down Expand Up @@ -219,7 +215,7 @@ Foi criada uma funcao, para os elementos nao alterarem durante a execucao do pro
//where_trap = chance de conter uma armadilha naquele elemento da matriz [i][j]
int tochas=0,num_tocha=0,where_tocha=0;//mesma logica das armadilhas
int ouro=0,where_ouro=0;//ouro = tesouro
//mesma l�gica das armadilhas, mas podendo conter somente um ouro no mapa, e PRECISA TER UM tesouro
//mesma logica das armadilhas, mas podendo conter somente um ouro no mapa, e PRECISA TER UM tesouro
mapa1[1][1]=9;
mapa1[1][10]=9;
mapa1[10][1]=9;
Expand All @@ -238,11 +234,11 @@ Foi criada uma funcao, para os elementos nao alterarem durante a execucao do pro
}while(where_trap>101);
//Quando sortear um valor entre 0 e 100, ir� fazer a an�lise abaixo
//Para uma trap ser colocada em um elemento da matriz, o numero sorteado precisa ser entre 0 e 25
//O numero de traps colocadas n�o deve exceder o numero sorteado de traps
//O numero de traps colocadas nao deve exceder o numero sorteado de traps
if(where_trap <= 25 && where_trap > 0 && trap < num_trap && mapa1[i][j] == 1)
{
//Sendo tudo verdadeiro, colocaremos a tocha naquela posi��o e adicionaremos +1 na variavel trap
//ou seja, o loop n�o precisar� ser realizado mais alguma vez
//Sendo tudo verdadeiro, colocaremos a tocha naquela posicao e adicionaremos +1 na variavel trap
//ou seja, o loop nao precisara ser realizado mais alguma vez
mapa1[i][j]=2;
trap++;
}
Expand All @@ -257,13 +253,13 @@ Foi criada uma funcao, para os elementos nao alterarem durante a execucao do pro
{do //laco para sortear a chance de cair uma tocha num elemento da matriz nao podendo exceder 100
{where_tocha=rand()%101;
}while(where_tocha>101);
/**Quando sortear um valor entre 0 e 100, ir� fazer a an�lise abaixo**/
/**Quando sortear um valor entre 0 e 100, irao fazer a analise abaixo**/
/**Para uma tocha ser colocada em um elemento da matriz, o numero sorteado precisa ser entre 0 e 15
O numero tochas colocadas n�o deve exceder o numero sorteado de tochas
E n�o pode colocar uma tocha se j� colocarmos uma tocha antes naquele local*/
O numero tochas colocadas nao deve exceder o numero sorteado de tochas
E nao pode colocar uma tocha se j� colocarmos uma tocha antes naquele local*/
if(where_tocha <= 15 && where_tocha > 0 && tochas < num_tocha && mapa1[i][j] == 1)
{ /**Sendo tudo verdadeiro, colocaremos a tocha naquela posi��o e adicionaremos +1 na variavel tochas
ou seja, o loop n�o precisar� ser realizado mais alguma vez**/
{ /**Sendo tudo verdadeiro, colocaremos a tocha naquela posicao e adicionaremos +1 na variavel tochas
ou seja, o loop nao precisaria ser realizado mais alguma vez**/
mapa1[i][j]=3;
tochas++;
}
Expand All @@ -290,7 +286,8 @@ void HP_system(int *hp1, int *hp2)
printf("\n***Player I*** \t\t\t***Player II***\n **HP:%d/5** \t\t\t **HP:%d/5**\n",*hp1,*hp2);
}

void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])/** Funcao p/ movimentar o player 1 */
void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])
/** Funcao p/ movimentar o player 1 */
{ //*x, *y Essa variaveis sao as coordenadas do player e serao de extrema importancia para a movimentacao.

/** Estou utilizando ponteiros em x e y, para nao mostrar na tela mais de 1x P1 ou P2(se fosse o caso)
Expand All @@ -303,10 +300,9 @@ void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])/
show_map(mapa1);
HP_system(hp1,hp2);//Sempre ira mostrar quantos pontos de vida(HP) cada jogador possui
printf("Player 1: Eu posso dar %d passos\n",passos);
while(passos > 0 && *ouro != 1 && *hp1 > 0)
while(passos > 0 && *ouro != 1 && *hp1 > 0 && *ouro != 2 && *hp2 > 0)
/** Quando a variavel passos chegar em 0, termina o laco e o termina o turno
Ou se o jogador encontrar o ouro tambem terminara o laco */

{ tecla1=getch();
// Se lembra da variavel que ia pegar w,a,s,d? pronto aqui � onde ela recebe o valor
/******Com o valor adquirido voce tera 4 ifs diferentes, 1 pra cada letra.******/
Expand Down Expand Up @@ -393,7 +389,7 @@ void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])/
if(mapa1[(*x)][(*y)]==4 || mapa1[(*x)][(*y)]==41)
{ mapa1[*x][*y]=44;
mapa1[((*x)-1)][(*y)]=7;
*ouro++;
*ouro=1;
break;
}
if(mapa1[(*x)][(*y)]==6)
Expand Down Expand Up @@ -442,7 +438,7 @@ void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])/
if(mapa1[(*x)][(*y)]==4 || mapa1[(*x)][(*y)]==41)
{ mapa1[*x][*y]=44;
mapa1[((*x))][(*y)+1]=7;
*ouro++;
*ouro=1;
break;
}
if(mapa1[(*x)][(*y)]==6)
Expand All @@ -459,7 +455,7 @@ void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])/
}
}// fim do if esquerda

/* Esse o �ltimo if, aponta para a direita, apenas mexemos no y aumentando-o */
/* Esse eh o ultimo if, aponta para a direita, apenas mexemos no y aumentando-o */
if(tecla1 == 'd' || tecla1 == 'D')
{
(*y)++;
Expand Down Expand Up @@ -489,7 +485,7 @@ void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])/
if(mapa1[(*x)][(*y)]==4 || mapa1[(*x)][(*y)]==41)
{ mapa1[*x][*y]=44;
mapa1[((*x))][(*y)-1]=7;
*ouro++;
*ouro=1;
break;
}
if(mapa1[(*x)][(*y)]==6)
Expand All @@ -507,29 +503,31 @@ void movimentacao1(int *hp1, int *hp2,int *ouro, int *x,int *y,int mapa1[][12])/
}
}
passos--;
//mapa1[init_x][init_y] = 9;//Mostrar sempre a posicao inicial do jogador
show_map(mapa1);//Apos o jogador ter digitado algo, temos que imprimir a matriz novamente
show_map(mapa1);//Apos o jogador ter digitado algo, temos que imprimir a matriz novamente com as modificacoes realizadas - Nova posicao do jogador
HP_system(hp1,hp2);
printf("Player 1 tem mais %d passos...\n",passos);//Mostrar ao jogador quantos passos restantes ele tem
}
}
//system("cls");//Sempre limpar o que estava antes na tela
}

void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/** Funcao p/ movimentar o player 2 */
void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])
/** Funcao p/ movimentar o player 2 */
{ //*x, *y Essa variaveis sao as coordenadas do player e serao de extrema importancia para a movimentacao.
int tecla1=0; // Essa variavel ira receber os valores w,a,s,d para controlar o player 1
int passos=0;//Variavel passos irá armazenar o valor sorteado, e servirá para o controle do laço de repeticao
int tecla1=0; // Essa variavel ira receber os valores 8,4,5,7 para controlar o player 2
int passos=0;/*Variavel passos ira armazenar o valor sorteado, e servira para o controle do laco de repeticao */
sorteio_passos(&passos);
system("cls");
show_map(mapa1);
HP_system(hp1,hp2);//Sempre ira mostrar quantos pontos de vida(HP) cada jogador possui
printf("Player 2: Eu posso dar %d passos\n",passos);
while(passos>0 && *ouro != 2)//Quando chegar em 0, termina o laco e o termina o turno
{ tecla1=getch()-'0';
// Se lembra da vari?vel que ia pegar w,a,s,d? pronto aqui ? onde ela recebe o valor
while(passos > 0 && *ouro != 1 && *hp1 > 0 && *ouro != 2 && *hp2 > 0)
/** Quando a variavel passos chegar em 0, termina o laco e o termina o turno
Ou se o jogador encontrar o ouro tambem terminara o laco */
{
tecla1=getch()-'0';
// Se lembra da variavel que ia pegar w,a,s,d? pronto aqui ? onde ela recebe o valor
/******Com o valor adquirido voc? ter? 4 ifs diferentes 1 pra cada letra.******/
/* Esse ? o if para cima, se queremos que o Player suba devemos mexer no x diminuindo,
/* Esse eh o if para cima, se queremos que o Player suba devemos mexer no x diminuindo,
* pode parecer confuso, ou n, vc ter que diminuir para subir, mas vai fazer sentido
*/
if(tecla1 == 8 || tecla1 == 4 || tecla1 == 5 || tecla1 == 6)
Expand All @@ -551,7 +549,8 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
if(mapa1[(*x)][(*y)]==2)
{ mapa1[*x][*y]=22;
mapa1[((*x)+1)][(*y)]=7;
*hp2--;
*hp2=*hp2-1;
messages(2,2);
}
if(mapa1[(*x)][(*y)]==3)
{ mapa1[*x][*y]=33;
Expand All @@ -576,9 +575,7 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
}
}// fim do if cima

/* Ja esse eh o if para descer, seguindo a mesma l?gica do anterior por?m agora
* aumentando o x
*/
/** Ja esse eh o if para descer, seguindo a mesma logica do anterior porem agora aumentando o x */
if(tecla1 == 5)
{ (*x)++;
if(mapa1[(*x)][(*y)]==0)
Expand All @@ -597,7 +594,8 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
if(mapa1[(*x)][(*y)]==2)
{ mapa1[*x][*y]=22;
mapa1[((*x)-1)][(*y)]=7;
*hp2--;
*hp2=*hp2-1;
messages(2,2);
}
if(mapa1[(*x)][(*y)]==3)
{ mapa1[*x][*y]=33;
Expand All @@ -622,7 +620,7 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
}
}// fim do if baixo

/* Esse eh o if para ir para a esquerda como est?
/* Esse eh o if para ir para a esquerda como esta
* se deslocando na horizontal mexe-se no y, diminuindo
*/
if(tecla1 == 4)
Expand All @@ -644,7 +642,8 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
if(mapa1[(*x)][(*y)]==2)
{ mapa1[*x][*y]=22;
mapa1[((*x))][(*y)+1]=7;
*hp2--;
*hp2=*hp2-1;
messages(2,2);
}
if(mapa1[(*x)][(*y)]==3)
{ mapa1[*x][*y]=33;
Expand All @@ -669,7 +668,7 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
}
}// fim do if esquerda

/* Esse ? o ?ltimo if, aponta para a direita, apenas mexemos no y aumentando-o */
/* Esse eh o ultimo if, aponta para a direita, apenas mexemos no y aumentando-o */
if(tecla1 == 6)
{
(*y)++;
Expand All @@ -689,7 +688,8 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
if(mapa1[(*x)][(*y)]==2)
{ mapa1[*x][*y]=22;
mapa1[((*x))][(*y)-1]=7;
*hp2--;
*hp2=*hp2-1;
messages(2,2);
}
if(mapa1[(*x)][(*y)]==3)
{ mapa1[*x][*y]=33;
Expand All @@ -715,14 +715,11 @@ void movimentacao2(int *hp1,int *hp2, int *ouro, int *x,int *y,int mapa1[][12])/
}
}
passos--;
//mapa1[init_x][init_y] = 9;//Mostrar sempre a posicao inicial do jogador
show_map(mapa1);//Apos o jogador ter digitado algo, temos que imprimir a matriz novamente
HP_system(hp1,hp2);
printf("Player 2 tem mais %d passos...\n",passos);//Mostrar ao jogador quantos passos restantes ele tem
}
}
// system("cls");//Sempre limpar o que estava antes na tela

}

void escolha_player(int player)
Expand Down Expand Up @@ -859,7 +856,9 @@ void map()
{
show_map(mapa1);
movimentacao1(&hp1,&hp2,&ouro,&x,&y,mapa1);
/** enviaremos o endereco das variavel HP para a movimentacao dos dois jogadores */
/** Enviaremos o endereco das variavel HP para a movimentacao dos dois jogadores
** porque precisaremos para mostrar na tela do usuario a quantidade de HP que cada um possui
** com a funcao HP_system() que PRECISA de 2 ponteiros para os HPs */
if(ouro == 1 || hp1 == 0)
break;
movimentacao2(&hp1,&hp2,&ouro,&w,&z,mapa1);
Expand All @@ -876,14 +875,16 @@ void map()

int main()
{
/**srand(time(NULL));//Enquanto o programa não está pronto, deixe esta linha do jeito que está
Esta linha vai deixar os elementos da matriz totalmente aleatórios */
/**srand(time(NULL));//Enquanto o programa nao estiver pronto, deixe esta linha do jeito que esta
Esta linha vai deixar os elementos da matriz totalmente aleatorios */
char user=0;
menu(&user);
if(user == 'a' || user == 'A')
map();
user=='c';
menu(&user);
do
{ fflush(stdin);
system("cls");
menu(&user);
if(user == 'a' || user == 'A')
map();
}while( user != 'c' || user != 'C');
putchar('\n');
system("pause");
return 1;
Expand Down
1 change: 0 additions & 1 deletion código fonte/menu.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,3 @@ void menu(char *user)
}
}
}

0 comments on commit 1b9e0c0

Please sign in to comment.