Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************** [ COPYRIGHT ] ********************
- * *
- * Código feito por: Christopher_Andrade (Shambles) *
- * Discord: Shambles#1158 *
- * *
- ******************** [ COPYRIGHT ] ********************/
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <stdbool.h>
- #include <unistd.h>
- #include <time.h>
- int listitem, MachineXY, Malha[9], X, PlayerPiece = 79, MachinePiece, Winner = 0, aux = 0;
- bool tutorial = true;
- int LimparGame()
- {
- int i;
- aux = 0;
- for(i = 0; i < 9; i++)Malha[i] = 0;
- X = 0;
- }
- int Tutorial()
- {
- system("cls");
- printf("___________ [ TUTORIAL ] ___________\n\n");
- printf("Essa e a malha do Jogo da Velha\n\n");
- sleep(1);
- printf(" _ _ _ \n");
- printf("|1|2|3| \n");
- printf("|4|5|6| \n");
- printf("|7|8|9| \n\n");
- sleep(5);
- printf("Para colocar sua peca, basta digitar o numero da casa da malha\n\n");
- sleep(5);
- printf("Exemplo: 1\n\n");
- system("cls");
- printf("___________ [ TUTORIAL ] ___________\n\n");
- printf("Exemplo: 1\n\n");
- printf(" _ _ _ \n");
- printf(" -> |X| | | \n");
- printf(" | | | | \n");
- printf(" | | | | \n");
- tutorial = false;
- sleep(5);
- }
- int MachileCalculator()
- {
- srand(time(NULL));
- MachineXY = (-1 + rand() % 9);
- if(Malha[MachineXY] == '\0')Malha[MachineXY] = MachinePiece;
- else if(Malha[MachineXY] != '\0') MachileCalculator();
- }
- int PlayerCalculator()
- {
- scanf("%i", &X);
- if(X < 1 || X >= 10)
- {
- printf("\n\nVoce Digitou coordenadas invalidas:\n\n");
- printf("Digite NOVAMENTE!\n");
- PlayerCalculator();
- }
- if(Malha[X - 1] == '\0')Malha[X - 1] = PlayerPiece;
- else
- {
- printf("\n\nEssa casa ja esta ocupada!\n\n");
- printf("Digite NOVAMENTE!\n");
- PlayerCalculator();
- }
- }
- int Ocupped()
- {
- printf("\n\nEssa casa ja esta ocupada!\n\n");
- printf("Digite NOVAMENTE!\n");
- PlayerCalculator();
- }
- int ImprimirMalha()
- {
- printf(" 1 2 3\n");
- printf("A |%c|%c|%c| \n", Malha[0], Malha[1], Malha[2]);
- printf("B |%c|%c|%c| \n", Malha[3], Malha[4], Malha[5]);
- printf("C |%c|%c|%c| \n", Malha[6], Malha[7], Malha[8]);
- if(Malha[0] == 88 && Malha [4] == 88 && Malha[8] == 88)Winner = 88;
- if(Malha[2] == 88 && Malha [5] == 88 && Malha[7] == 88)Winner = 88;
- if(Malha[0] == 88 && Malha [1] == 88 && Malha[2] == 88)Winner = 88;
- if(Malha[3] == 88 && Malha [4] == 88 && Malha[5] == 88)Winner = 88;
- if(Malha[6] == 88 && Malha [7] == 88 && Malha[8] == 88)Winner = 88;
- if(Malha[0] == 88 && Malha [3] == 88 && Malha[6] == 88)Winner = 88;
- if(Malha[1] == 88 && Malha [4] == 88 && Malha[7] == 88)Winner = 88;
- if(Malha[2] == 88 && Malha [5] == 88 && Malha[8] == 88)Winner = 88;
- if(Malha[0] == 79 && Malha [4] == 79 && Malha[8] == 79)Winner = 79;
- if(Malha[2] == 79 && Malha [5] == 79 && Malha[7] == 79)Winner = 79;
- if(Malha[0] == 79 && Malha [1] == 79 && Malha[2] == 79)Winner = 79;
- if(Malha[3] == 79 && Malha [4] == 79 && Malha[5] == 79)Winner = 79;
- if(Malha[6] == 79 && Malha [7] == 79 && Malha[8] == 79)Winner = 79;
- if(Malha[0] == 79 && Malha [3] == 79 && Malha[6] == 79)Winner = 79;
- if(Malha[1] == 79 && Malha [4] == 79 && Malha[7] == 79)Winner = 79;
- if(Malha[2] == 79 && Malha [5] == 79 && Malha[8] == 79)Winner = 79;
- }
- int Game()
- {
- int i;
- system("cls");
- printf("\n\n\nInciando Partida em 5...");
- sleep(1);
- system("cls");
- printf("\n\n\nInciando Partida em 4...");
- sleep(1);
- system("cls");
- printf("\n\n\nInciando Partida em 3...");
- sleep(1);
- system("cls");
- printf("\n\n\nInciando Partida em 2...");
- sleep(1);
- system("cls");
- printf("\n\n\nInciando Partida em 1...");
- sleep(3);
- LimparGame();
- if(PlayerPiece == 79)MachinePiece = 88;
- else MachinePiece = 79;
- if(tutorial == true)Tutorial();
- system("cls");
- printf("A Maquina Comecara!");
- sleep(1);
- system("cls");
- while(aux != 9 && Winner != 88 && Winner != 79)
- {
- printf("Vez da Maquina...\n\n");
- MachileCalculator();
- sleep(3);
- system("cls");
- ImprimirMalha();
- aux++;
- printf("\n\nSua Vez!\n");
- printf("Digite um numero de 1 a 9:\n\n");
- PlayerCalculator();
- system("cls");
- ImprimirMalha();
- aux++;
- }
- system("cls");
- if(aux == 9)printf("\n\n\n\nJOGO ENCERRADO! DEU VELHA! :|\n\n\n\n");
- if(Winner == PlayerPiece)printf("\n\n\n\nJOGO ENCERRADO! PARABENS VOCE E O VENCEDOR! :)\n\n\n\n");
- else printf("\n\n\n\nJOGO ENCERRADO! NAO FOI DESSA VEZ! :(\n\n\n\n");
- printf("Deseja jogar novamente?\n[ 1 ] Sim\n[ 2 ] Nao\n\n");
- scanf("%i", &listitem);
- if(listitem == 1)Game();
- else if(listitem == 2)Menu();
- }
- int GameOver()
- {
- printf("\n\n\n\nFECHANDO JOGO!\n\n\n\n");
- return 0;
- }
- int InvalidWarning()
- {
- system("cls");
- printf("\n\n\n\nOPCAO INVALIDA!\n\n\n\n");
- printf("Digite 1 para voltar ao menu!");
- scanf("%i", &listitem);
- if(listitem == 1)Menu();
- else InvalidWarning();
- }
- int ShowDialogPlayer()
- {
- switch(listitem)
- {
- case 1:
- {
- system("cls");
- Game();
- }
- break;
- case 2:
- {
- system("cls");
- printf("Qual peça deseja trocar?\n[ 1 ] 'X'\n[ 2 ] 'O'\n\n");
- scanf("%i", &listitem);
- if(listitem != 1 && listitem != 2)InvalidWarning();
- if(PlayerPiece == 79 && listitem == 1)
- {
- PlayerPiece = 88;
- system("cls");
- printf("-> Voce trocou de peca com sucesso!\n\nPeca Atual: 'X'\nPeca Antiga: 'O'\n\n");
- printf("- Digite 1 para voltar ao menu!\n\n");
- scanf("%i", &listitem);
- if(listitem == 1)
- {
- system("cls");
- printf("___________ [ Jogo da Velha ] ___________\n\n");
- printf("[ 1 ] Jogar \n");
- printf("[ 2 ] Trocar peca \n");
- printf("[ 3 ] Creditos \n");
- printf("[ 4 ] Fechar Jogo \n\n");
- printf("Digite uma opcao:\n\n");
- scanf("%i", &listitem);
- ShowDialogPlayer();
- }
- else InvalidWarning();
- }
- else if(PlayerPiece == 88 && listitem == 2)
- {
- PlayerPiece = 79;
- system("cls");
- printf("-> Voce trocou de peca com sucesso!\n\nPeca Atual: 'O'\nPeca Antiga: 'X'\n\n");
- printf("- Digite 1 para voltar ao menu!\n\n");
- scanf("%i", &listitem);
- if(listitem == 1)
- {
- system("cls");
- printf("___________ [ Jogo da Velha ] ___________\n\n");
- printf("[ 1 ] Jogar \n");
- printf("[ 2 ] Trocar peca \n");
- printf("[ 3 ] Creditos \n");
- printf("[ 4 ] Fechar Jogo \n\n");
- printf("Digite uma opcao:\n\n");
- scanf("%i", &listitem);
- ShowDialogPlayer();
- }
- else InvalidWarning();
- }
- else
- {
- system("cls");
- printf("Voce ja esta usando essa peca!\n\n");
- printf("- Digite 1 para voltar ao menu!\n\n");
- scanf("%i", &listitem);
- if(listitem == 1)
- {
- system("cls");
- printf("___________ [ Jogo da Velha ] ___________\n\n");
- printf("[ 1 ] Jogar \n");
- printf("[ 2 ] Trocar peca \n");
- printf("[ 3 ] Creditos \n");
- printf("[ 4 ] Fechar Jogo \n\n");
- printf("Digite uma opcao:\n\n");
- scanf("%i", &listitem);
- ShowDialogPlayer();
- }
- else InvalidWarning();
- }
- }
- break;
- case 3:
- {
- system("cls");
- printf("*********** [ COPYRIGHT ] *************\n");
- printf(" \n");
- printf("Nome: Christopher Cesar de Melo \n");
- printf("Turma: Aut T1 - C \n");
- printf("Data: 12/9 \n");
- printf(" \n");
- printf("*********** [ COPYRIGHT ] *************\n\n");
- printf("- Digite 1 para voltar ao menu!\n\n");
- scanf("%i", &listitem);
- if(listitem == 1)
- {
- system("cls");
- printf("___________ [ Jogo da Velha ] ___________\n\n");
- printf("[ 1 ] Jogar \n");
- printf("[ 2 ] Trocar peca \n");
- printf("[ 3 ] Creditos \n");
- printf("[ 4 ] Fechar Jogo \n\n");
- printf("Digite uma opcao:\n\n");
- scanf("%i", &listitem);
- ShowDialogPlayer();
- }
- else InvalidWarning();
- }
- break;
- case 4:
- {
- system("cls");
- GameOver();
- }
- break;
- default:
- {
- system("cls");
- printf("\n\n\n\nOPÇÃO INVÁLIDA!\n\n\n\n");
- printf("- Digite 1 para voltar ao menu!\n\n");
- scanf("%i", &listitem);
- if(listitem == 1)
- {
- system("cls");
- printf("___________ [ Jogo da Velha ] ___________\n\n");
- printf("[ 1 ] Jogar \n");
- printf("[ 2 ] Trocar peca \n");
- printf("[ 3 ] Creditos \n");
- printf("[ 4 ] Fechar Jogo \n\n");
- printf("Digite uma opcao:\n\n");
- scanf("%i", &listitem);
- ShowDialogPlayer();
- }
- }
- }
- }
- int Menu()
- {
- system("cls");
- printf("___________ [ Jogo da Velha ] ___________\n\n");
- printf("[ 1 ] Jogar \n");
- printf("[ 2 ] Trocar peca \n");
- printf("[ 3 ] Creditos \n");
- printf("[ 4 ] Fechar Jogo \n\n");
- printf("Digite uma opcao:\n\n");
- scanf("%i", &listitem);
- ShowDialogPlayer();
- }
- int main()
- {
- Menu();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement