void createLevel(CLevel& level, CText& levelText) { levelText.loadFont(FONT_PATH); levelText.setString("Level: "+numberToString(level.getLevel())); levelText.setCharacterSize(24); levelText.setColor(sf::Color::Magenta); levelText.setPosition(300,0); }
void RevealedElem::displayBoard(sf::RenderWindow& window, sf::Font& mainScreenFont) { int i, j;// variabile intermediare pentru a parcurge toate celule //tablei de joc //X , Y variabile intermediare pentru parcurgearea saltata a tablei, //X,si Y reprezentand coltul stang al fiecarei celule sf::CircleShape cerc(cellSize/2); cerc.setPointCount(25); CText numarMine; numarMine.setFont(mainScreenFont); numarMine.setSize(fontSize); CText semnIntrebare; semnIntrebare.setFont(mainScreenFont); semnIntrebare.setSize(fontSize); sf::Texture imgBomba; imgBomba.loadFromFile("data/images/bomb.png"); sf::Transform transformareImagine; transformareImagine.scale(5,5); sf::Sprite bomba; bomba.setTexture(imgBomba); bomba.setOrigin(imgBomba.getSize().x / 2, imgBomba.getSize().y / 2); float bombScale = remap(fontSize , 1 , bomba.getLocalBounds().width, 0, 1); bomba.setScale(bombScale, bombScale); for(int Y = startGridY, i = 1; i <= size; Y +=cellSize, i++) { for(int X = startGridX, j = 1; j <= size; X += cellSize, j++) { switch(board[i][j]) { case hidden: cerc.setPosition(X, Y); cerc.setFillColor(sf::Color::White); semnIntrebare.setColor(sf::Color::Black); semnIntrebare.setPosition(sf::Vector2f(X + cellSize/2, Y + cellSize/2));// semnIntrebare.setString("?"); //semnIntrebare.setSize(20); semnIntrebare.centerTextOrigin(); //std::cout << X << " " << Y << std::endl; break; case empty: cerc.setPosition(X, Y); cerc.setFillColor(sf::Color(209, 209, 209)); //std::cout << X << " " << Y << std::endl; break; case mine: cerc.setPosition(X, Y); cerc.setFillColor(sf::Color::Red); bomba.setPosition(X + cellSize / 2, Y + cellSize / 2); break; default: cerc.setPosition(X, Y); cerc.setFillColor(sf::Color::Yellow); numarMine.setColor(sf::Color::Red); //numarMine.setSize(20); numarMine.setPosition(sf::Vector2f(X + cellSize/2, Y + cellSize/2));// std::stringstream strStream; strStream << board[i][j]; std::string temp = strStream.str(); numarMine.setString(temp.c_str()); numarMine.centerTextOrigin(); } window.draw(cerc); switch(board[i][j]) { case empty: case mine: window.draw(bomba); break; case hidden: semnIntrebare.draw(window); break; default: numarMine.draw(window); } // Setari temporare pentru a vedea daca pozitiile calculate // sunt corecte } } //std::cout << cellSize << std::endl; }