StreetGT

Jogo do Galo em C

Jan 14th, 2016
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.65 KB | None | 0 0
  1. /**
  2. Tiago Cardoso - [email protected]
  3. **/
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <locale.h>
  8. #include "windows.h"
  9.  
  10. int fila1[3],fila2[3],fila3[3],sim1,sim2,x,y,jogador,jogada,naovida,returnedvalue = 0,jogadas = 0;
  11. char simbolo1,simbolo2;
  12.  
  13. void Preencher(int x1, int y1,char player);
  14. int CheckTheWinner();
  15. void MostrarMesa(void);
  16.  
  17. int main()
  18. {
  19.     int i;
  20.     char menu;
  21.     jogadas = 9;
  22.     for( i = 0; i < 3; i++)
  23.     {
  24.         fila1[i] = 22;
  25.         fila2[i] = 22;
  26.         fila3[i] = 22;
  27.     }
  28.     fflush(stdin);
  29.     printf("\nInsira o simbolo que o jogador 1 quer usar: ");
  30.     simbolo1 = getchar();
  31.     sim1 = simbolo1;
  32.     fflush(stdin);
  33.     printf("\nInsira o simbolo que o jogador 2 quer usar: ");
  34.     simbolo2 = getchar();
  35.     sim2 = simbolo2;
  36.     printf("\nQuem joga primeiro? Jogador 1 ou o jogador 2?  ");
  37.     scanf("%d",&jogada);
  38.     printf("\n\n\nAguarde...\n");
  39.     MostrarMesa();
  40.     Sleep(3000);
  41.     printf("\n\n\n");
  42.     do
  43.     {
  44.         CheckTheWinner();
  45.         printf("E a vez do jogador %d jogar\n", jogada);
  46.         printf("Insira a linha do X que deseja: ");
  47.         scanf("%d",&x);
  48.         while (x < 1 || x  > 3)
  49.         {
  50.             printf("So pode ser entre 1 e 3: ");
  51.             scanf("%d",&x);
  52.         }
  53.         printf("Insira a linha do Y que deseja: ");
  54.         scanf("%d",&y);
  55.         while (y < 1 || y  > 3)
  56.         {
  57.             printf("So pode ser entre 1 e 3: ");
  58.             scanf("%d",&y);
  59.         }
  60.         if(jogada == 1)
  61.         {
  62.             Preencher(x,y,simbolo1);
  63.             if(returnedvalue != 99)
  64.             {
  65.                 jogada = 2;
  66.                 jogadas--;
  67.             }
  68.         }
  69.         else
  70.         {
  71.             Preencher(x,y,simbolo2);
  72.             if(returnedvalue != 99)
  73.             {
  74.                 jogada = 1;
  75.                 jogadas--;
  76.             }
  77.         }
  78.         printf("Jogadas: %d\n",jogadas);
  79.  
  80.     }
  81.     while(jogadas <= 9 && jogadas != 0);
  82.     printf("\n\nO jogo ficou com um empate!\nDesejam jogar outra vez? [S]im ou [N]ao: ");
  83.     fflush(stdin);
  84.     menu = getchar();
  85.     if(menu == 'S' || menu == 's')
  86.     {
  87.         main();
  88.     }
  89.     else
  90.     {
  91.         exit(0);
  92.     }
  93.     return 0;
  94. }
  95.  
  96. void MostrarMesa(void)
  97. {
  98.     printf("\n\n    X 1  2   3\n");
  99.     printf("\nY\n\n");
  100.     printf("1    %c | %c | %c\n", fila1[0], fila1[1],fila1[2]);
  101.     printf("    ___+___+___\n");
  102.     printf("2    %c | %c | %c\n", fila2[0],fila2[1],fila2[2]);
  103.     printf("    ___+___+___\n");
  104.     printf("3    %c | %c | %c\n\n\n", fila3[0],fila3[1],fila3[2]);
  105. }
  106.  
  107. void Preencher(int x1, int y1,char player)
  108. {
  109.     returnedvalue = 0;
  110.      if(x1 == 1)
  111.      {
  112.         if(y1 == 1) {
  113.             if(fila1[0] == 22)
  114.             {
  115.                 fila1[0] = player;
  116.             }
  117.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  118.  
  119.         }
  120.         if(y1 == 2) {
  121.             if(fila2[0] == 22)
  122.             {
  123.                 fila2[0] = player;
  124.             }
  125.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  126.         }
  127.         if(y1 == 3) {
  128.             if(fila3[0] == 22)
  129.             {
  130.                 fila3[0] = player;
  131.             }
  132.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  133.         }
  134.     }
  135.     if(x1 == 2)
  136.     {
  137.         if(y1 == 1) {
  138.             if(fila1[1] == 22)
  139.             {
  140.                 fila1[1] = player;
  141.             }
  142.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  143.         }
  144.         if(y1 == 2) {
  145.             if(fila2[1] == 22)
  146.             {
  147.                 fila2[1] = player;
  148.             }
  149.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  150.         }
  151.         if(y1 == 3) {
  152.             if(fila3[1] == 22)
  153.             {
  154.                 fila3[1] = player;
  155.             }
  156.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  157.         }
  158.     }
  159.     if(x1 == 3)
  160.     {
  161.         if(y1 == 1) {
  162.             if(fila1[2] == 22)
  163.             {
  164.                 fila1[2] = player;
  165.             }
  166.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  167.         }
  168.         if(y1 == 2) {
  169.             if(fila2[2] == 22)
  170.             {
  171.                 fila2[2] = player;
  172.             }
  173.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  174.         }
  175.         if(y1 == 3) {
  176.             if(fila3[2] == 22)
  177.             {
  178.                 fila3[2] = player;
  179.             }
  180.             else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
  181.         }
  182.     }
  183.     MostrarMesa();
  184. }
  185.  
  186. int CheckTheWinner()
  187. {
  188.     char menu;
  189.     if((fila1[0]==simbolo2 && fila1[1]==simbolo2 && fila1[2]==simbolo2)||
  190.        (fila2[0]==simbolo2 && fila2[1]==simbolo2 && fila2[2]==simbolo2)||
  191.        (fila3[0]==simbolo2 && fila3[1]==simbolo2 && fila3[2]==simbolo2)||
  192.        (fila1[0]==simbolo2 && fila2[0]==simbolo2 && fila3[0]==simbolo2)||
  193.        (fila1[1]==simbolo2 && fila2[1]==simbolo2 && fila3[1]==simbolo2)||
  194.        (fila1[2]==simbolo2 && fila2[2]==simbolo2 && fila3[2]==simbolo2)||
  195.        (fila1[0]==simbolo2 && fila2[1]==simbolo2 && fila3[2]==simbolo2)||
  196.        (fila1[2]==simbolo2 && fila2[1]==simbolo2 && fila3[0]==simbolo2))
  197.     {
  198.         printf("\n\nO jogador 2 e vencedor!\n\n");
  199.         Sleep(1000);
  200.         printf("Deseja jogar outra vez? [S]im ou [N]ao: ");
  201.         fflush(stdin);
  202.         menu = getchar();
  203.         if(menu == 'S' || menu == 's')
  204.         {
  205.             main();
  206.         }
  207.         else
  208.         {
  209.             jogadas = 0;
  210.             exit(0);
  211.         }
  212.     }
  213.     if((fila1[0]==simbolo1 && fila1[1]==simbolo1 && fila1[2]==simbolo1)||
  214.        (fila2[0]==simbolo1 && fila2[1]==simbolo1 && fila2[2]==simbolo1)||
  215.        (fila3[0]==simbolo1 && fila3[1]==simbolo1 && fila3[2]==simbolo1)||
  216.        (fila1[0]==simbolo1 && fila2[0]==simbolo1 && fila3[0]==simbolo1)||
  217.        (fila1[1]==simbolo1 && fila2[1]==simbolo1 && fila3[1]==simbolo1)||
  218.        (fila1[2]==simbolo1 && fila2[2]==simbolo1 && fila3[2]==simbolo1)||
  219.        (fila1[0]==simbolo1 && fila2[1]==simbolo1 && fila3[2]==simbolo1)||
  220.        (fila1[2]==simbolo1 && fila2[1]==simbolo1 && fila3[0]==simbolo1))
  221.     {
  222.         printf("\n\nO jogador 1 e o vencedor!\n\n");
  223.         printf("Deseja jogar outra vez? [S]im ou [N]ao: ");
  224.         fflush(stdin);
  225.         menu = getchar();
  226.         if(menu == 'S' || menu == 's')
  227.         {
  228.             main();
  229.         }
  230.         else
  231.         {
  232.             jogadas = 0;
  233.             exit(0);
  234.         }
  235.     }
  236.     return 0;
  237. }
Advertisement
Add Comment
Please, Sign In to add comment