Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.25 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <windows.h>
  4. HANDLE kon = GetStdHandle(STD_OUTPUT_HANDLE);
  5. using namespace std;
  6. int szachownica[9][9];
  7. int pionki1[9][9];
  8. int pionki2[9][9];                            
  9. int x,xz,y,yz;                                                     //zmienne przesuwajace
  10. int licz, zazn;                                                    //zmienna liczaca ilosc przejsc petli do w wypisz_szach oraz zmienna wazna przy zmianie kolora zaznaczenia
  11. int runda=1;
  12. void pion()                                                        // funkcja do pionkow startowych
  13. {
  14. pionki1[1][1]=1;
  15. pionki1[1][3]=1;
  16. pionki1[1][5]=1;
  17. pionki1[1][7]=1;
  18. pionki1[2][2]=1;
  19. pionki1[2][4]=1;
  20. pionki1[2][6]=1;
  21. pionki1[2][8]=1;
  22. pionki1[3][1]=1;
  23. pionki1[3][3]=1;
  24. pionki1[3][5]=1;
  25. pionki1[3][7]=1;
  26.  
  27. pionki2[6][2]=2;
  28. pionki2[6][4]=2;
  29. pionki2[6][6]=2;
  30. pionki2[6][8]=2;
  31. pionki2[7][1]=2;
  32. pionki2[7][3]=2;
  33. pionki2[7][5]=2;
  34. pionki2[7][7]=2;
  35. pionki2[8][2]=2;
  36. pionki2[8][4]=2;
  37. pionki2[8][6]=2;
  38. pionki2[8][8]=2;
  39. }
  40. void pion1()
  41. {
  42. do
  43. {
  44.      if(pionki1[x][y]==1)                                            // przesuwanie PIONKOW 1
  45.      {
  46.                         SetConsoleTextAttribute (kon,10);                   // kolor X                                
  47.                         cout << endl <<  "xz: ";
  48.                         cin >> xz;
  49.                         if(xz!=0)
  50.                         {
  51.                                  SetConsoleTextAttribute (kon,11);          //kolor Y
  52.                                  cout << "yz: ";
  53.                                  cin >> yz;
  54.                                  if(xz%2 && yz%2 || (xz%2)==0 && (yz%2)==0)
  55.                                  {
  56.                                          if(pionki1[xz][yz]==0 && xz-x==1 && yz-y==1)  //warunki prawidłowego ruchu (PRAWO DOL)
  57.                                          {
  58.                                                    pionki1[xz][yz]=1;
  59.                                                    pionki1[x][y]=0;
  60.                                                    zazn=1;
  61.                                                    runda++;
  62.                                          }
  63.                                          if(pionki1[xz][yz]==0 && xz-x==1 && yz-y==-1)  //warunki prawidłowego ruchu (LEWO GORA)
  64.                                          {
  65.                                                    pionki1[xz][yz]=1;
  66.                                                    pionki1[x][y]=0;
  67.                                                    zazn=1;
  68.                                                    runda++;
  69.                                          }
  70.                                  
  71.                                          
  72.                                          
  73.                                  if(x==xz && y==yz)                  //gdy zaznaczymy te samo pole
  74.                                  {
  75.                                           pionki1[xz][yz]=1;
  76.                                           zazn=0;
  77.                                           }
  78.                              
  79.                               }
  80.                               licz++;  
  81.                         }
  82.                         if(xz==0)                                    //gdy pierwsza wspolrzedna przesuniecia = 0
  83.                         {
  84.                                  zazn=1;
  85.                         }
  86.      }
  87.      if(pionki1[x][y]==0)                                            //gdy pole ktore zaznaczamy = 0, przerywa funkcje i nie zaznacza
  88.      {
  89.                           zazn=1;                                          
  90.                           break;
  91.      }
  92. }
  93. while(zazn==0);
  94. }
  95. void pion2()
  96. {
  97.      zazn=1;
  98. do
  99. {
  100.      if(pionki2[x][y]==2)                                            // przesuwanie PIONKOW 2
  101.      {
  102.                         SetConsoleTextAttribute (kon,10);                   // kolor X                                
  103.                         cout << endl <<  "xz: ";
  104.                         cin >> xz;
  105.                         if(xz!=0)
  106.                         {
  107.                                  SetConsoleTextAttribute (kon,11);          //kolor Y
  108.                                  cout << "yz: ";
  109.                                  cin >> yz;
  110.                                  if(xz%2 && yz%2 || (xz%2)==0 && (yz%2)==0)
  111.                                  {
  112.                                          if(pionki2[xz][yz]==0 && xz-x==-1 && yz-y==-1)  //warunki prawidłowego ruchu (LEWO GORA)
  113.                                          {
  114.                                                    pionki2[xz][yz]=2;
  115.                                                    pionki2[x][y]=0;
  116.                                                    zazn=1;
  117.                                                    runda++;
  118.                                                    
  119.                                          }
  120.                                          if(pionki2[xz][yz]==0 && xz-x==-1 && yz-y==1)  //warunki prawidłowego ruchu (PRAWO GORA)
  121.                                          {
  122.                                                    pionki2[xz][yz]=2;
  123.                                                    pionki2[x][y]=0;
  124.                                                    zazn=1;
  125.                                                    runda++;
  126.                                          }
  127.                                  
  128.                                          
  129.                                          
  130.                                  if(x==xz && y==yz)                  //gdy zaznaczymy te samo pole
  131.                                  {
  132.                                           pionki2[xz][yz]=2;
  133.                                           zazn=0;
  134.                                           }
  135.                              
  136.                               }
  137.                               licz++;  
  138.                         }
  139.                         if(xz==0)                                    //gdy pierwsza wspolrzedna przesuniecia = 0
  140.                         {
  141.                                  zazn=1;
  142.                         }
  143.      }
  144.      if(pionki2[x][y]==0)                                            //gdy pole ktore zaznaczamy = 0, przerywa funkcje i nie zaznacza
  145.      {
  146.                           zazn=1;                                          
  147.                           break;
  148.      }
  149. }
  150. while(zazn==0);
  151. }          
  152. void wypisz_szach()                                            // funkcja wypisujaca szachownice
  153. {
  154. do
  155. {
  156.      licz=0;
  157.      system("cls");
  158.      SetConsoleTextAttribute (kon,11);                           // kolor Y
  159.      cout << "  12345678" << endl
  160.           << "  ________" << endl;
  161.      SetConsoleTextAttribute (kon,15);    
  162.          
  163.      for(int i=1; i<=8; i++)
  164.      {
  165.              SetConsoleTextAttribute (kon,10);                   // kolor X
  166.              cout << i << "|";
  167.              SetConsoleTextAttribute (kon,15);
  168.              for(int k=1; k<=8; k++)
  169.              {
  170.                      SetConsoleTextAttribute (kon,15);
  171.                      if(i%2 && (k%2)==0 || (i%2)==0 && k%2)       // kolorowanie szachownicy      
  172.                      {
  173.                             SetConsoleTextAttribute (kon,2);        
  174.                      }        
  175.                      if(i==x && k==y && zazn==0)                     // kolorowanie zaznaczenia
  176.                             {
  177.                                     SetConsoleTextAttribute (kon,1);
  178.                                    
  179.                             }
  180.                      if(pionki1[i][k]==1)                            //konwersja pionki1 > szachownica
  181.                      {
  182.                                         szachownica[i][k]=1;
  183.                                         }
  184.                      
  185.                      if(pionki2[i][k]==2)                            //konwersja pionki2 > szachownica
  186.                      {
  187.                                         szachownica[i][k]=2;
  188.                                         }
  189.                                                            
  190.                      if(pionki1[i][k]==0 && pionki2[i][k]==0)        //gdy nie ma pionkow wypisuje 0
  191.                      {  
  192.                      szachownica[i][k]=0;
  193.                      }
  194.                      cout << szachownica[i][k];  
  195.              }
  196.              cout << endl;
  197.      }
  198.      
  199.      zazn=0;}
  200. while(licz==1);
  201. }    
  202.    
  203. int main()                                                // glowny program
  204. {
  205.    
  206. pion();                                                   //wypisanie pionkow    
  207. do
  208. {
  209.      wypisz_szach();                                       //wypisanie szachownicy
  210.      
  211.      
  212.      if((runda%2)==1)
  213.      {
  214.                      cout << endl << "Runda: " << runda << " - Gracz 1!";
  215.                      SetConsoleTextAttribute (kon,10);
  216.                      cout << endl << "x: ";                                //zaznacza pionki na szachownicy
  217.                      cin >> x;
  218.                      if(x==0)
  219.                      {
  220.                              break;
  221.                      }
  222.                      SetConsoleTextAttribute (kon,11);
  223.                      cout << "y: ";
  224.                      cin >> y;
  225.                      wypisz_szach();
  226.                      pion1();                                               // ruch GRACZA 1
  227.                      wypisz_szach();
  228.      }
  229.      
  230.      if((runda%2==0))
  231.      {
  232.                      cout << endl << "Runda: " << runda << " - Gracz 2!";
  233.                      
  234.                      SetConsoleTextAttribute (kon,10);
  235.                      cout << endl << "x: ";                                //zaznacza pionki na szachownicy
  236.                      cin >> x;
  237.                      if(x==0)
  238.                      {
  239.                              break;
  240.                      }
  241.                      SetConsoleTextAttribute (kon,11);
  242.                      cout << "y: ";
  243.                      cin >> y;
  244.                      wypisz_szach();
  245.                      pion2();                                          // ruch GRACZA 2
  246.                       wypisz_szach();
  247.      }
  248.                                                            
  249.                                                              
  250. }
  251. while(x!=0);
  252.  
  253.  cin.ignore();
  254.  return 0;
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement