示例#1
0
void testValidator(Quackle::Game &game)
{
	game.commitMove(Quackle::Move::createPlaceMove(MARK_UV("8d"), QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("MANIA"))));
	game.commitMove(Quackle::Move::createPlaceMove(MARK_UV("7c"), QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("RANI"))));
	game.commitMove(Quackle::Move::createPlaceMove(MARK_UV("f6"), QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("P..ION"))));
	game.commitMove(Quackle::Move::createPlaceMove(MARK_UV("10b"), QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("STAT.R"))));
	game.currentPosition().setCurrentPlayerRack(Quackle::Rack(QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("AIAIAIAI"))));

	UVcout << game.currentPosition().board().allWordsFormedBy(Quackle::Move::createPlaceMove(MARK_UV("9c"), QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("AI"))));
}
示例#2
0
void testGame()
{
	Quackle::Game game;

	Quackle::PlayerList players;

	Quackle::Player bogowinA(MARK_UV("BogowinA"), Quackle::Player::ComputerPlayerType, 110);
	bogowinA.setComputerPlayer(new Quackle::SmartBogowin());
	players.push_back(bogowinA);
	
	Quackle::Player bogowinB(MARK_UV("BogowinB"), Quackle::Player::ComputerPlayerType, 110);
	bogowinB.setComputerPlayer(new Quackle::SmartBogowin());
	players.push_back(bogowinB);

	game.setPlayers(players);
	game.associateKnownComputerPlayers();

	game.addPosition();

	//testValidator(game);

	const bool setupRetroPosition = false;

	if (setupRetroPosition)
	{
		game.commitMove(Quackle::Move::createPlaceMove(MARK_UV("8c"), QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("AMNION"))));
		game.currentPosition().setCurrentPlayerRack(Quackle::Rack(QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("L"))));
		UVcout << "current rack: " << game.currentPosition().currentPlayer().rack() << endl;
		game.currentPosition().kibitz(10);
		UVcout << "moves: " << endl << game.currentPosition().moves() << endl;
	}

	const int playahead = 50;

	for (int i = 0; i < playahead; ++i)
	{
		if (game.currentPosition().gameOver())
		{
			UVcout << "GAME OVER" << endl;
			break;
		}

		const Quackle::Player player(game.currentPosition().currentPlayer());
		Quackle::Move compMove(game.haveComputerPlay());
		UVcout << "with " << player.rack() << ", " << player.name() << " commits to " << compMove << endl;
	}

	UVcout << game.currentPosition() << endl;

	testGameReport(game);

	// insert test...() calls here
	// testSimulation(game);
	
	//UVcout << "History:" << endl << game.history() << endl;
}
示例#3
0
void testBag(Quackle::Game &game)
{
	UVcout << "BAG TEST" << endl;
	UVcout << "current player rack: " << game.currentPosition().currentPlayer().rack() << endl;
	game.currentPosition().setCurrentPlayerRack(Quackle::Rack(QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("AAAAAAA"))));
	UVcout << "current player rack set to: " << game.currentPosition().currentPlayer().rack() << endl;
	UVcout << "current bag now " << game.currentPosition().bag() << endl;
	game.commitMove(Quackle::Move::createPlaceMove(MARK_UV("8d"), QUACKLE_ALPHABET_PARAMETERS->encode(MARK_UV("PEAFOwL"))));
	UVcout << "current bag after PEAFOwL " << game.currentPosition().bag() << endl;
}