Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <ctype.h>
- char velha[3][3];
- int menu(char dificuldade, char nome1[20],char nome2[20]){
- int oponente;
- do{
- printf("Escolha como deseja jogar: \n");
- printf("1 - Jogar contra o computador\n");
- printf("2 - Jogar contra outro jogador\n");
- printf("Escolha: ");
- scanf("%d%*c",&oponente);
- printf("Insira o nome do primeiro jogador: ");
- scanf("%s",nome1);
- scanf("%*c");
- if (oponente == 2){
- printf("Insira o nome do segundo jogador: ");
- scanf("%s",nome2);
- scanf("%*c");
- }
- }while(oponente != 1 && oponente !=2);
- system("cls");
- if (oponente == 1){
- do{
- printf("Escolha a dificuldade: \n");
- printf("B - Basico\n");
- printf("I - Intermediario\n");
- printf("A - Avancado\n");
- printf("Escolha: ");
- scanf("%c%*c",&dificuldade);
- dificuldade =toupper(dificuldade);
- }while(dificuldade != 'B' && dificuldade != 'I' && dificuldade != 'A');
- system("cls");
- }
- }
- void inicializa_velha(){
- int i,j;
- for (i=0;i<3;i++){
- for(j=0;j<3;j++){
- velha[i][j] = ' ';
- }
- }
- }
- int jogada_usuario(int lin,int col,char jog){
- int i,j;
- if(velha[lin-1][col-1] == 'X' || velha[lin-1][col-1] == 'O'){
- return 2;
- }else if(lin > 3 || col >3 ){
- return 1;
- }
- else{
- velha[lin-1][col-1] = jog;
- return 0;
- }
- }
- void escolha_simb(char *jog1, char *jog2){
- char fsymb;
- do {
- printf("Escolha o simbolo: X ou O\n");
- scanf("%c%*c",&fsymb);
- fsymb=toupper(fsymb);
- } while (fsymb!='X' && fsymb!='O');
- if (fsymb=='X'){
- *jog1='X';
- *jog2='O';
- } else if (fsymb=='O'){
- *jog1='O';
- *jog2='X';
- }
- }
- int verifica_ganhador(char jog){
- if (velha[0][0]==jog && velha[0][1]==jog && velha[0][2] == jog)
- return 1;
- else if (velha[1][0]==jog && velha[1][1]==jog && velha[1][2] == jog)
- return 1;
- else if (velha[2][0]==jog && velha[2][1]==jog && velha[2][2] == jog)
- return 1;
- else if (velha[0][0]==jog && velha[1][0]==jog && velha[2][0] == jog)
- return 1;
- else if (velha[0][1]==jog && velha[1][1]==jog && velha[2][1] == jog)
- return 1;
- else if (velha[0][2]==jog && velha[1][2]==jog && velha[2][2] == jog)
- return 1;
- else if (velha[0][0]==jog && velha[1][1]==jog && velha[2][2] == jog)
- return 1;
- else if (velha[0][2]==jog && velha[1][1]==jog && velha[2][0] == jog)
- return 1;
- else {
- return 0;
- }
- }
- void main(){
- char nome1[20],nome2[20];
- int lin,col,i,j,ganhador=0,validar,oponente;
- char jog,jog1,jog2,dificuldade;
- oponente = menu(dificuldade,nome1,nome2);
- inicializa_velha();
- escolha_simb(&jog1,&jog2);
- jog = jog1;
- do{
- printf("Escolha uma linha: ");
- scanf("%d",&lin);
- printf("Escolha uma coluna: ");
- scanf("%d",&col);
- validar = jogada_usuario(lin,col,jog);
- system("cls");
- if(validar == 1){
- printf("Posicao informada e invalida!!\n");
- }
- if(validar == 2){
- printf("Posicao informada ja preenchida!!\n");
- }
- ganhador = verifica_ganhador(jog);
- if(oponente == 2 && validar == 0){
- if (jog == 'X'){
- jog = 'O';
- }
- else{
- jog = 'X';
- }
- }
- for (i=0;i<3;i++){
- for(j=0;j<3;j++){
- printf("%c",velha[i][j]);
- }
- printf("\n---\n");
- }
- }while (ganhador != 1);
- printf("O jogo acabou!!!!!!!");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement