Advertisement
Guest User

Untitled

a guest
Dec 9th, 2020
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 9.68 KB | None | 0 0
  1. /******************** [ COPYRIGHT ] ********************
  2. *                                                      *
  3. *   Código feito por: Christopher_Andrade (Shambles)   *
  4. *   Discord: Shambles#1158                             *
  5. *                                                      *   
  6. ******************** [ COPYRIGHT ] ********************/
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <locale.h>
  11. #include <stdbool.h>
  12. #include <unistd.h>
  13. #include <time.h>  
  14.  
  15. int listitem, MachineXY, Malha[9], X, PlayerPiece = 79, MachinePiece, Winner = 0, aux = 0;
  16. bool tutorial = true;
  17.  
  18. int LimparGame()
  19. {
  20.     int i;
  21.     aux = 0;
  22.     for(i = 0; i < 9; i++)Malha[i] = 0;
  23.     X = 0;
  24. }
  25.  
  26. int Tutorial()
  27. {
  28.     system("cls");
  29.    
  30.     printf("___________ [ TUTORIAL ] ___________\n\n");
  31.    
  32.     printf("Essa e a malha do Jogo da Velha\n\n");
  33.    
  34.     sleep(1);
  35.    
  36.     printf(" _ _ _  \n");
  37.     printf("|1|2|3| \n");
  38.     printf("|4|5|6| \n");
  39.     printf("|7|8|9| \n\n");
  40.    
  41.     sleep(5);
  42.    
  43.     printf("Para colocar sua peca, basta digitar o numero da casa da malha\n\n");          
  44.    
  45.     sleep(5);
  46.    
  47.     printf("Exemplo: 1\n\n");
  48.    
  49.     system("cls");
  50.    
  51.     printf("___________ [ TUTORIAL ] ___________\n\n");
  52.    
  53.     printf("Exemplo: 1\n\n");
  54.    
  55.     printf("      _ _ _  \n");
  56.     printf("  -> |X| | | \n");
  57.     printf("     | | | | \n");
  58.     printf("     | | | | \n");
  59.        
  60.     tutorial = false;
  61.    
  62.     sleep(5);
  63. }
  64.  
  65. int MachileCalculator()
  66. {
  67.     srand(time(NULL));
  68.     MachineXY = (-1 + rand() % 9);
  69.  
  70.     if(Malha[MachineXY] == '\0')Malha[MachineXY] = MachinePiece;
  71.     else if(Malha[MachineXY] != '\0') MachileCalculator();
  72. }
  73.  
  74. int PlayerCalculator()
  75. {
  76.     scanf("%i", &X);   
  77.    
  78.     if(X < 1 || X >= 10)
  79.     {
  80.         printf("\n\nVoce Digitou coordenadas invalidas:\n\n");
  81.         printf("Digite NOVAMENTE!\n");
  82.    
  83.         PlayerCalculator();
  84.     }
  85.    
  86.     if(Malha[X - 1] == '\0')Malha[X - 1] = PlayerPiece;
  87.    
  88.     else
  89.     {
  90.         printf("\n\nEssa casa ja esta ocupada!\n\n");
  91.         printf("Digite NOVAMENTE!\n");
  92.         PlayerCalculator();
  93.     }
  94. }
  95.  
  96. int Ocupped()
  97. {
  98.     printf("\n\nEssa casa ja esta ocupada!\n\n");
  99.     printf("Digite NOVAMENTE!\n");
  100.     PlayerCalculator();
  101. }
  102.  
  103. int ImprimirMalha()
  104. {  
  105.     printf("    1 2 3\n");
  106.     printf("A  |%c|%c|%c| \n", Malha[0], Malha[1], Malha[2]);
  107.     printf("B  |%c|%c|%c| \n", Malha[3], Malha[4], Malha[5]);
  108.     printf("C  |%c|%c|%c| \n", Malha[6], Malha[7], Malha[8]);
  109.    
  110.     if(Malha[0] == 88 && Malha [4] == 88 && Malha[8] == 88)Winner = 88;
  111.     if(Malha[2] == 88 && Malha [5] == 88 && Malha[7] == 88)Winner = 88;
  112.     if(Malha[0] == 88 && Malha [1] == 88 && Malha[2] == 88)Winner = 88;
  113.     if(Malha[3] == 88 && Malha [4] == 88 && Malha[5] == 88)Winner = 88;
  114.     if(Malha[6] == 88 && Malha [7] == 88 && Malha[8] == 88)Winner = 88;
  115.     if(Malha[0] == 88 && Malha [3] == 88 && Malha[6] == 88)Winner = 88;
  116.     if(Malha[1] == 88 && Malha [4] == 88 && Malha[7] == 88)Winner = 88;
  117.     if(Malha[2] == 88 && Malha [5] == 88 && Malha[8] == 88)Winner = 88;
  118.    
  119.     if(Malha[0] == 79 && Malha [4] == 79 && Malha[8] == 79)Winner = 79;
  120.     if(Malha[2] == 79 && Malha [5] == 79 && Malha[7] == 79)Winner = 79;
  121.     if(Malha[0] == 79 && Malha [1] == 79 && Malha[2] == 79)Winner = 79;
  122.     if(Malha[3] == 79 && Malha [4] == 79 && Malha[5] == 79)Winner = 79;
  123.     if(Malha[6] == 79 && Malha [7] == 79 && Malha[8] == 79)Winner = 79;
  124.     if(Malha[0] == 79 && Malha [3] == 79 && Malha[6] == 79)Winner = 79;
  125.     if(Malha[1] == 79 && Malha [4] == 79 && Malha[7] == 79)Winner = 79;
  126.     if(Malha[2] == 79 && Malha [5] == 79 && Malha[8] == 79)Winner = 79;
  127. }
  128.  
  129. int Game()
  130. {
  131.     int i;
  132.     system("cls");
  133.    
  134.     printf("\n\n\nInciando Partida em 5...");
  135.     sleep(1);
  136.     system("cls");
  137.     printf("\n\n\nInciando Partida em 4...");
  138.     sleep(1);
  139.     system("cls");
  140.     printf("\n\n\nInciando Partida em 3...");
  141.     sleep(1);
  142.     system("cls");
  143.     printf("\n\n\nInciando Partida em 2...");
  144.     sleep(1);
  145.     system("cls");
  146.     printf("\n\n\nInciando Partida em 1...");
  147.     sleep(3);
  148.    
  149.     LimparGame();
  150.        
  151.     if(PlayerPiece == 79)MachinePiece = 88;
  152.     else MachinePiece = 79;
  153.        
  154.     if(tutorial == true)Tutorial();
  155.    
  156.     system("cls");
  157.    
  158.     printf("A Maquina Comecara!");
  159.    
  160.     sleep(1);
  161.    
  162.     system("cls");
  163.    
  164.    
  165.     while(aux != 9 && Winner != 88 && Winner != 79)
  166.     {
  167.         printf("Vez da Maquina...\n\n");
  168.        
  169.         MachileCalculator();
  170.         sleep(3);
  171.        
  172.         system("cls");
  173.         ImprimirMalha();
  174.         aux++;
  175.        
  176.         printf("\n\nSua Vez!\n");
  177.         printf("Digite um numero de 1 a 9:\n\n");
  178.        
  179.         PlayerCalculator();
  180.        
  181.         system("cls");
  182.         ImprimirMalha();
  183.         aux++;
  184.     }
  185.  
  186.     system("cls");
  187.    
  188.     if(aux == 9)printf("\n\n\n\nJOGO ENCERRADO! DEU VELHA! :|\n\n\n\n");
  189.    
  190.     if(Winner == PlayerPiece)printf("\n\n\n\nJOGO ENCERRADO! PARABENS VOCE E O VENCEDOR! :)\n\n\n\n");
  191.     else printf("\n\n\n\nJOGO ENCERRADO! NAO FOI DESSA VEZ! :(\n\n\n\n");
  192.        
  193.     printf("Deseja jogar novamente?\n[ 1 ] Sim\n[ 2 ] Nao\n\n");
  194.     scanf("%i", &listitem);
  195.    
  196.     if(listitem == 1)Game();
  197.     else if(listitem == 2)Menu();
  198. }
  199.  
  200. int GameOver()
  201. {
  202.     printf("\n\n\n\nFECHANDO JOGO!\n\n\n\n");
  203.     return 0;
  204. }
  205.  
  206. int InvalidWarning()
  207. {
  208.     system("cls");
  209.    
  210.     printf("\n\n\n\nOPCAO INVALIDA!\n\n\n\n");
  211.     printf("Digite 1 para voltar ao menu!");
  212.    
  213.     scanf("%i", &listitem);
  214.            
  215.     if(listitem == 1)Menu();
  216.     else InvalidWarning();
  217. }
  218.  
  219. int ShowDialogPlayer()
  220. {
  221.     switch(listitem)
  222.     {
  223.         case 1:
  224.         {
  225.             system("cls");
  226.             Game();
  227.         }
  228.        
  229.         break;
  230.        
  231.         case 2:
  232.         {
  233.             system("cls");
  234.            
  235.             printf("Qual peça deseja trocar?\n[ 1 ] 'X'\n[ 2 ] 'O'\n\n");
  236.                    
  237.             scanf("%i", &listitem);
  238.            
  239.             if(listitem != 1 && listitem != 2)InvalidWarning();
  240.                        
  241.             if(PlayerPiece == 79 && listitem == 1)
  242.             {                      
  243.                 PlayerPiece = 88;
  244.                 system("cls");
  245.                 printf("-> Voce trocou de peca com sucesso!\n\nPeca Atual: 'X'\nPeca Antiga: 'O'\n\n");
  246.    
  247.                 printf("- Digite 1 para voltar ao menu!\n\n");
  248.        
  249.                 scanf("%i", &listitem);
  250.            
  251.                 if(listitem == 1)
  252.                 {
  253.                     system("cls");
  254.                        
  255.                     printf("___________ [ Jogo da Velha ] ___________\n\n");
  256.                     printf("[ 1 ] Jogar                                 \n");
  257.                     printf("[ 2 ] Trocar peca                           \n");
  258.                     printf("[ 3 ] Creditos                              \n");
  259.                     printf("[ 4 ] Fechar Jogo                           \n\n");
  260.        
  261.                     printf("Digite uma opcao:\n\n");
  262.                     scanf("%i", &listitem);
  263.        
  264.                     ShowDialogPlayer();
  265.                 }
  266.                
  267.                 else InvalidWarning();
  268.             }
  269.                        
  270.             else if(PlayerPiece == 88 && listitem == 2)
  271.             {  
  272.                 PlayerPiece = 79;
  273.                
  274.                 system("cls");
  275.                 printf("-> Voce trocou de peca com sucesso!\n\nPeca Atual: 'O'\nPeca Antiga: 'X'\n\n");
  276.                
  277.                 printf("- Digite 1 para voltar ao menu!\n\n");
  278.            
  279.                 scanf("%i", &listitem);
  280.        
  281.                 if(listitem == 1)
  282.                 {
  283.                     system("cls");
  284.            
  285.                     printf("___________ [ Jogo da Velha ] ___________\n\n");
  286.                     printf("[ 1 ] Jogar                                 \n");
  287.                     printf("[ 2 ] Trocar peca                           \n");
  288.                     printf("[ 3 ] Creditos                              \n");
  289.                     printf("[ 4 ] Fechar Jogo                           \n\n");
  290.                        
  291.                     printf("Digite uma opcao:\n\n");
  292.                     scanf("%i", &listitem);
  293.  
  294.                     ShowDialogPlayer();
  295.                 }
  296.                 else InvalidWarning();
  297.             }  
  298.            
  299.             else
  300.             {
  301.                 system("cls");
  302.                
  303.                 printf("Voce ja esta usando essa peca!\n\n");
  304.                
  305.                 printf("- Digite 1 para voltar ao menu!\n\n");
  306.            
  307.                 scanf("%i", &listitem);
  308.        
  309.                 if(listitem == 1)
  310.                 {
  311.                     system("cls");
  312.        
  313.                     printf("___________ [ Jogo da Velha ] ___________\n\n");
  314.                     printf("[ 1 ] Jogar                                 \n");
  315.                     printf("[ 2 ] Trocar peca                           \n");
  316.                     printf("[ 3 ] Creditos                              \n");
  317.                     printf("[ 4 ] Fechar Jogo                           \n\n");
  318.                        
  319.                     printf("Digite uma opcao:\n\n");
  320.                     scanf("%i", &listitem);
  321.  
  322.                     ShowDialogPlayer();
  323.                 }  
  324.                
  325.                 else InvalidWarning();
  326.             }
  327.         }
  328.        
  329.         break;
  330.        
  331.         case 3:
  332.         {
  333.             system("cls");
  334.            
  335.             printf("*********** [ COPYRIGHT ]  *************\n");
  336.             printf("                                        \n");
  337.             printf("Nome: Christopher Cesar de Melo         \n");
  338.             printf("Turma: Aut T1 - C                       \n");
  339.             printf("Data: 12/9                              \n");
  340.             printf("                                        \n");
  341.             printf("*********** [ COPYRIGHT ]  *************\n\n");
  342.            
  343.             printf("- Digite 1 para voltar ao menu!\n\n");
  344.  
  345.             scanf("%i", &listitem);
  346.            
  347.             if(listitem == 1)
  348.             {
  349.                 system("cls");
  350.                    
  351.                 printf("___________ [ Jogo da Velha ] ___________\n\n");
  352.                 printf("[ 1 ] Jogar                                 \n");
  353.                 printf("[ 2 ] Trocar peca                           \n");
  354.                 printf("[ 3 ] Creditos                              \n");
  355.                 printf("[ 4 ] Fechar Jogo                           \n\n");
  356.    
  357.                 printf("Digite uma opcao:\n\n");
  358.                 scanf("%i", &listitem);
  359.    
  360.                 ShowDialogPlayer();
  361.             }
  362.            
  363.             else InvalidWarning();
  364.         }
  365.        
  366.         break;
  367.        
  368.         case 4:
  369.         {
  370.             system("cls");
  371.             GameOver();
  372.         }
  373.        
  374.         break;
  375.        
  376.         default:
  377.         {
  378.             system("cls");
  379.            
  380.             printf("\n\n\n\nOPÇÃO INVÁLIDA!\n\n\n\n");
  381.             printf("- Digite 1 para voltar ao menu!\n\n");
  382.            
  383.             scanf("%i", &listitem);
  384.            
  385.             if(listitem == 1)
  386.             {
  387.                 system("cls");
  388.                    
  389.                 printf("___________ [ Jogo da Velha ] ___________\n\n");
  390.                 printf("[ 1 ] Jogar                                 \n");
  391.                 printf("[ 2 ] Trocar peca                           \n");
  392.                 printf("[ 3 ] Creditos                              \n");
  393.                 printf("[ 4 ] Fechar Jogo                           \n\n");
  394.    
  395.                 printf("Digite uma opcao:\n\n");
  396.                 scanf("%i", &listitem);
  397.    
  398.                 ShowDialogPlayer();
  399.             }
  400.        
  401.         }
  402.     }
  403. }
  404.  
  405. int Menu()
  406. {
  407.     system("cls");
  408.    
  409.     printf("___________ [ Jogo da Velha ] ___________\n\n");
  410.     printf("[ 1 ] Jogar                                 \n");
  411.     printf("[ 2 ] Trocar peca                           \n");
  412.     printf("[ 3 ] Creditos                              \n");
  413.     printf("[ 4 ] Fechar Jogo                           \n\n");
  414.    
  415.    
  416.     printf("Digite uma opcao:\n\n");
  417.     scanf("%i", &listitem);
  418.    
  419.     ShowDialogPlayer();
  420. }
  421.  
  422. int main()
  423. {  
  424.     Menu();
  425.  
  426.     return 0;
  427. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement