diff --git "a/c\303\263digo fonte/mov1.h" "b/c\303\263digo fonte/mov1.h" index 07f30b5..4b6e93e 100644 --- "a/c\303\263digo fonte/mov1.h" +++ "b/c\303\263digo fonte/mov1.h" @@ -11,7 +11,7 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func * Isso estava acontecendo quando, ao terminar os passos do jogador I, depois os passos do jogador II. * Ao voltar para esse procedimento, estava atualizando a posicao do jogador, e mostrando 2 P1 no mesmo mapa,o que nao eh o objetivo */ char tecla1=0; // Essa variavel ira receber os valores w,a,s,d para controlar o player 1 - int passos=0,passos_andados=0;/*Variavel passos ira armazenar o valor sorteado, e servira para o controle do laco de repeticao */ + int passos=0;/*Variavel passos ira armazenar o valor sorteado, e servira para o controle do laco de repeticao */ sorteio_passos(&passos);//Sorteio de quantos passos poderao ser dados pelo jogador - sempre de 3 a 10 mapa1[init_x][init_y]=5; show_map(mapa1); @@ -19,9 +19,9 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func printf("Player 1: Eu posso dar %d passos\n",passos); while(passos>0)//Quando chegar em 0, termina o laco e o termina o turno { tecla1=getch(); - // Se lembra da vari?vel 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, + // Se lembra da vari�vel 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, * pode parecer confuso, ou n, vc ter que diminuir para subir, mas vai fazer sentido */ if(tecla1 == 'w' || tecla1 == 'W' || tecla1 == 's' || tecla1 == 'S' || tecla1 == 'a' || tecla1 == 'A' || tecla1 == 'd' || tecla1 == 'D') @@ -31,6 +31,11 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func { (*x)++; passos++;//Tentativa de fazer com que o jogador nao perca nenhum passo ao ir para a parede, nao testei ainda } + if(mapa1[(*x)+1][(*y)]==10) + { + mapa1[(*x)][(*y)]=5; + mapa1[((*x)+1)][(*y)]=6; + } if(mapa1[(*x)][(*y)]==1) { mapa1[*x][*y]=5; mapa1[((*x)+1)][(*y)]=7; @@ -59,21 +64,22 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func { mapa1[*x][*y]=5; mapa1[((*x)+1)][(*y)]=7; } - if(mapa1[(*x)][(*y)]==10) - { - mapa1[(*x)][(*y)]=5; - mapa1[((*x)+1)][(*y)]=6; - } + }// fim do if cima - /* Ja esse eh o if para descer, seguindo a mesma l?gica do anterior por?m agora + /* Ja esse eh o if para descer, seguindo a mesma l�gica do anterior por�m agora * aumentando o x */ if(tecla1 == 's' || tecla1 == 'S') { (*x)++; - if(mapa1[(*x)][(*y)]==8) - { (*x)--; - passos++; + if(mapa1[(*x)][(*y)]==0) + { passos++; + (*x)--; + } + if(mapa1[(*x)-1][(*y)]==10) + { + mapa1[(*x)][(*y)]=5; + mapa1[((*x)-1)][(*y)]=6; } if(mapa1[(*x)][(*y)]==1) { mapa1[*x][*y]=5; @@ -103,14 +109,9 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func { mapa1[*x][*y]=5; mapa1[((*x)-1)][(*y)]=7; } - if(mapa1[(*x)][(*y)]==10) - { - mapa1[(*x)][(*y)]=5; - mapa1[((*x)-1)][(*y)]=6; - } }// 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 est� * se deslocando na horizontal mexe-se no y, diminuindo */ if(tecla1 == 'a' || tecla1 == 'A') @@ -120,6 +121,11 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func { (*y)++; passos++; } + if(mapa1[(*x)][(*y)+1]==10) + { + mapa1[(*x)][(*y)]=5; + mapa1[((*x))][(*y)+1]=6; + } if(mapa1[(*x)][(*y)]==1) { mapa1[*x][*y]=5; mapa1[((*x))][(*y)+1]=7; @@ -148,29 +154,28 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func { mapa1[*x][*y]=5; mapa1[((*x))][(*y)+1]=7; } - if(mapa1[(*x)][(*y)]==10) - { - mapa1[(*x)][(*y)]=5; - mapa1[((*x))][(*y)+1]=6; - } }// fim do if esquerda - /* Esse ? o ?ltimo if, aponta para a direita, apenas mexemos no y aumentando-o */ + /* Esse � o �ltimo if, aponta para a direita, apenas mexemos no y aumentando-o */ if(tecla1 == 'd' || tecla1 == 'D') + { + (*y)++; + if(mapa1[(*x)][(*y)]==0) + { (*y)--; + passos++; + } + if(mapa1[(*x)][(*y)-1]==10) { - (*y)++; - if(mapa1[(*x)][(*y)]==0) - { (*y)--; - passos++; - } - if(mapa1[(*x)][(*y)]==1) - { mapa1[*x][*y]=5; - mapa1[((*x))][(*y)-1]=7; - } - if(mapa1[(*x)][(*y)]==2) - { mapa1[*x][*y]=22; - mapa1[((*x))][(*y)-1]=7; - messages(2,1); + mapa1[(*x)][(*y)]=5; + mapa1[((*x))][(*y)-1]=6; + } + if(mapa1[(*x)][(*y)]==1) + { mapa1[*x][*y]=5; + mapa1[((*x))][(*y)-1]=7; + } + if(mapa1[(*x)][(*y)]==2) + { mapa1[*x][*y]=22; + mapa1[((*x))][(*y)-1]=7; } if(mapa1[(*x)][(*y)]==3) { mapa1[*x][*y]=33; @@ -193,11 +198,6 @@ void movimentacao1(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func { mapa1[*x][*y]=5; mapa1[((*x))][(*y)-1]=7; } - if(mapa1[(*x)][(*y)]==10) - { - mapa1[(*x)][(*y)]=5; - mapa1[((*x))][(*y)-1]=6; - } } passos--; mapa1[init_x][init_y] = 9;//Mostrar sempre a posicao inicial do jogador diff --git "a/c\303\263digo fonte/mov2.h" "b/c\303\263digo fonte/mov2.h" index fa45222..d8b4bf5 100644 --- "a/c\303\263digo fonte/mov2.h" +++ "b/c\303\263digo fonte/mov2.h" @@ -8,172 +8,172 @@ void sorteio_passos(int *passos);/**Funcao p/ sortear quantos passos serao reali void movimentacao2(int init_x,int init_y, 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,passos_andados=0;//Variavel passos_andados irá armazenar cada passo realizado pelo jogador até chegar no valor sorteado + int passos=0;//Variavel passos_andados irá armazenar cada passo realizado pelo jogador até chegar no valor sorteado //Variavel passos irá armazenar o valor sorteado, e servirá para o controle do laço de repeticao sorteio_passos(&passos); system("cls"); - mapa1[init_x][init_y]=9; + mapa1[init_x][init_y]=6; show_map(mapa1); messages(7,2); printf("Player 2: Eu posso dar %d passos\n",passos); - while(passos>passos_andados) - { - tecla1=getch()-'0'; - // Se lembra da variável 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, + while(passos>0)//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 + /******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, * pode parecer confuso, ou n, vc ter que diminuir para subir, mas vai fazer sentido */ - if(tecla1 == 8 || tecla1 == 4 || tecla1 == 5 || tecla1 == 6) - { if(tecla1 == 8) - { (*x)--; - if(mapa1[(*x)][(*y)]==0) - (*x)++; - if(mapa1[(*x)][(*y)]==1) - { mapa1[*x][*y]=6; - mapa1[((*x)+1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==2) - { mapa1[*x][*y]=22; - mapa1[((*x)+1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==3) - { mapa1[*x][*y]=33; - mapa1[((*x)+1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==4) - { mapa1[*x][*y]=44; - mapa1[((*x)+1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==5) - { mapa1[*x][*y]=10; - mapa1[((*x)+1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==7) - { mapa1[*x][*y]=6; - mapa1[((*x)+1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==9) - { mapa1[*x][*y]=6; - mapa1[((*x)+1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==10) - { - mapa1[(*x)][(*y)]=6; - mapa1[((*x)+1)][(*y)]=5; - } - }// fim do if cima + if(tecla1 == 8 || tecla1 == 4 || tecla1 == 5 || tecla1 == 6) + { if(tecla1 == 8) + { (*x)--; + if(mapa1[(*x)][(*y)]==0) + { (*x)++; + passos++;//Tentativa de fazer com que o jogador nao perca nenhum passo ao ir para a parede, nao testei ainda + } + if(mapa1[((*x)+1)][(*y)]==10) + { + mapa1[(*x)][(*y)]=6; + mapa1[((*x)+1)][(*y)]=5; + } + if(mapa1[(*x)][(*y)]==1) + { mapa1[*x][*y]=6; + mapa1[((*x)+1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==2) + { mapa1[*x][*y]=22; + mapa1[((*x)+1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==3) + { mapa1[*x][*y]=33; + mapa1[((*x)+1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==4) + { mapa1[*x][*y]=44; + mapa1[((*x)+1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==5) + { mapa1[*x][*y]=10; + mapa1[((*x)+1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==7) + { mapa1[*x][*y]=6; + mapa1[((*x)+1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==9) + { mapa1[*x][*y]=6; + mapa1[((*x)+1)][(*y)]=7; + } + }// fim do if cima - /* Já esse é o if para descer, seguindo a mesma lógica do anterior porém agora + /* Ja esse eh o if para descer, seguindo a mesma l?gica do anterior por?m agora * aumentando o x - */if(tecla1 == 4) - { if(mapa1[(*x)][(*y)]==10) - { mapa1[(*x)][(*y)]=6; - mapa1[((*x))][(*y)-1]=5; - } - (*y)--; - if(mapa1[(*x)][(*y)]==0) - { (*y)++; - passos++; - } - if(mapa1[(*x)][(*y)]==1) - { mapa1[*x][*y]=6; - mapa1[((*x))][(*y)+1]=7; - } - if(mapa1[(*x)][(*y)]==2) - { mapa1[*x][*y]=22; - mapa1[((*x))][(*y)+1]=7; - } - if(mapa1[(*x)][(*y)]==3) - { mapa1[*x][*y]=33; - mapa1[((*x))][(*y)+1]=7; - } - if(mapa1[(*x)][(*y)]==4) - { mapa1[*x][*y]=44; - mapa1[((*x))][(*y)+1]=7; - } - if(mapa1[(*x)][(*y)]==5) - { mapa1[*x][*y]=10; - mapa1[((*x))][(*y)+1]=7; - } - if(mapa1[*x][*y]==7) - { mapa1[*x][*y]=6; - mapa1[*x][(*y)+1]=7; - } - if(mapa1[(*x)][(*y)]==9) - { mapa1[*x][*y]=6; - mapa1[((*x))][(*y)+1]=7; - }/* - if(mapa1[(*x)][(*y)]==10) - { - mapa1[(*x)][(*y)]=6; - mapa1[((*x))][(*y)+1]=5; - }*/ - }// fim do if baixo + */ + if(tecla1 == 5) + { (*x)++; + if(mapa1[(*x)][(*y)]==8) + { (*x)--; + passos++; + } + if(mapa1[((*x)-1)][(*y)]==10) + { + mapa1[(*x)][(*y)]=6; + mapa1[((*x)-1)][(*y)]=5; + } + if(mapa1[(*x)][(*y)]==1) + { mapa1[*x][*y]=6; + mapa1[((*x)-1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==2) + { mapa1[*x][*y]=22; + mapa1[((*x)-1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==3) + { mapa1[*x][*y]=33; + mapa1[((*x)-1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==4) + { mapa1[*x][*y]=44; + mapa1[((*x)-1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==5) + { mapa1[*x][*y]=10; + mapa1[((*x)-1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==7) + { mapa1[*x][*y]=6; + mapa1[((*x)-1)][(*y)]=7; + } + if(mapa1[(*x)][(*y)]==9) + { mapa1[*x][*y]=6; + mapa1[((*x)-1)][(*y)]=7; + } + }// fim do if baixo - /* Esse é o if para ir para a esquerda como está + /* Esse eh o if para ir para a esquerda como est? * se deslocando na horizontal mexe-se no y, diminuindo */ - if(tecla1 == 5) - { - (*x)++; - if(mapa1[(*x)][(*y)]==8) - {(*x)--; - } - if(mapa1[(*x)][(*y)]==1) - { mapa1[*x][*y]=6; - mapa1[((*x)-1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==2) - { mapa1[*x][*y]=22; - mapa1[((*x)-1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==3) - { mapa1[*x][*y]=33; - mapa1[((*x)-1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==4) - { mapa1[*x][*y]=44; - mapa1[((*x)-1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==5) - { mapa1[*x][*y]=10; - mapa1[((*x)-1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==7) - { mapa1[*x][*y]=6; - mapa1[((*x)-1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==9) - { mapa1[*x][*y]=6; - mapa1[((*x)-1)][(*y)]=7; - } - if(mapa1[(*x)][(*y)]==10) + if(tecla1 == 4) { - mapa1[(*x)][(*y)]=6; - mapa1[((*x)-1)][(*y)]=5; - } - }// fim do if esquerda + (*y)--; + if(mapa1[(*x)][(*y)]==0) + { (*y)++; + passos++; + } + if(mapa1[(*x)][(*y)+1]==10) + { + mapa1[(*x)][(*y)]=6; + mapa1[((*x))][(*y)+1]=5; + } + if(mapa1[(*x)][(*y)]==1) + { mapa1[*x][*y]=6; + mapa1[((*x))][(*y)+1]=7; + } + if(mapa1[(*x)][(*y)]==2) + { mapa1[*x][*y]=22; + mapa1[((*x))][(*y)+1]=7; + } + if(mapa1[(*x)][(*y)]==3) + { mapa1[*x][*y]=33; + mapa1[((*x))][(*y)+1]=7; + } + if(mapa1[(*x)][(*y)]==4) + { mapa1[*x][*y]=44; + mapa1[((*x))][(*y)+1]=7; + } + if(mapa1[(*x)][(*y)]==5) + { mapa1[*x][*y]=10; + mapa1[((*x))][(*y)+1]=7; + } + if(mapa1[*x][*y]==7) + { mapa1[*x][*y]=6; + mapa1[*x][(*y)+1]=7; + } + if(mapa1[(*x)][(*y)]==9) + { mapa1[*x][*y]=6; + mapa1[((*x))][(*y)+1]=7; + } + }// fim do if esquerda - /* Esse é o último if, aponta para a direita, apenas mexemos no y aumentando-o */ - if(tecla1 == 6) - { - (*y)++; - if(mapa1[(*x)][(*y)]==0) - { (*y)--; - } - if(mapa1[(*x)][(*y)]==10) + /* Esse ? o ?ltimo if, aponta para a direita, apenas mexemos no y aumentando-o */ + if(tecla1 == 6) { - mapa1[(*x)][(*y)]=6; - mapa1[((*x))][(*y)-1]=5; - } - if(mapa1[(*x)][(*y)]==1) - { mapa1[*x][*y]=6; - mapa1[((*x))][(*y)-1]=7; - } - if(mapa1[(*x)][(*y)]==2) - { mapa1[*x][*y]=22; - mapa1[((*x))][(*y)-1]=7; + (*y)++; + if(mapa1[(*x)][(*y)]==0) + { (*y)--; + passos++; + } + if(mapa1[((*x))][(*y)-1]==10) + { + mapa1[(*x)][(*y)]=6; + mapa1[((*x))][(*y)-1]=5; + } + if(mapa1[(*x)][(*y)]==1) + { mapa1[*x][*y]=6; + mapa1[((*x))][(*y)-1]=7; + } + if(mapa1[(*x)][(*y)]==2) + { mapa1[*x][*y]=22; + mapa1[((*x))][(*y)-1]=7; } if(mapa1[(*x)][(*y)]==3) { mapa1[*x][*y]=33; @@ -189,24 +189,22 @@ void movimentacao2(int init_x,int init_y, int *x,int *y,int mapa1[][12])/** Func } if(mapa1[(*x)][(*y)]==7) { - mapa1[(*x)][(*y)]=6; + mapa1[(*x)][(*y)]=5; mapa1[(*x)][(*y)-1]=7; } if(mapa1[(*x)][(*y)]==9) - { mapa1[*x][*y]=6; + { mapa1[*x][*y]=5; mapa1[((*x))][(*y)-1]=7; } - /* if(mapa1[(*x)][(*y)]==10) - { - mapa1[(*x)][(*y)]=6; - mapa1[((*x))][(*y)-1]=5; - }*/ - } + } 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 - messages(7,1); + //messages(); 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 + }