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; }
void Game::Run() { while(win.isOpen()) { Events(); Moves(); Display(); if(map.x >= DIST_END) End(true); if(map.plane.GetDamage() == CRASH_DAMAGE) End(false); } }
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); }