Exemple #1
0
int main()
{
	ChessBoard *chess = new ChessBoard();
	ChessBoardView *chessView = new ChessBoardView(chess);
	ChessHistoryView *chessHistoryView = new ChessHistoryView(chess->getMoveList());
	chess->Init();
	int chV, chH, fV, fH;
	int k = 0;
	int f = 0;
	char info[MAX_INFO_SIZE];
	bool fWhite = true;
	ifstream inFile("Test_SimpleQSandKSCastling.txt");
	while (!inFile.eof()){
		inFile >> info;
		chess->getMoveList()->AddSimpleMove(info, !fWhite);
		fWhite = !fWhite;
		k++;
	}
	chess->getMoveList()->setCurrentId(0);
	cout << "Redo() has started" << endl;
	while (chess->Redo()) {}
	cout << "Redo() has finished" << endl;
	int t = -1;
	while (t != 0){
		cout << "Pick the action: (0 - Exit, 1 - Redo, 2 - Undo, 3 - Move)" << endl;
		cin >> t;
		if (t == 1){
			if (chess->Redo()){
			}
			else{
				cout << "REDO impossible!" << endl;
			}
		}
		else if (t == 2){
			if (chess->Undo()){
			}
			else{
				cout << "UNDO impossible!" << endl;
			}
		}
		else if (t == 3){
			cout << "Make Move: (fromV, fromH, toV, to H)" << endl;
			cin >> chV >> chH >> fV >> fH;
			f = chess->makeMove(chess->GetPieceAt(chH, chV), fH, fV);
			/*if (f == MOVE_ENDGAME)
				t = 0;*/
		}
		cout << ((chess->getCurrentPlayer()->getId() == 1) ? "WHITE" : "BLACK") << endl;
	}