Guest User

Untitled

a guest
Jan 8th, 2019
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int a,b;
  5. void bicie(char plansza[][8],char wybor,int a, int b);
  6. void rysuj_plansze(char plansza[][8], char wybor)
  7. {
  8.     for(int i=0; i<8; i++)
  9.     {
  10.         cout << "  " << i+1;
  11.     }
  12.     cout << "              Ruch "<<wybor <<endl ;
  13.     for(int i=0; i<8; i++)
  14.     {
  15.         cout << i+1;
  16.         if(plansza[i][0]=='C')
  17.             {
  18.                 cout << "[C]";
  19.             }
  20.         else if(plansza[i][0]=='B')
  21.             {
  22.                 cout << "[B]";
  23.             }
  24.         else if (plansza[i][0]==' ')
  25.             {
  26.                 cout<< "[ ]";
  27.             }
  28.         else if (plansza[i][0]=='a')
  29.             {
  30.                 cout<< "[1]";
  31.             }
  32.         else if (plansza[i][0]=='b')
  33.             {
  34.                 cout<< "[2]";
  35.             }
  36.         else if (plansza[i][0]=='c')
  37.             {
  38.                 cout<< "[3]";
  39.             }
  40.         else if (plansza[i][0]=='d')
  41.             {
  42.                 cout<< "[4]";
  43.             }
  44.  
  45.                                     for(int j=1; j<8; j++)
  46.                                     {
  47.                                         if(plansza[i][j]=='C')
  48.                                         {
  49.                                             cout << "[C]";
  50.                                         }
  51.                                         else if(plansza[i][j]=='B')
  52.                                         {
  53.                                             cout << "[B]";
  54.                                         }
  55.  
  56.                                         else if(plansza[i][j]==' ')
  57.                                         {
  58.                                             cout << "[ ]";
  59.                                         }
  60.                                         else if (plansza[i][j]=='a')
  61.                                         {
  62.                                             cout << "[1]";
  63.                                         }
  64.                                         else if (plansza[i][j]=='b')
  65.                                         {
  66.                                             cout << "[2]";
  67.                                         }
  68.                                         else if (plansza[i][j]=='c')
  69.                                         {
  70.                                             cout << "[3]";
  71.                                         }
  72.                                         else if (plansza[i][j]=='d')
  73.                                         {
  74.                                             cout << "[4]";
  75.                                         }
  76.                                     }
  77.  
  78.         cout <<endl;
  79.     }
  80.  
  81.  
  82. }
  83. void biale(char plansza[][8])
  84. {
  85.     int i,j,k=0;
  86.     for( i=0,j=0; k<12;)
  87.     {
  88.        plansza[i][j]='B';
  89.        j+=2;
  90.        if(j==8)
  91.        {
  92.            j=1;
  93.            i++;
  94.        }
  95.        else if(j==9)
  96.        {
  97.            j=0;
  98.            i++;
  99.        }
  100.        k++;
  101.     }
  102. }
  103. void czarne(char plansza[][8])
  104. {
  105.     int i,j,k=0;
  106.     for( i=7,j=7; k<12;)
  107.     {
  108.        plansza[i][j]='C';
  109.        j=j-2;
  110.        if(j==-2)
  111.        {
  112.            j=7;
  113.            i--;
  114.        }
  115.        else if(j==-1)
  116.        {
  117.            j=6;
  118.            i--;
  119.        }
  120.        k++;
  121.     }
  122. }
  123. void nowa_gra(char plansza[][8])
  124. {
  125.     for(int i=0; i<8; i++)
  126.     {
  127.        plansza[i][0]=' ';
  128.        for(int j=1; j<8; j++)
  129.        {
  130.            plansza[i][j]=' ';
  131.        }
  132.     }
  133.     //biale(plansza);
  134.     //czarne(plansza);
  135.     plansza[3][3]='B';
  136.     plansza[3][5]='B';
  137.     plansza[4][4]='C';
  138. }
  139. void sprawdz_plansze(char plansza[][8]) // ta funkcja sprawdza jaka wartosc przyjmuje poszczegolna plansza[][].
  140. {
  141.     for(int i=0; i<8;i++)
  142.     {
  143.         char ocb;
  144.         ocb=plansza[i][0];
  145.         cout<< "  plansza["<<i<<"][0]= "<< ocb;
  146.         cout<< endl;
  147.         for(int j=1; j<8;j++)
  148.         {
  149.             ocb=plansza[i][j];
  150.             cout<< "   plansza["<<i<<"]["<<j<<"]= "<< ocb;
  151.             cout << endl;
  152.  
  153.         }
  154.  
  155.     }
  156. }
  157. void wybor_kapsla(char plansza[][8],char wybor)  // ta funkcja jest zaimplementowana bezposrednio w ruchu, na ta chwile nie potrafie korzystac z niej bezposrednio w innej funkcji.
  158. {
  159.     int a,b;
  160.         if(wybor=='B')
  161.         {
  162.          cout << "Wybierz kapsel:    Ruch: Bia³y" ;
  163.         }
  164.         if(wybor=='C')
  165.         {
  166.             cout << "Wybierz kapsel:    Ruch: Czerwony" ;
  167.         }
  168.         cin >> a >> b;
  169.         a-=1;
  170.         b-=1;
  171.         plansza[a][b]=wybor;
  172. }
  173. void ruch_B(char plansza[][8],char wybor)
  174. {
  175. /////////////////wybor kapsla/////////////////////////////////////
  176.     int a,b;
  177.     char tymczas_a,tymczas_b;
  178.  
  179.         do
  180.         {
  181.             cout << "Wybierz kapsel: ";
  182.             cin >> a >> b;
  183.         a-=1;
  184.         b-=1;
  185.  
  186.             if(plansza[a+1][b-1]!=' '&& plansza[a+1][b-1]==wybor && plansza[a+1][b+1]!=' ' && plansza[a+1][b+1]==wybor ||
  187.             b==0 && plansza[a+1][b+1]!=' ' && plansza[a+1][b+1]==wybor || b==7 && plansza[a+1][b-1]!=' ' && plansza[a+1][b-1]==wybor)
  188.             {
  189.                 cout<< "Nie mozesz ruszyc sie tym kapslem..." << endl;
  190.             }
  191.             else if(plansza[a][b]==' ')
  192.             {
  193.                 cout << "Wybrales puste pole" <<endl;
  194.             }
  195.  
  196.  
  197.         }
  198.         while(plansza[a+1][b-1]!=' ' && plansza[a+1][b-1]==wybor && plansza[a+1][b+1]!=' ' && plansza[a+1][b+1]==wybor ||
  199.               b==0 && plansza[a+1][b+1]!=' ' && plansza[a+1][b+1]==wybor ||
  200.               b==7 && plansza[a+1][b-1]!=' ' && plansza[a+1][b-1]==wybor ||
  201.               plansza[a][b]==' ');
  202.  
  203.         plansza[a][b]=wybor;
  204.         ////zajmuje tymczasowe miejsce miejsc na planszy zeby pozniej je oddac //////
  205.         tymczas_a=plansza[a+1][b-1];
  206.         tymczas_b=plansza[a+1][b+1];
  207.  
  208.         //////////Jeśli bedzie bicie to ta komedna pomija zaznaczanie ruchu pionka//////
  209.        if(plansza[a-1][b-1]!=wybor && plansza[a-1][b-1]!=' '||plansza[a-1][b+1]!=wybor && plansza[a-1][b+1]!=' ' ||
  210.        plansza[a+1][b-1]!=wybor && plansza[a+1][b-1]!=' ' ||plansza[a+1][b+1]!=wybor && plansza[a+1][b+1]!=' ' )
  211.         {
  212.             if(plansza[a-2][b-2]==' ' ||plansza[a-2][b+2]==' ' ||
  213.                plansza[a+2][b-2]==' ' ||plansza[a+2][b+2]==' ' )
  214.                {
  215.                   return;
  216.                }
  217.         }
  218.  
  219.         //////Zaznaczamy na planszy jak moze ruszac sie kapsel/////////////////////////////
  220.         if(plansza[a+1][b-1]==' ' && plansza[a+1][b+1]==' ' && b>0 && b<7)
  221.         {
  222.             plansza[a+1][b-1]='a';
  223.             plansza[a+1][b+1]='b';
  224.         }
  225.         else if(plansza[a+1][b-1]!=' '|| b==0)
  226.         {
  227.             plansza[a+1][b+1]='b';
  228.         }
  229.         else if(plansza[a+1][b+1]!=' ' || b==7)
  230.         {
  231.             plansza[a+1][b-1]='a';
  232.         }
  233.  
  234.         //////////////////////
  235.  
  236.  
  237. /////////////////ruch/////////////////////////////////////////////
  238.     int rusz_sie;
  239.     cout << "gdzie chcesz sie ruszyc? "<< endl;
  240.     rysuj_plansze(plansza, wybor);
  241.  
  242.     ////////// oddaje tymczasowe //////////////
  243.     plansza[a+1][b-1]=tymczas_a;
  244.     plansza[a+1][b+1]=tymczas_b;
  245.     //////////////////////////////////////////
  246.  
  247.     cin>> rusz_sie;
  248.     ////////////////wybiera pole ktore nie jest zajete///////////////////////////////////////
  249.     if(plansza[a+1][b-1]!=' ' || b==0)
  250.     {
  251.         switch (rusz_sie)
  252.         {
  253.             case 2:
  254.             {
  255.                 plansza[a][b]=' ';
  256.                 plansza[a+1][b+1]=wybor;
  257.             }
  258.  
  259.             break;
  260.             default: cout << "nie mozesz tego zrobic." << endl;
  261.         }
  262.     }
  263.     else if(plansza[a+1][b+1]!=' ' || b==7)
  264.     {
  265.         switch (rusz_sie)
  266.         {
  267.             case 1:
  268.             {
  269.                 plansza[a][b]=' ';
  270.                 plansza[a+1][b-1]=wybor;
  271.             }
  272.  
  273.             break;
  274.         }
  275.     }
  276.     else
  277.     {
  278.         switch (rusz_sie)
  279.         {
  280.         case 2:
  281.             if (plansza[a+1][b+1]==' ')
  282.             {
  283.                 plansza[a][b]=' ';
  284.                 plansza[a+1][b+1]=wybor;
  285.             }
  286.             else cout << "Nie mozesz tego zrobic.";
  287.             break;
  288.         case 1:
  289.             if (plansza[a+1][b-1]==' ')
  290.             {
  291.                 plansza[a][b]=' ';
  292.                 plansza[a+1][b-1]=wybor;
  293.             }
  294.             else cout << "Nie mozesz tego zrobic.";
  295.             break;
  296.         }
  297.  
  298.     }
  299.     /////////////////////////////////////////////////////////////////////////
  300.  
  301. }
  302. void ruch_C(char plansza[][8],char wybor)
  303. {
  304. /////////////////wybor kapsla/////////////////////////////////////
  305.     //int a,b;
  306.     char tymczas_a,tymczas_b;
  307.  
  308.         do
  309.         {
  310.             cout << "Wybierz kapsel: ";
  311.             cin >> a >> b;
  312.         a-=1;
  313.         b-=1;
  314.  
  315.             if(plansza[a-1][b-1]!=' '&& plansza[a-1][b-1]==wybor && plansza[a-1][b+1]!=' ' && plansza[a-1][b+1]==wybor ||
  316.             b==0 && plansza[a-1][b+1]!=' ' && plansza[a-1][b+1]==wybor || b==7 && plansza[a-1][b-1]!=' ' && plansza[a-1][b-1]==wybor)
  317.             {
  318.                 cout<< "Nie mozesz ruszyc sie tym kapslem..." << endl;
  319.             }
  320.             else if(plansza[a][b]==' ')
  321.             {
  322.                 cout << "Wybrales puste pole" <<endl;
  323.             }
  324.  
  325.  
  326.         }
  327.         while(plansza[a-1][b-1]!=' '&& plansza[a-1][b-1]==wybor && plansza[a-1][b+1]!=' '&& plansza[a-1][b+1]==wybor ||
  328.                b==0 && plansza[a-1][b+1]!=' '&& plansza[a-1][b+1]==wybor||
  329.                b==7 && plansza[a-1][b-1]!=' '&& plansza[a-1][b-1]==wybor||
  330.                plansza[a][b]==' ');
  331.  
  332.         plansza[a][b]=wybor;
  333.         ////zajmuje tymczasowe miejsce miejsc na planszy zeby pozniej je oddac //////
  334.         tymczas_a=plansza[a-1][b-1];
  335.         tymczas_b=plansza[a-1][b+1];
  336.  
  337.         //////////Jeśli bedzie bicie to ta komedna pomija zaznaczanie ruchu pionka//////
  338.        if(plansza[a-1][b-1]!=wybor && plansza[a-1][b-1]!=' '||plansza[a-1][b+1]!=wybor && plansza[a-1][b+1]!=' ' ||
  339.        plansza[a+1][b-1]!=wybor && plansza[a+1][b-1]!=' ' ||plansza[a+1][b+1]!=wybor && plansza[a+1][b+1]!=' ' )
  340.         {
  341.             if(plansza[a-2][b-2]==' ' ||plansza[a-2][b+2]==' ' ||
  342.                plansza[a+2][b-2]==' ' ||plansza[a+2][b+2]==' ' )
  343.                {
  344.                   return;
  345.                }
  346.         }
  347.  
  348.         //////Zaznaczamy na planszy jak moze ruszac sie kapsel/////////////////////////////
  349.         if(plansza[a-1][b-1]==' ' && plansza[a-1][b+1]==' ' && b>0 && b<7)
  350.         {
  351.             plansza[a-1][b-1]='a';
  352.             plansza[a-1][b+1]='b';
  353.         }
  354.         else if(plansza[a-1][b-1]!=' '|| b==0)
  355.         {
  356.             plansza[a-1][b+1]='b';
  357.         }
  358.         else if(plansza[a-1][b+1]!=' ' || b==7)
  359.         {
  360.             plansza[a-1][b-1]='a';
  361.         }
  362.  
  363.         //////////////////////
  364.  
  365.  
  366. /////////////////ruch/////////////////////////////////////////////
  367.     int rusz_sie;
  368.     cout << "gdzie chcesz sie ruszyc? "<< endl;
  369.     rysuj_plansze(plansza,wybor);
  370.  
  371.     ////////// oddaje tymczasowe //////////////
  372.     plansza[a-1][b-1]=tymczas_a;
  373.     plansza[a-1][b+1]=tymczas_b;
  374.     //////////////////////////////////////////
  375.  
  376.     cin>> rusz_sie;
  377.     ////////////////wybiera pole ktore nie jest zajete///////////////////////////////////////
  378.     if(plansza[a-1][b-1]!=' ' || b==0)
  379.     {
  380.         switch (rusz_sie)
  381.         {
  382.             case 2:
  383.             {
  384.                 plansza[a][b]=' ';
  385.                 plansza[a-1][b+1]=wybor;
  386.             }
  387.  
  388.             break;
  389.             default: cout << "nie mozesz tego zrobic." << endl;
  390.         }
  391.     }
  392.     else if(plansza[a-1][b+1]!=' ' || b==7)
  393.     {
  394.         switch (rusz_sie)
  395.         {
  396.             case 1:
  397.             {
  398.                 plansza[a][b]=' ';
  399.                 plansza[a-1][b-1]=wybor;
  400.             }
  401.  
  402.             break;
  403.         }
  404.     }
  405.     else
  406.     {
  407.         switch (rusz_sie)
  408.         {
  409.         case 2:
  410.             if (plansza[a-1][b+1]==' ')
  411.             {
  412.                 plansza[a][b]=' ';
  413.                 plansza[a-1][b+1]=wybor;
  414.             }
  415.             else cout << "Nie mozesz tego zrobic.";
  416.             break;
  417.         case 1:
  418.             if (plansza[a-1][b-1]==' ')
  419.             {
  420.                 plansza[a][b]=' ';
  421.                 plansza[a-1][b-1]=wybor;
  422.             }
  423.             else cout << "Nie mozesz tego zrobic.";
  424.             break;
  425.         }
  426.  
  427.     }
  428.     /////////////////////////////////////////////////////////////////////////
  429.  
  430. }
  431. void bicie(char plansza[][8],char wybor,int a, int b)
  432. {
  433.     int ruch;
  434.     if(plansza[a-1][b-1]!=wybor ||plansza[a-1][b+1]!=wybor ||
  435.        plansza[a+1][b-1]!=wybor ||plansza[a+1][b+1]!=wybor )
  436.     {
  437.         if(plansza[a-2][b-2]==' ' ||plansza[a-2][b+2]==' ' ||
  438.            plansza[a+2][b-2]==' ' ||plansza[a+2][b+2]==' ' )
  439.         {
  440.             char tymczas_a,tymczas_b,tymczas_c,tymczas_d;
  441.             tymczas_a = plansza[a-2][b-2];
  442.             tymczas_b = plansza[a-2][b+2];
  443.             tymczas_c = plansza[a+2][b-2];
  444.             tymczas_d = plansza[a+2][b+2];
  445.  
  446.             if(b>0 && b<7 && plansza[a-2][b-2]==' ' && plansza[a-1][b-1]!=wybor && plansza[a-1][b-1]!=' ')
  447.             {
  448.                 plansza[a-2][b-2]='a';
  449.             }
  450.             if(b>0 && b<7 && plansza[a-2][b+2]==' ' && plansza[a-1][b+1]!=wybor && plansza[a-1][b+1]!=' ')
  451.             {
  452.                 plansza[a-2][b+2]='b';
  453.             }
  454.             if(b>0 && b<7 && plansza[a+2][b-2]==' ' && plansza[a+1][b-1]!=wybor && plansza[a+1][b-1]!=' ')
  455.             {
  456.                 plansza[a+2][b-2]='c';
  457.             }
  458.             if(b>0 && b<7 && plansza[a+2][b+2]==' ' && plansza[a+1][b+1]!=wybor && plansza[a+1][b+1]!=' ')
  459.             {
  460.                 plansza[a+2][b+2]='d';
  461.             }
  462.             rysuj_plansze(plansza,wybor);
  463.             cout << "gdzie bicie? "<< endl;
  464.             //// oddaje tymczasowe ////////////////////
  465.           //  plansza[a-2][b-2] = tymczas_a;
  466.           //  plansza[a-2][b+2] = tymczas_b;
  467.           //  plansza[a+2][b-2] = tymczas_c;
  468.           //  plansza[a+2][b+2] = tymczas_d;
  469.             /////////////////////////////////////////////
  470.  
  471.            // cin >> ruch;
  472. /*
  473.             switch (ruch)
  474.             {
  475.             case 1:
  476.                 if(plansza[a-2][b-2]==' ')
  477.                 {
  478.                     plansza[a-2][b-2]=wybor;
  479.                 }
  480.  
  481.             case 2:
  482.                  if(plansza[a-2][b+2]==' ')
  483.                 {
  484.                     plansza[a-2][b+2]=wybor;
  485.                 }
  486.             case 3:
  487.                  if(plansza[a+2][b-2]==' ')
  488.                 {
  489.                     plansza[a+2][b-2]=wybor;
  490.                 }
  491.             case 4:
  492.                  if(plansza[a+2][b+2]==' ')
  493.                 {
  494.                     plansza[a+2][b+2]=wybor;
  495.                 }
  496.                 break;
  497.  
  498.             }*/
  499.         }
  500.     }
  501. }
  502. int main()
  503. {
  504. char plansza [8][8];
  505. char wybor='B';
  506.     nowa_gra(plansza);
  507.     //biale(plansza);
  508.     //rysuj_plansze(plansza, wybor);
  509.     //wybor_kapsla(plansza,wybor);
  510.     while(1)
  511.     {
  512.     wybor='B';
  513.     rysuj_plansze(plansza, wybor);
  514.     ruch_B(plansza,wybor);
  515.     bicie(plansza,wybor,a,b);
  516.     rysuj_plansze(plansza, wybor);
  517.     wybor='C';
  518.     rysuj_plansze(plansza, wybor);
  519.     ruch_C(plansza,wybor);
  520.     bicie(plansza,wybor,a,b);
  521.     rysuj_plansze(plansza, wybor);
  522.     //sprawdz_plansze(plansza);
  523.     }
  524.     return 0;
  525. }
Add Comment
Please, Sign In to add comment