#include #include #include using namespace std; struct sour_t { int x, y; bool white; }; // K = 0; Q = 1; R =2; B = 3; N = 4; p = 5 vector > pieces; char cislo_na_znak_white(int i) { if (i==0) return 'K'; if (i==1) return 'Q'; if (i==2) return 'R'; if (i==3) return 'B'; if (i==4) return 'N'; if (i==5) return 'P'; return ' '; } char cislo_na_znak_black(int i) { if (i==0) return 'k'; if (i==1) return 'q'; if (i==2) return 'r'; if (i==3) return 'b'; if (i==4) return 'n'; if (i==5) return 'p'; return ' '; } int znak_na_cislo(char ch) { if (ch=='K') return 0; if (ch=='Q') return 1; if (ch=='R') return 2; if (ch=='B') return 3; if (ch=='N') return 4; return 5; } int souradnice_na_cislo(char ch) { if (ch=='a') return 0; if (ch=='b') return 1; if (ch=='c') return 2; if (ch=='d') return 3; if (ch=='e') return 4; if (ch=='f') return 5; if (ch=='g') return 6; if (ch=='h') return 7; return -1; } void read_conf() { bool white = true; string s; char ch; cin >> s; // toto by melo byt White: ; ignorujeme bool first = true; while (cin >> ch) { if (first) first = false; else { if (ch == ',') cin >> ch; else { white = false; cin >> s; cin >> ch; } } int figure = znak_na_cislo(ch); if (figure != 5) cin >> ch; sour_t s; s.x = souradnice_na_cislo(ch); cin >> s.y; s.white = white; // cerr << "nacetl "<< figure << " "<< s.x<< " "<::iterator s = pieces[figure].begin(); s!= pieces[figure].end(); s++) { if ((*s).x == xx && (*s).y == yy) { if ((*s).white) cout << cislo_na_znak_white(figure); else cout << cislo_na_znak_black(figure); found = true; } } } return found; } void print_board() { bool tt = true; for (int i=8; i>=1; i--) { cout <<"+---+---+---+---+---+---+---+---+"<