Advertisement
ferldb

Velha.c

Nov 22nd, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.83 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. char velha[3][3];
  5.  
  6. int menu(char dificuldade, char nome1[20],char nome2[20]){
  7.     int oponente;
  8.     do{
  9.         printf("Escolha como deseja jogar: \n");
  10.         printf("1 - Jogar contra o computador\n");
  11.         printf("2 - Jogar contra outro jogador\n");
  12.         printf("Escolha: ");
  13.         scanf("%d%*c",&oponente);
  14.         printf("Insira o nome do primeiro jogador: ");
  15.         scanf("%s",nome1);
  16.         scanf("%*c");
  17.         if (oponente == 2){
  18.             printf("Insira o nome do segundo jogador: ");
  19.             scanf("%s",nome2);
  20.             scanf("%*c");
  21.         }
  22.     }while(oponente != 1 && oponente !=2);
  23.     system("cls");
  24.     if (oponente == 1){
  25.     do{
  26.         printf("Escolha a dificuldade: \n");
  27.         printf("B - Basico\n");
  28.         printf("I - Intermediario\n");
  29.         printf("A - Avancado\n");
  30.         printf("Escolha: ");
  31.         scanf("%c%*c",&dificuldade);
  32.         dificuldade =toupper(dificuldade);
  33.     }while(dificuldade != 'B' && dificuldade != 'I' && dificuldade != 'A');
  34.     system("cls");
  35. }
  36. }
  37.  
  38.  
  39.  
  40. void inicializa_velha(){
  41.     int i,j;
  42.     for (i=0;i<3;i++){
  43.         for(j=0;j<3;j++){
  44.             velha[i][j] = ' ';
  45.         }
  46.     }    
  47. }
  48.  
  49. int jogada_usuario(int lin,int col,char jog){
  50.     int i,j;
  51.    
  52.     if(velha[lin-1][col-1] == 'X' || velha[lin-1][col-1] == 'O'){
  53.         return 2;
  54.     }else if(lin > 3 || col >3 ){
  55.         return 1;
  56.     }
  57.     else{
  58.     velha[lin-1][col-1] = jog;
  59.     return 0;
  60.     }    
  61. }
  62.  
  63.  
  64. void escolha_simb(char *jog1, char *jog2){
  65.    
  66.     char fsymb;
  67.     do    {
  68.     printf("Escolha o simbolo: X ou O\n");
  69.     scanf("%c%*c",&fsymb);
  70.     fsymb=toupper(fsymb);
  71.     } while (fsymb!='X' && fsymb!='O');
  72.     if (fsymb=='X'){
  73.         *jog1='X';
  74.         *jog2='O';    
  75.            
  76.     }    else if    (fsymb=='O'){
  77.         *jog1='O';
  78.         *jog2='X';
  79.     }
  80.        
  81.    
  82. }
  83.  
  84.  int verifica_ganhador(char jog){
  85.      
  86.     if (velha[0][0]==jog && velha[0][1]==jog && velha[0][2] == jog)
  87.         return 1;
  88.  
  89.     else if (velha[1][0]==jog && velha[1][1]==jog && velha[1][2] == jog)
  90.         return 1;
  91.  
  92.     else if (velha[2][0]==jog && velha[2][1]==jog && velha[2][2] == jog)
  93.         return 1;
  94.  
  95.     else if (velha[0][0]==jog && velha[1][0]==jog && velha[2][0] == jog)
  96.         return 1;
  97.  
  98.     else if (velha[0][1]==jog && velha[1][1]==jog && velha[2][1] == jog)
  99.         return 1;
  100.  
  101.     else if (velha[0][2]==jog && velha[1][2]==jog && velha[2][2] == jog)
  102.         return 1;
  103.  
  104.     else if (velha[0][0]==jog && velha[1][1]==jog && velha[2][2] == jog)
  105.         return 1;
  106.  
  107.     else if (velha[0][2]==jog && velha[1][1]==jog && velha[2][0] == jog)        
  108.         return 1;
  109.  
  110.     else {
  111.         return 0;
  112.     }
  113.        
  114.  }
  115.  
  116. void main(){
  117.     char nome1[20],nome2[20];
  118.     int lin,col,i,j,ganhador=0,validar,oponente;
  119.     char jog,jog1,jog2,dificuldade;
  120.     oponente = menu(dificuldade,nome1,nome2);
  121.     inicializa_velha();
  122.     escolha_simb(&jog1,&jog2);
  123.     jog = jog1;
  124.    
  125.     do{
  126.         printf("Escolha uma linha: ");
  127.         scanf("%d",&lin);
  128.         printf("Escolha uma coluna: ");
  129.         scanf("%d",&col);
  130.         validar = jogada_usuario(lin,col,jog);
  131.             system("cls");
  132.         if(validar == 1){
  133.             printf("Posicao informada e invalida!!\n");
  134.         }
  135.         if(validar == 2){
  136.             printf("Posicao informada ja preenchida!!\n");
  137.         }
  138.         ganhador = verifica_ganhador(jog);
  139.         if(oponente == 2 && validar == 0){
  140.             if (jog == 'X'){
  141.                 jog = 'O';
  142.             }
  143.             else{
  144.                 jog = 'X';
  145.             }
  146.         }
  147.         for (i=0;i<3;i++){
  148.         for(j=0;j<3;j++){
  149.             printf("%c",velha[i][j]);
  150.         }
  151.         printf("\n---\n");
  152.     }
  153.     }while (ganhador != 1);
  154.     printf("O jogo acabou!!!!!!!");
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement