segunda-feira, 18 de junho de 2012

JOGO DA VELHA


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define C 72
#define B 80
#define D 77
#define E 75
#define ESC 27
#define ENTER 13
main(){
       int cont,i,j,l,m;
       char jogo[18][36];
       char opc[4];
       opc[0]=0;
       cont=1;
       int a,b,c;
       int k,w,y,t,x;
       a=4;
       b=9;
       c=0;
       k=0;
       w=0;
       y=0;
       t=0;
       x=1;
       printf("\t******************************\n");
       printf("\t*        JOGO DA VELHA       *\n");
       printf("\t*                            *\n");
       printf("\t*          X|O|X             *\n");
       printf("\t*          O|X|O             *\n");
       printf("\t*          x|O|X             *\n");
       printf("\t*                            *\n");
       printf("\t*           CWS              *\n");
       printf("\t******************************\n\n");
       printf("\tJOGADOR 1 = O\n\tJOGADOR 2 = X\n\n");
       system("pause");
       system("cls");
       //FAZ O JOGO
       while(opc[0]!=ESC){
                          //DESENHA O JOGO
       for(i=0;i<17;i++){
              for(j=0;j<32;j++){
                                if(i==5|j==10|i==11|j==21)jogo[i][j]='#';
                                     else{if (jogo[i][j]!='X'&&jogo[i][j]!='O')jogo[i][j]=' ';jogo[3][20]=' ';jogo[6][22]=' ';jogo[4][0]=' ';}
                                if(i==a && j<b && j>c)jogo[i][j]='_';
                                }
                         }
           
                         //REALMENTE DESENHA O JOGO
       for(i=0;i<17;i++){
                         for(j=0;j<32;j++){printf("%c",jogo[i][j]);}printf("\n");}
                                //LENDO AS POSIÇÕES DO CURSOR
                          printf("JOGADOR %d\n",x);
                          opc[0]=getch();
                          if(opc[0]!=C){
                          if(opc[0]==D){b=b+11;c=c+11;}
                          if(opc[0]==E){b=b-11;c=c-11;}
                          if(opc[0]==B){a=a+6;}
                          if(a>16|b>31|c>22|c<0){a=4;b=9;c=0;}}
                          else{a=a-6;if(a<4|c<0){a=4;b=9;c=0;}}
                         
                          k=a-4;
                          w=a+1;
                          y=b+1;
                          //SE O USUARIO TECLAR PARA PREENCHER
                          if(opc[0]==ENTER){
                                            for(l=k;l<w;l++){
                                            for(m=c;m<y;m++){
                                           
                                            if(cont%2==0){
                                            x=2;
                                            if(jogo[l][m]=='O'){t=2;cont--;break;}
                                            else{
                                            if(jogo[l][m]=='X'){t=2;cont++;break;}}
                                            if(l==a-1&&m>c&&m<c+3)jogo[l][m]='X';
                                            if(l==a-1&&m>c+6&&m<b)jogo[l][m]='X';
                                            if(l==a-2&&m>c+2&&m<c+7)jogo[l][m]='X';
                                            if(l==a-3&&m>c&&m<c+3)jogo[l][m]='X';
                                            if(l==a-3&&m>c+6&&m<b)jogo[l][m]='X';
                                            }                                
                                            else{
                                                 x=1;
                                            if(jogo[l][m]=='X'){t=2;cont--;break;}
                                            else{
                                            if(jogo[l][m]=='O'){t=2;cont++;break;}}
                                            if(l==a-1&&m>c&&m<b)jogo[l][m]='O';
                                            if(l==a-3&&m>c&&m<b)jogo[l][m]='O';
                                            if(l==a-2&&m==b-8&&t!=2)jogo[l][m]='O';
                                            if(l==a-2&&m>c+7&&m<b)jogo[l][m]='O';          
                                            }
                                            }
                                            }
                          if(jogo[1][1]!=' '&&jogo[1][1]==jogo[1][12]&&jogo[1][23]==jogo[1][1])opc[0]=27;
                          if(jogo[1][1]!=' '&&jogo[1][1]==jogo[7][12]&&jogo[1][1]==jogo[13][23])opc[0]=27;
                          if(jogo[7][1]!=' '&&jogo[7][1]==jogo[7][12]&&jogo[7][1]==jogo[7][23])opc[0]=27;
                          if(jogo[13][1]!=' '&&jogo[13][1]==jogo[13][12]&&jogo[13][1]==jogo[13][23])opc[0]=27;
                          if(jogo[1][1]!=' '&&jogo[1][1]==jogo[7][1]&&jogo[7][1]==jogo[13][1])opc[0]=27;
                          if(jogo[1][23]!=' '&&jogo[1][23]==jogo[7][12]&&jogo[1][23]==jogo[13][1])opc[0]=27;
                          if(jogo[1][23]!=' '&&jogo[1][23]==jogo[7][23]&&jogo[1][23]==jogo[13][23])opc[0]=27;
                          if(jogo[1][12]!=' '&&jogo[1][12]==jogo[7][12]&&jogo[1][12]==jogo[13][12])opc[0]=27;
                          t=0;
                          cont++;}            
                          system("cls");
              }
       for(i=0;i<17;i++){
                         for(j=0;j<32;j++){printf("%c",jogo[i][j]);}printf("\n");}
       printf("\n\n\n\n\t PARABENS JOGADOR %d\n",x);
       printf("\t VOCE VENCEU!!! \\o/\n\n");
       system ("pause");
       }

2 comentários:

  1. é muito bom este artigo, acessem tambem o http://novojeitonerd.blogspot.com.br/2013/12/jogo-da-velha-em-cc_24.html, tem uma explicação muito completa

    ResponderExcluir