Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <windows.h>
- HANDLE kon = GetStdHandle(STD_OUTPUT_HANDLE);
- using namespace std;
- int szachownica[9][9];
- int pionki1[9][9];
- int pionki2[9][9];
- int x,xz,y,yz; //zmienne przesuwajace
- int licz, zazn; //zmienna liczaca ilosc przejsc petli do w wypisz_szach oraz zmienna wazna przy zmianie kolora zaznaczenia
- int runda=1;
- void pion() // funkcja do pionkow startowych
- {
- pionki1[1][1]=1;
- pionki1[1][3]=1;
- pionki1[1][5]=1;
- pionki1[1][7]=1;
- pionki1[2][2]=1;
- pionki1[2][4]=1;
- pionki1[2][6]=1;
- pionki1[2][8]=1;
- pionki1[3][1]=1;
- pionki1[3][3]=1;
- pionki1[3][5]=1;
- pionki1[3][7]=1;
- pionki2[6][2]=2;
- pionki2[6][4]=2;
- pionki2[6][6]=2;
- pionki2[6][8]=2;
- pionki2[7][1]=2;
- pionki2[7][3]=2;
- pionki2[7][5]=2;
- pionki2[7][7]=2;
- pionki2[8][2]=2;
- pionki2[8][4]=2;
- pionki2[8][6]=2;
- pionki2[8][8]=2;
- }
- void pion1()
- {
- do
- {
- if(pionki1[x][y]==1) // przesuwanie PIONKOW 1
- {
- SetConsoleTextAttribute (kon,10); // kolor X
- cout << endl << "xz: ";
- cin >> xz;
- if(xz!=0)
- {
- SetConsoleTextAttribute (kon,11); //kolor Y
- cout << "yz: ";
- cin >> yz;
- if(xz%2 && yz%2 || (xz%2)==0 && (yz%2)==0)
- {
- if(pionki1[xz][yz]==0 && xz-x==1 && yz-y==1) //warunki prawidłowego ruchu (PRAWO DOL)
- {
- pionki1[xz][yz]=1;
- pionki1[x][y]=0;
- zazn=1;
- runda++;
- }
- if(pionki1[xz][yz]==0 && xz-x==1 && yz-y==-1) //warunki prawidłowego ruchu (LEWO GORA)
- {
- pionki1[xz][yz]=1;
- pionki1[x][y]=0;
- zazn=1;
- runda++;
- }
- if(x==xz && y==yz) //gdy zaznaczymy te samo pole
- {
- pionki1[xz][yz]=1;
- zazn=0;
- }
- }
- licz++;
- }
- if(xz==0) //gdy pierwsza wspolrzedna przesuniecia = 0
- {
- zazn=1;
- }
- }
- if(pionki1[x][y]==0) //gdy pole ktore zaznaczamy = 0, przerywa funkcje i nie zaznacza
- {
- zazn=1;
- break;
- }
- }
- while(zazn==0);
- }
- void pion2()
- {
- zazn=1;
- do
- {
- if(pionki2[x][y]==2) // przesuwanie PIONKOW 2
- {
- SetConsoleTextAttribute (kon,10); // kolor X
- cout << endl << "xz: ";
- cin >> xz;
- if(xz!=0)
- {
- SetConsoleTextAttribute (kon,11); //kolor Y
- cout << "yz: ";
- cin >> yz;
- if(xz%2 && yz%2 || (xz%2)==0 && (yz%2)==0)
- {
- if(pionki2[xz][yz]==0 && xz-x==-1 && yz-y==-1) //warunki prawidłowego ruchu (LEWO GORA)
- {
- pionki2[xz][yz]=2;
- pionki2[x][y]=0;
- zazn=1;
- runda++;
- }
- if(pionki2[xz][yz]==0 && xz-x==-1 && yz-y==1) //warunki prawidłowego ruchu (PRAWO GORA)
- {
- pionki2[xz][yz]=2;
- pionki2[x][y]=0;
- zazn=1;
- runda++;
- }
- if(x==xz && y==yz) //gdy zaznaczymy te samo pole
- {
- pionki2[xz][yz]=2;
- zazn=0;
- }
- }
- licz++;
- }
- if(xz==0) //gdy pierwsza wspolrzedna przesuniecia = 0
- {
- zazn=1;
- }
- }
- if(pionki2[x][y]==0) //gdy pole ktore zaznaczamy = 0, przerywa funkcje i nie zaznacza
- {
- zazn=1;
- break;
- }
- }
- while(zazn==0);
- }
- void wypisz_szach() // funkcja wypisujaca szachownice
- {
- do
- {
- licz=0;
- system("cls");
- SetConsoleTextAttribute (kon,11); // kolor Y
- cout << " 12345678" << endl
- << " ________" << endl;
- SetConsoleTextAttribute (kon,15);
- for(int i=1; i<=8; i++)
- {
- SetConsoleTextAttribute (kon,10); // kolor X
- cout << i << "|";
- SetConsoleTextAttribute (kon,15);
- for(int k=1; k<=8; k++)
- {
- SetConsoleTextAttribute (kon,15);
- if(i%2 && (k%2)==0 || (i%2)==0 && k%2) // kolorowanie szachownicy
- {
- SetConsoleTextAttribute (kon,2);
- }
- if(i==x && k==y && zazn==0) // kolorowanie zaznaczenia
- {
- SetConsoleTextAttribute (kon,1);
- }
- if(pionki1[i][k]==1) //konwersja pionki1 > szachownica
- {
- szachownica[i][k]=1;
- }
- if(pionki2[i][k]==2) //konwersja pionki2 > szachownica
- {
- szachownica[i][k]=2;
- }
- if(pionki1[i][k]==0 && pionki2[i][k]==0) //gdy nie ma pionkow wypisuje 0
- {
- szachownica[i][k]=0;
- }
- cout << szachownica[i][k];
- }
- cout << endl;
- }
- zazn=0;}
- while(licz==1);
- }
- int main() // glowny program
- {
- pion(); //wypisanie pionkow
- do
- {
- wypisz_szach(); //wypisanie szachownicy
- if((runda%2)==1)
- {
- cout << endl << "Runda: " << runda << " - Gracz 1!";
- SetConsoleTextAttribute (kon,10);
- cout << endl << "x: "; //zaznacza pionki na szachownicy
- cin >> x;
- if(x==0)
- {
- break;
- }
- SetConsoleTextAttribute (kon,11);
- cout << "y: ";
- cin >> y;
- wypisz_szach();
- pion1(); // ruch GRACZA 1
- wypisz_szach();
- }
- if((runda%2==0))
- {
- cout << endl << "Runda: " << runda << " - Gracz 2!";
- SetConsoleTextAttribute (kon,10);
- cout << endl << "x: "; //zaznacza pionki na szachownicy
- cin >> x;
- if(x==0)
- {
- break;
- }
- SetConsoleTextAttribute (kon,11);
- cout << "y: ";
- cin >> y;
- wypisz_szach();
- pion2(); // ruch GRACZA 2
- wypisz_szach();
- }
- }
- while(x!=0);
- cin.ignore();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement