Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Tiago Cardoso - [email protected]
- **/
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include "windows.h"
- int fila1[3],fila2[3],fila3[3],sim1,sim2,x,y,jogador,jogada,naovida,returnedvalue = 0,jogadas = 0;
- char simbolo1,simbolo2;
- void Preencher(int x1, int y1,char player);
- int CheckTheWinner();
- void MostrarMesa(void);
- int main()
- {
- int i;
- char menu;
- jogadas = 9;
- for( i = 0; i < 3; i++)
- {
- fila1[i] = 22;
- fila2[i] = 22;
- fila3[i] = 22;
- }
- fflush(stdin);
- printf("\nInsira o simbolo que o jogador 1 quer usar: ");
- simbolo1 = getchar();
- sim1 = simbolo1;
- fflush(stdin);
- printf("\nInsira o simbolo que o jogador 2 quer usar: ");
- simbolo2 = getchar();
- sim2 = simbolo2;
- printf("\nQuem joga primeiro? Jogador 1 ou o jogador 2? ");
- scanf("%d",&jogada);
- printf("\n\n\nAguarde...\n");
- MostrarMesa();
- Sleep(3000);
- printf("\n\n\n");
- do
- {
- CheckTheWinner();
- printf("E a vez do jogador %d jogar\n", jogada);
- printf("Insira a linha do X que deseja: ");
- scanf("%d",&x);
- while (x < 1 || x > 3)
- {
- printf("So pode ser entre 1 e 3: ");
- scanf("%d",&x);
- }
- printf("Insira a linha do Y que deseja: ");
- scanf("%d",&y);
- while (y < 1 || y > 3)
- {
- printf("So pode ser entre 1 e 3: ");
- scanf("%d",&y);
- }
- if(jogada == 1)
- {
- Preencher(x,y,simbolo1);
- if(returnedvalue != 99)
- {
- jogada = 2;
- jogadas--;
- }
- }
- else
- {
- Preencher(x,y,simbolo2);
- if(returnedvalue != 99)
- {
- jogada = 1;
- jogadas--;
- }
- }
- printf("Jogadas: %d\n",jogadas);
- }
- while(jogadas <= 9 && jogadas != 0);
- printf("\n\nO jogo ficou com um empate!\nDesejam jogar outra vez? [S]im ou [N]ao: ");
- fflush(stdin);
- menu = getchar();
- if(menu == 'S' || menu == 's')
- {
- main();
- }
- else
- {
- exit(0);
- }
- return 0;
- }
- void MostrarMesa(void)
- {
- printf("\n\n X 1 2 3\n");
- printf("\nY\n\n");
- printf("1 %c | %c | %c\n", fila1[0], fila1[1],fila1[2]);
- printf(" ___+___+___\n");
- printf("2 %c | %c | %c\n", fila2[0],fila2[1],fila2[2]);
- printf(" ___+___+___\n");
- printf("3 %c | %c | %c\n\n\n", fila3[0],fila3[1],fila3[2]);
- }
- void Preencher(int x1, int y1,char player)
- {
- returnedvalue = 0;
- if(x1 == 1)
- {
- if(y1 == 1) {
- if(fila1[0] == 22)
- {
- fila1[0] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- if(y1 == 2) {
- if(fila2[0] == 22)
- {
- fila2[0] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- if(y1 == 3) {
- if(fila3[0] == 22)
- {
- fila3[0] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- }
- if(x1 == 2)
- {
- if(y1 == 1) {
- if(fila1[1] == 22)
- {
- fila1[1] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- if(y1 == 2) {
- if(fila2[1] == 22)
- {
- fila2[1] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- if(y1 == 3) {
- if(fila3[1] == 22)
- {
- fila3[1] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- }
- if(x1 == 3)
- {
- if(y1 == 1) {
- if(fila1[2] == 22)
- {
- fila1[2] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- if(y1 == 2) {
- if(fila2[2] == 22)
- {
- fila2[2] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- if(y1 == 3) {
- if(fila3[2] == 22)
- {
- fila3[2] = player;
- }
- else printf("\n\n\nEsse espaco ja esta preenchido!\n\n\n"),returnedvalue = 99;
- }
- }
- MostrarMesa();
- }
- int CheckTheWinner()
- {
- char menu;
- if((fila1[0]==simbolo2 && fila1[1]==simbolo2 && fila1[2]==simbolo2)||
- (fila2[0]==simbolo2 && fila2[1]==simbolo2 && fila2[2]==simbolo2)||
- (fila3[0]==simbolo2 && fila3[1]==simbolo2 && fila3[2]==simbolo2)||
- (fila1[0]==simbolo2 && fila2[0]==simbolo2 && fila3[0]==simbolo2)||
- (fila1[1]==simbolo2 && fila2[1]==simbolo2 && fila3[1]==simbolo2)||
- (fila1[2]==simbolo2 && fila2[2]==simbolo2 && fila3[2]==simbolo2)||
- (fila1[0]==simbolo2 && fila2[1]==simbolo2 && fila3[2]==simbolo2)||
- (fila1[2]==simbolo2 && fila2[1]==simbolo2 && fila3[0]==simbolo2))
- {
- printf("\n\nO jogador 2 e vencedor!\n\n");
- Sleep(1000);
- printf("Deseja jogar outra vez? [S]im ou [N]ao: ");
- fflush(stdin);
- menu = getchar();
- if(menu == 'S' || menu == 's')
- {
- main();
- }
- else
- {
- jogadas = 0;
- exit(0);
- }
- }
- if((fila1[0]==simbolo1 && fila1[1]==simbolo1 && fila1[2]==simbolo1)||
- (fila2[0]==simbolo1 && fila2[1]==simbolo1 && fila2[2]==simbolo1)||
- (fila3[0]==simbolo1 && fila3[1]==simbolo1 && fila3[2]==simbolo1)||
- (fila1[0]==simbolo1 && fila2[0]==simbolo1 && fila3[0]==simbolo1)||
- (fila1[1]==simbolo1 && fila2[1]==simbolo1 && fila3[1]==simbolo1)||
- (fila1[2]==simbolo1 && fila2[2]==simbolo1 && fila3[2]==simbolo1)||
- (fila1[0]==simbolo1 && fila2[1]==simbolo1 && fila3[2]==simbolo1)||
- (fila1[2]==simbolo1 && fila2[1]==simbolo1 && fila3[0]==simbolo1))
- {
- printf("\n\nO jogador 1 e o vencedor!\n\n");
- printf("Deseja jogar outra vez? [S]im ou [N]ao: ");
- fflush(stdin);
- menu = getchar();
- if(menu == 'S' || menu == 's')
- {
- main();
- }
- else
- {
- jogadas = 0;
- exit(0);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment