Tic Tac Toe Tied Games [英] Tic Tac Toe Tied Games

查看:67
本文介绍了Tic Tac Toe Tied Games的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

关于此代码的两个疑问:



#如果游戏结果出现,将显示的条件是什么?

#如果已经选择了玩家选择的选项,我该如何让他再次选择?

Two doubts about this code :

# What is the condition which will show if the game results in a tie ?
# If the choice the player choose is already taken , how did i do to make he choose again ?

char mat[9];

int main(void)
{
  int i,jogada,casa,jogo=0;

  for(i=0; i<= 9; i++) 
    mat[i] = ' ';

 do{
  printf("\n");
  printf("\t|\t|\n");
  printf("\t|\t|\n");
  printf("%c\t|%c\t|%c\n",mat[1],mat[2],mat[3]);
  printf("--------|-------|-------\n");
  printf("\t|\t|\n");
  printf("%c\t|%c\t|%c\n",mat[4],mat[5],mat[6]);
  printf("--------|-------|-------\n");
  printf("\t|\t|\n");
  printf("\t|\t|\n");
  printf("%c\t|%c\t|%c\n\n",mat[7],mat[8],mat[9]);
  printf("\nJOGADOR X ");
  printf("\nInforme uma posicao livre (1-9): ");
  scanf("%d",&casa);
  }while((casa>=1)&&(casa<=9));

  if((casa>=1)&&(casa<=9))
  {

  if(mat[casa] == 'X' || mat[casa] == 'O')
     printf(" ");
  else     
     mat[casa] = 'X';

  }      
  printf("\n");
  printf("\t|\t|\n");
  printf("\t|\t|\n");
  printf("%c\t|%c\t|%c\n",mat[1],mat[2],mat[3]);
  printf("--------|-------|-------\n");
  printf("\t|\t|\n");
  printf("%c\t|%c\t|%c\n",mat[4],mat[5],mat[6]);
  printf("--------|-------|-------\n");
  printf("\t|\t|\n");
  printf("\t|\t|\n");
  printf("%c\t|%c\t|%c\n\n",mat[7],mat[8],mat[9]);



  if(mat[1] != ' ' && mat[1] == mat[2] && mat[2] == mat[3]) {
              jogo++;
              printf("X Ganhou!\n"); 
              break;  }
       else if(mat[4] != ' ' && mat[4] == mat[5] && mat[5] == mat[6]) {
              printf("X Ganhou!\n");
              jogo++;
              break; }
       else if(mat[7] != ' ' && mat[7] == mat[8] && mat[8] == mat[9]) {
              printf("X Ganhou!\n");
              jogo++;
                break; }
       else if(mat[1] != ' ' && mat[1] == mat[4] && mat[4] == mat[7]) {
              printf("X Ganhou!\n");
              jogo++; 
                break;}
       else if(mat[2] != ' ' && mat[2] == mat[5] && mat[5] == mat[8]) {
              printf("X Ganhou!\n");
              jogo++;
                break; }
       else if(mat[3] != ' ' && mat[3] == mat[6] && mat[6] == mat[9]) {
              printf("X Ganhou!\n");
              jogo++;
                break; }
       else if(mat[1] != ' ' && mat[1] == mat[5] && mat[5] == mat[9]){ 
               printf("X Ganhou!\n");
              jogo++; 
                break;}
       else if(mat[7] != ' ' && mat[7] == mat[5] && mat[5] == mat[3]) { 
               printf("X Ganhou!\n"); 
              jogo++;
                break; }
       else if((mat[1] != ' ') && (mat[2] != ' ') && (mat[3] != ' ') && (mat[4] != ' ') && (mat[5] != ' ') && (mat[6] != ' ') && (mat[7] != ' ') && (mat[8] != ' ') && (mat[9] = ' ')){
                printf("Velha!\n");
                jogo++;
                break;
                }

     printf("\nJOGADOR O ");
     printf("\nInforme uma posicao livre (1-9): ");
     scanf("%d",&casa);
     if((casa>=1)&&(casa<=9))
     {

     if(mat[casa] == 'X' || mat[casa] == 'O')
     ;
     else     
        mat[casa] = 'O';

     }            
     printf("\n");
     printf("\t|\t|\n");
     printf("\t|\t|\n");
     printf("%c\t|%c\t|%c\n",mat[1],mat[2],mat[3]);
     printf("--------|-------|-------\n");
     printf("\t|\t|\n");
     printf("%c\t|%c\t|%c\n",mat[4],mat[5],mat[6]);
     printf("--------|-------|-------\n");
     printf("\t|\t|\n");
     printf("\t|\t|\n");
     printf("%c\t|%c\t|%c\n\n",mat[7],mat[8],mat[9]);


       if(mat[1] != ' ' && mat[1] == mat[2] && mat[2] == mat[3]) {
              printf("O Ganhou!\n");  
              jogo++;
                break; }
       else if(mat[4] != ' ' && mat[4] == mat[5] && mat[5] == mat[6]) {
              printf("O Ganhou!\n");
              jogo++;
                break; }
       else if(mat[7] != ' ' && mat[7] == mat[8] && mat[8] == mat[9]) {
              printf("O Ganhou!\n");
              jogo++;
                break; }
       else if(mat[1] != ' ' && mat[1] == mat[4] && mat[4] == mat[7]) {
              printf("O Ganhou!\n");
              jogo++;
                break; }
       else if(mat[2] != ' ' && mat[2] == mat[5] && mat[5] == mat[8]) {
              printf("O Ganhou!\n");
              jogo++; 
                break;}
       else if(mat[3] != ' ' && mat[3] == mat[6] && mat[6] == mat[9]) {
              printf("O Ganhou!\n");
              jogo++;
                break; }
       else if(mat[1] != ' ' && mat[1] == mat[5] && mat[5] == mat[9]){ 
               printf("O Ganhou!\n");
              jogo++; 
                break;}
       else if(mat[7] != ' ' && mat[7] == mat[5] && mat[5] == mat[3]) { 
               printf("O Ganhou!\n"); 
              jogo++;
                break; }
      else if((mat[1] != ' ') && (mat[2] != ' ') && (mat[3] != ' ') && (mat[4] != ' ') && (mat[5] != ' ') && (mat[6] != ' ') && (mat[7] != ' ') && (mat[8] != ' ') && (mat[9] = ' ')){
                printf("Velha!\n");
                jogo++;
                break;
                }

}

  system("PAUSE");  
  return 0;

}

推荐答案

对于第二部分,您可能需要更改您的



For the 2nd part you probablt need to change your

while((casa>=1)&&(casa<=9));





加入





to add in

&& mat[casa] == ' '





换句话说,请继续请求输入,直到数字在1到9之间,并且该数字的平方值为空



In other words, keep requesting input until the number is between 1 and 9 AND the value of the square at that number is empty


这篇关于Tic Tac Toe Tied Games的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆