Advertisement
Md_hosen_zisad

with passwin

Sep 24th, 2019
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.18 KB | None | 0 0
  1. #include<stdio.h>
  2. int board[4][4];
  3.  
  4. void initialize()
  5.   {
  6.       int i,j;
  7.       for(i=1;i<=3;i++)
  8.         for(j=1;j<=3;j++)
  9.            board[i][j]=2;
  10.       printf("\nThe board is initialized.\n");
  11.   }
  12.  
  13. void print_board()
  14.   {
  15.       printf("\n\n");
  16.       int i,j;
  17.       for(i=1;i<=3;i++)
  18.         {
  19.            for(j=1;j<=3;j++)
  20.                if(j!=3)
  21.                 {
  22.                     if(board[i][j] == 2)
  23.                         printf("   |");
  24.                     else if (board[i][j]==3)
  25.                         printf(" X |");
  26.                     else
  27.                         printf(" O |");
  28.                 }
  29.                else
  30.                 {
  31.                     if(board[i][j] == 2)
  32.                         printf("   ");
  33.                     else if (board[i][j]==3)
  34.                         printf(" X ");
  35.                     else
  36.                         printf(" O ");
  37.                 }
  38.             if(i!=3)
  39.              {
  40.                     printf("\n-----------\n");
  41.              }
  42.         }
  43.     printf("\n\n");
  44.   }
  45.  
  46. int Make2()
  47.   {
  48.       if(board[2][2]==2)
  49.         return 5;
  50.       else if(board[1][2]==2)
  51.         return 2;
  52.       else if(board[2][1]==2)
  53.         return 4;
  54.       else if(board[2][3]==2)
  55.         return 6;
  56.       else
  57.         return 8;
  58.   }
  59.  
  60. void Go()
  61.   {
  62.       int player,position;
  63.       printf("\nEnter 3 for player X");
  64.       printf(" Enter 5 for player O ::: ");
  65.       scanf("%d",&player);
  66.       printf("\nEnter the position ::: ");
  67.       scanf("%d",&position);
  68.       if(position==1)
  69.         board[1][1]=player;
  70.       else if(position==2)
  71.         board[1][2]=player;
  72.       else if(position==3)
  73.         board[1][3]=player;
  74.       else if(position==4)
  75.         board[2][1]=player;
  76.       else if(position==5)
  77.         board[2][2]=player;
  78.       else if(position==6)
  79.         board[2][3]=player;
  80.       else if(position==7)
  81.         board[3][1]=player;
  82.       else if(position==8)
  83.         board[3][2]=player;
  84.       else if(position==9)
  85.         board[3][3]=player;
  86.   }
  87.  
  88. int PossWinX()
  89.   {
  90.       if(board[1][1]*board[1][2]*board[1][3]==18)
  91.           {
  92.               if(board[1][1]==2)
  93.                 return 1;
  94.               else if(board[1][2]==2)
  95.                 return 2;
  96.               else
  97.                 return 3;
  98.           }
  99.       else if(board[2][1]*board[2][2]*board[2][3]==18)
  100.           {
  101.               if(board[2][1]==2)
  102.                 return 4;
  103.               else if(board[2][2]==2)
  104.                 return 5;
  105.               else
  106.                 return 6;
  107.           }
  108.       else if(board[3][1]*board[3][2]*board[3][3]==18)
  109.           {
  110.               if(board[3][1]==2)
  111.                 return 7;
  112.               else if(board[3][2]==2)
  113.                 return 8;
  114.               else
  115.                 return 9;
  116.           }
  117.       else if(board[1][1]*board[2][1]*board[3][1]==18)
  118.           {
  119.               if(board[1][1]==2)
  120.                 return 1;
  121.               else if(board[2][1]==2)
  122.                 return 4;
  123.               else
  124.                 return 7;
  125.           }
  126.       else if(board[1][2]*board[2][2]*board[3][2]==18)
  127.           {
  128.               if(board[1][2]==2)
  129.                 return 2;
  130.               else if(board[2][2]==2)
  131.                 return 5;
  132.               else
  133.                 return 8;
  134.           }
  135.       else if(board[1][3]*board[2][3]*board[3][3]==18)
  136.           {
  137.               if(board[1][3]==2)
  138.                 return 3;
  139.               else if(board[2][3]==2)
  140.                 return 6;
  141.               else
  142.                 return 9;
  143.           }
  144.       else if(board[1][1]*board[2][2]*board[3][3]==18)
  145.           {
  146.               if(board[1][1]==2)
  147.                 return 1;
  148.               else if(board[2][2]==2)
  149.                 return 5;
  150.               else
  151.                 return 9;
  152.           }
  153.       else if(board[1][3]*board[2][2]*board[3][1]==18)
  154.           {
  155.               if(board[1][3]==2)
  156.                 return 3;
  157.               else if(board[2][2]==2)
  158.                 return 5;
  159.               else
  160.                 return 7;
  161.           }
  162.        else
  163.                return 0;
  164.   }
  165. int PossWin0()
  166.   {
  167.       if(board[1][1]*board[1][2]*board[1][3]==50)
  168.           {
  169.               if(board[1][1]==2)
  170.                 return 1;
  171.               else if(board[1][2]==2)
  172.                 return 2;
  173.               else
  174.                 return 3;
  175.           }
  176.       else if(board[2][1]*board[2][2]*board[2][3]==50)
  177.           {
  178.               if(board[2][1]==2)
  179.                 return 4;
  180.               else if(board[2][2]==2)
  181.                 return 5;
  182.               else
  183.                 return 6;
  184.           }
  185.       else if(board[3][1]*board[3][2]*board[3][3]==50)
  186.           {
  187.               if(board[3][1]==2)
  188.                 return 7;
  189.               else if(board[3][2]==2)
  190.                 return 8;
  191.               else
  192.                 return 9;
  193.           }
  194.       else if(board[1][1]*board[2][1]*board[3][1]==50)
  195.           {
  196.               if(board[1][1]==2)
  197.                 return 1;
  198.               else if(board[2][1]==2)
  199.                 return 4;
  200.               else
  201.                 return 7;
  202.           }
  203.       else if(board[1][2]*board[2][2]*board[3][2]==50)
  204.           {
  205.               if(board[1][2]==2)
  206.                 return 2;
  207.               else if(board[2][2]==2)
  208.                 return 5;
  209.               else
  210.                 return 8;
  211.           }
  212.       else if(board[1][3]*board[2][3]*board[3][3]==50)
  213.           {
  214.               if(board[1][3]==2)
  215.                 return 3;
  216.               else if(board[2][3]==2)
  217.                 return 6;
  218.               else
  219.                 return 9;
  220.           }
  221.       else if(board[1][1]*board[2][2]*board[3][3]==50)
  222.           {
  223.               if(board[1][1]==2)
  224.                 return 1;
  225.               else if(board[2][2]==2)
  226.                 return 5;
  227.               else
  228.                 return 9;
  229.           }
  230.       else if(board[1][3]*board[2][2]*board[3][1]==50)
  231.           {
  232.               if(board[1][3]==2)
  233.                 return 3;
  234.               else if(board[2][2]==2)
  235.                 return 5;
  236.               else
  237.                 return 7;
  238.           }
  239.        else
  240.                return 0;
  241.   }
  242.  int checkin(){
  243.  
  244.  
  245.       if(board[1][1]*board[1][2]*board[1][3]==27)
  246.           {
  247.                 return 3;
  248.           }
  249.       else if(board[2][1]*board[2][2]*board[2][3]==27)
  250.           {
  251.                 return 3;
  252.           }
  253.       else if(board[3][1]*board[3][2]*board[3][3]==27)
  254.           {
  255.                 return 3;
  256.           }
  257.       else if(board[1][1]*board[2][1]*board[3][1]==27)
  258.           {
  259.                 return 3;
  260.           }
  261.       else if(board[1][2]*board[2][2]*board[3][2]==27)
  262.           {
  263.           return 3;
  264.           }
  265.       else if(board[1][3]*board[2][3]*board[3][3]==27)
  266.           {
  267.                 return 3;
  268.           }
  269.       else if(board[1][1]*board[2][2]*board[3][3]==27)
  270.           {
  271.                 return 3;
  272.           }
  273.       else if(board[1][3]*board[2][2]*board[3][1]==27)
  274.           {
  275.  
  276.             return 3;
  277.           }
  278.  
  279.      else if(board[1][1]*board[1][2]*board[1][3]==125)
  280.           {
  281.                 return 5;
  282.           }
  283.       else if(board[2][1]*board[2][2]*board[2][3]==125)
  284.           {
  285.                 return 5;
  286.           }
  287.       else if(board[3][1]*board[3][2]*board[3][3]==125)
  288.           {
  289.                 return 5;
  290.           }
  291.       else if(board[1][1]*board[2][1]*board[3][1]==125)
  292.           {
  293.                 return 5;
  294.           }
  295.       else if(board[1][2]*board[2][2]*board[3][2]==125)
  296.           {
  297.           return 5;
  298.           }
  299.       else if(board[1][3]*board[2][3]*board[3][3]==125)
  300.           {
  301.                 return 5;
  302.           }
  303.       else if(board[1][1]*board[2][2]*board[3][3]==125)
  304.           {
  305.                 return 5;
  306.           }
  307.       else if(board[1][3]*board[2][2]*board[3][1]==125)
  308.           {
  309.  
  310.             return 5;
  311.           }
  312.           else
  313.                return 0;
  314.   }
  315.  
  316.  
  317. main()
  318. {
  319.     int choice,position,win;
  320.     while(1)
  321.     {
  322.         printf("\nEnter 1 for initialization");
  323.         printf("\nEnter 2 for Make2");
  324.         printf("\nEnter 3 for Go");
  325.         printf("\nEnter 4 for PossWinX");
  326.         printf("\nEnter 5 for PossWin0");
  327.         printf("\nEnter 6 for check  in:");
  328.         printf("\nEnter 10 for Print Board");
  329.         printf("\nEnter 100 for Exit");
  330.         printf("\nEnter your Choice ::: ");
  331.         scanf("%d",&choice);
  332.         if(choice==100)
  333.             break;
  334.         switch(choice)
  335.           {
  336.              case 1: initialize(); break;
  337.              case 2: position=Make2();
  338.                      printf("\nMake2 Returns %d\n",position);
  339.                      break;
  340.              case 3: Go();break;
  341.              case 4: position=PossWinX();
  342.                      printf("\nPossWinX() Returns %d\n",position);
  343.                      break;
  344.             case 5: position=PossWin0();
  345.                      printf("\n posswin0() returns %d\n",position);
  346.                      break;
  347.              case 6 : win=checkin();
  348.                      printf("\n win: %d \n",win);
  349.                      break;
  350.              case 10: print_board();break;
  351.              default: printf("\nYour choice is wrong !!!\n");
  352.           }
  353.     }
  354.  
  355. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement