Advertisement
Guest User

Jogo da Velha - Manutencao

a guest
Sep 8th, 2015
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.86 KB | None | 0 0
  1. /*
  2. JOGO DA VELHA
  3.  
  4. Criado por: Héllio Almeida de Oliveira.
  5. Data: 06/09/2015.
  6.  
  7. Ultima modificacao: 08/09/2015
  8. */
  9.  
  10. // Melhoras no jogo virao!
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14.  
  15. /* Declarando variaveis globais */
  16.  
  17. /* inteiros */
  18. x = 1, voltar = 1, vez = 1, cond = 1, // voltar => condicao "while" para else em inciciar(); "cond" tem funcao parecida, mas no escopo de main ();
  19. i = 0, j = 0, // i = linha. j = coluna.
  20. jogador, jogar, y, // y servira para idenficar jogador 1 e jogador 2 (player1, player2)
  21.  
  22. /* caracteres */
  23. TABULEIRO [4][4], xbolinha, c[10],
  24. player1[15], player2[15];
  25.  
  26. int main ()
  27. {  
  28.     iniciar ();
  29.     while (cond == 1)
  30.     {
  31.         tabuleiro ();
  32.         system ("cls");
  33.         printf ("\tJOGO DA VELHA\n");
  34.         printf ("|%c|%c|%c|\n", TABULEIRO[1][1], TABULEIRO[1][2], TABULEIRO[1][3]);
  35.         printf ("|%c|%c|%c|\n", TABULEIRO[2][1], TABULEIRO[2][2], TABULEIRO[2][3]);
  36.         printf ("|%c|%c|%c|\n", TABULEIRO[3][1], TABULEIRO[3][2], TABULEIRO[3][3]);
  37.        
  38.         if (VENCEDOR() == 0)
  39.         {
  40.             getch ();
  41.             return 0;
  42.         }
  43.         vez++;
  44.        
  45.         VezDeQuem();
  46.         //do {
  47.        
  48.         if (y == 1)
  49.         printf ("\n    %s\n", player1);
  50.        
  51.         else
  52.         printf ("\n    %s\n", player2);
  53.        
  54.         printf ("Linha: ");
  55.         fflush (stdin);
  56.         scanf ("%d", &i);
  57.        
  58.         printf ("Coluna: ");
  59.         fflush (stdin);
  60.         scanf ("%d", &j);
  61.        
  62.         /*if (TABULEIRO[i][j] != 0) // É necessario ajustar esse teste
  63.         {
  64.             printf ("\nEsta posicao ja esta preenchida! Escolha outra!");
  65.             x == 0;
  66.             getch ();
  67.             !tabuleiro();
  68.         }}*/
  69.        
  70.         //while (x == 0);
  71.     }
  72. }
  73.  
  74. int iniciar()
  75. {
  76.     printf ("\tJOGO DA VELHA\n");
  77.     printf ("1 - Jogar!\n0 - Sair!\n");
  78.    
  79.     while (voltar == 1){
  80.     scanf ("%d", &jogar);
  81.    
  82.     if (jogar == 1)
  83.     {
  84.         printf ("Jogador 1: ");
  85.         fflush (stdin);
  86.         gets (player1);
  87.        
  88.         printf ("Jogador 2: ");
  89.         gets (player2);
  90.  
  91.         system ("cls");
  92.         voltar = 0;
  93.     }
  94.        
  95.     else if (jogar == 0)
  96.     {
  97.         cond = 0;
  98.         voltar = 0;
  99.     }
  100.  
  101.     else
  102.     {
  103.         printf ("\nDigite uma opcao valida!\n");
  104.     }}
  105. }
  106.  
  107. int tabuleiro ()
  108. {
  109.     for (c[0] = 1; c[0] <= 3; c[0]++)
  110.     {
  111.         printf ("\n");
  112.         for (c[1] = 1; c[1] <= 3; c[1]++)
  113.         {
  114.             printf ("|");
  115.             if (c[0] == i && c[1] == j)
  116.             {  
  117.                 TABULEIRO[i][j] = xbolinha;
  118.                 printf ("%c", TABULEIRO[i][j]);
  119.             }
  120.             else
  121.             printf (" ");
  122.         }
  123.         printf ("|");
  124.     }
  125.     /* O vetor c[] é tambem as linhas e colunas,
  126.     porém quando coincide um i e um j, imprime na posição da matriz a letra correspondente.*/
  127. }
  128.  
  129. int VezDeQuem()
  130. {
  131.     if (vez % 2 == 0)
  132.     {
  133.         y = 1;
  134.         jogador = 1;
  135.     }
  136.    
  137.     else
  138.     {
  139.         y = 2;
  140.         jogador = 2;
  141.     }
  142.    
  143.     if (jogador == 1)
  144.     {
  145.         xbolinha = 'X';
  146.     }
  147.    
  148.     else if (jogador == 2)
  149.     {
  150.         xbolinha = 'O';
  151.     }
  152. }
  153.  
  154. int VENCEDOR()
  155. /* Condição de vitória e empate, e saber quem venceu o jogo*/
  156.  
  157. {
  158.     if (TABULEIRO[1][1] == TABULEIRO[1][2] && TABULEIRO[1][1] == TABULEIRO[1][3] && TABULEIRO[1][3]!=0)
  159.     {
  160.         if (y == 1){
  161.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  162.        
  163.         else
  164.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  165.     }
  166.    
  167.     else if (TABULEIRO[1][1] == TABULEIRO[2][1] && TABULEIRO[1][1] == TABULEIRO[3][1] && TABULEIRO[3][1]!=0)
  168.     {
  169.         if (y == 1){
  170.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  171.        
  172.         else
  173.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  174.     }
  175.    
  176.     else if (TABULEIRO[1][2] == TABULEIRO[2][2] && TABULEIRO[1][2] == TABULEIRO[3][2] && TABULEIRO[3][2]!=0)
  177.     {
  178.         if (y == 1){
  179.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  180.        
  181.         else
  182.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  183.     }
  184.    
  185.     else if (TABULEIRO[1][3] == TABULEIRO[2][3] && TABULEIRO[1][3] == TABULEIRO[3][3] && TABULEIRO[3][3]!=0)
  186.     {
  187.         if (y == 1){
  188.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  189.        
  190.         else
  191.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  192.     }
  193.    
  194.     else if (TABULEIRO[2][1] == TABULEIRO[2][2] && TABULEIRO[2][1] == TABULEIRO[2][3] && TABULEIRO[2][3]!=0)
  195.     {
  196.         if (y == 1){
  197.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  198.        
  199.         else
  200.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  201.     }
  202.    
  203.     else if (TABULEIRO[3][1] == TABULEIRO[3][2] && TABULEIRO[3][1] == TABULEIRO[3][3] && TABULEIRO[3][3]!=0)
  204.     {
  205.         if (y == 1){
  206.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  207.        
  208.         else
  209.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  210.     }
  211.    
  212.     else if (TABULEIRO[1][3] == TABULEIRO[2][2] && TABULEIRO[1][3] == TABULEIRO[3][1] && TABULEIRO[3][1]!=0)
  213.     {
  214.         if (y == 1){
  215.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  216.        
  217.         else
  218.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  219.     }
  220.    
  221.     else if (TABULEIRO[1][1] == TABULEIRO[2][2] && TABULEIRO[1][1] == TABULEIRO[3][3] && TABULEIRO[3][3]!=0)
  222.     {
  223.         if (y == 1){
  224.         printf ("\nFim do jogo! %s venceu!", player1); return 0;}
  225.        
  226.         else
  227.         printf ("\nFim do jogo! %s venceu!", player2); return 0;
  228.     }
  229.    
  230.     else
  231.     {
  232.         if (vez == 10)
  233.         printf ("\nDeu Velha!\n");
  234.     }
  235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement