|
@@ -12,24 +12,25 @@
|
|
|
using namespace std;
|
|
|
|
|
|
int main() {
|
|
|
- Figure** figures = new Figure*[6];
|
|
|
+ vector<Figure*> figures;
|
|
|
Pawn p(Position('A', '1'), 'W');
|
|
|
- figures[0] = &p;
|
|
|
+ figures.push_back(&p);
|
|
|
Horse h(Position('B', '1'), 'B');
|
|
|
- figures[1] = &h;
|
|
|
+ figures.push_back(&h);
|
|
|
Bishop b(Position('C', '1'), 'W');
|
|
|
- figures[2] = &b;
|
|
|
+ figures.push_back(&b);
|
|
|
Rook r(Position('D', '1'), 'W');
|
|
|
- figures[3] = &r;
|
|
|
+ figures.push_back(&r);
|
|
|
Queen q(Position('E', '1'), 'W');
|
|
|
- figures[4] = &q;
|
|
|
+ figures.push_back(&q);
|
|
|
King k(Position('F', '1'), 'B');
|
|
|
- figures[5] = &k;
|
|
|
+ figures.push_back(&k);
|
|
|
+
|
|
|
+ vector<Position> moves;
|
|
|
for (int i = 0; i < 6; i++) {
|
|
|
- int movesCount = (figures[i])->get_moves().first;
|
|
|
- Position* moves = (figures[i])->get_moves().second;
|
|
|
- cout << figures[i]->print() << ' ' << movesCount << ' ';
|
|
|
- for(int j = 0; j < movesCount; j++) {
|
|
|
+ moves = figures[i]->get_moves();
|
|
|
+ cout << figures[i]->print() << ' ' << moves.size() << ' ';
|
|
|
+ for(int j = 0; j < moves.size(); j++) {
|
|
|
cout << moves[j] << ';';
|
|
|
}
|
|
|
cout << endl;
|