示例#1
0
 bool Piece::CouldTake(Cell cell)
 {
   std::vector<Cell> moves = Moves();
   for (int i = 0; i < moves.size(); i++)
   {
     if (moves[i] == cell) { return true; }
   }
   return false;
 }
示例#2
0
void Game::Run()
{
	while(win.isOpen())
	{
		Events();
		Moves();
		Display();
		if(map.x >= DIST_END)
			End(true);
		if(map.plane.GetDamage() == CRASH_DAMAGE)
			End(false);

	}
}
示例#3
0
void Game::Load()
{
	Text txd("", font, 20);
	Text txp("0%", font, 40);
	txd.setColor(Color::White);
	txp.setColor(Color::White);
	txp.setPosition(w/2-30, h/2-30);

	// tekstury //
	win.clear();
	txd.setString(L"£adowanie...\nTekstury");
	win.draw(txd);
	win.display();

	if(!txm.LoadTexture(PLANE_FILE, PLANE_NAME))
		error("Nie mo¿na za³adowaæ tekstury samolotu.\nMo¿liwe powody: plik nie istnieje.");
	if(!txm.LoadTexture(BACKEND_FILE, BACKEND_NAME))
		error("Nie mo¿na za³adowaæ tekstury t³a koñca.\nMo¿liwe powody: plik nie istnieje.");
	if(!txm.LoadTexture(BACK_FILE, BACK_NAME))
		error("Nie mo¿na za³adowaæ tekstury t³a.\nMo¿liwe powody: plik nie istnieje.");

	// obiekty //
	win.clear();
	txd.setString(L"£adowanie...\nObiekty");
	txp.setString("20%");
	win.draw(txp);
	win.draw(txd);
	win.display();

	// czcionki //
	win.clear();
	txd.setString(L"£adowanie...\nCzcionki");
	txp.setString("40%");
	win.draw(txp);
	win.draw(txd);
	win.display();

	if(!font.loadFromFile(FONT_FILE))
		error("Nie mo¿na za³adowaæ czcionki " + string(FONT_FILE) + "\nMo¿liwe powody: plik nie istnieje.");

	// przypisywanie tekstur z TM do obiektów //
	win.clear();
	txd.setString(L"£adowanie...\nPrzypisywanie tekstur");
	txp.setString("60%");
	win.draw(txp);
	win.draw(txd);
	win.display();

	map.Load();
	map.plane.Load();

	// sprawdzanie prêdkoœci //
	win.clear();
	txd.setString(L"£adowanie...\nSprawdzanie prêdkoœci komputera");
	txp.setString("80%");
	win.draw(txp);
	win.draw(txd);
	win.display();

	float timeBegin, timeDeltaSec = 0, timeEnd, timeOne;
	// start
	timeBegin = clock();
	for(int i = 0; i < SPEED_TEST_IT; i++)
	{
		Events();
		Moves();
		Display();
	}
	// stop
	timeEnd = clock();
	timeDeltaSec = (timeEnd - timeBegin)/CLOCKS_PER_SEC;
	timeOne = timeDeltaSec/SPEED_TEST_IT;
	step = timeOne/VALID_SPEED;

	// gotowe //
	win.clear();
	txd.setString(L"Gotowe");
	txp.setString("100%");
	win.draw(txp);
	win.draw(txd);
	win.display();
	Wait(1);
}