int main( int hola, char** file_name) { CvRect rect; rect.x=121;rect.y=110;rect.width=814;rect.height=223; erCerc cerc(135,293,25); erEqualP equ(0); erSmootP p1(BLUR,7),p2(MEDIAN,5); erCannyP cann(355,355); erAdThrP adp(THRESH_BINARY,AM_MEAN,49,119,255); //** < */ erMacroDropAnalysis mda("hump"); mda.defineParameters(rect,cerc,p1,p2,cann,adp,equ); mda.doIt("hump_1.bmp"); return(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; }