Helpoin konsti lienee pollata hiiren painallusta ja sitten <> leveys ja korkeus? Jos on paljon nappeja niin koordinaatit taulukkoon? entä jos nappi on pyöreä?
Napin painaminen
nappimies
10163
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 10
Vanhimmat
Jotain vinkkiä ehkäpä saat sivuilta:
http://wiki.freepascal.org/15-puzzle/fi
http://wiki.freepascal.org/Peg_Solitaire_tutorial/fi
jos nuo on liian vaikeita niin perusteita vaikka näistä:
http://wiki.freepascal.org/Form_Tutorial/fi
http://wiki.freepascal.org/Lazarus_Tutorial/fi
Eikun minä teen aina itse käyttöliittymän ohjelmiini. Ei siis mitään valmiita formeja. Lähinnä jotain vinkkeja ajattelin. C tai Python.
"Helpoin konsti lienee pollata hiiren painallusta"
Mitä tarkoittaa "pollata hiiren painallus" ?
Vaikka nuin:
while (ikkuna.pollEvent(event))
{
if (event.type == sf::Event::Closed)
ikkuna.close();
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))//lopettaa esc-napilla
ikkuna.close();
if (event.mouseButton.button == sf::Mouse::Left)
if (event.type == event.MouseButtonReleased && event.mouseButton.button == sf::Mouse::Left)
Käytössä SFML-kirjasto.
Testaa onko hiiren osoittimen alla nappi klikkauksen hetkellä:
void nappikoe()
{
sf::RectangleShape nappi;
nappi.setSize(sf::Vector2f(60, 60));
nappi.setOutlineColor(sf::Color::Red);
nappi.setOutlineThickness(2);
nappi.setPosition(740, 45);
sf::Vector2i position2 = sf::Mouse::getPosition(ikkuna);
if (position2.x > 740 && position2.x < 740 60) {
if (position2.y > 45 && position2.y < 45 60) {
cout<< "painettu!";
Mutta jos nappi on pyöreä niin miten testaisi onko hiiri tällä alueella? Jollain laskutoimituksella varmaan saisi laskettua pyöreän alueen koordinaatit kun tiedossa on ympyrän keskipiste ja säde? En koulussa muistanut käydä matematiikan tunneilla.
En tunne tämän https://www.sfml-dev.org/development.php kehitysympäristön mahdollisuuksia. Selatessa kuitenkin jäi sellainen maku suuhun että valmiit funktiot saattaa löytyä, ettei tarvita trigonometrisia funktiota sini (sin ), kosini (cos ) ja tangentti (tan ), onhan ympäristö pelimiehille suunnattu.
Selvitä miten lasketaan helpoiten kahden pisteen etäisyys toisistaan. Eikös se mene esimerkiksi ihan Pythagoraan kaavoilla, x-koordinaattien erotus on yksi kateetti, y-koordinaattien erotus on toinen kateetti, ja pisteiden etäisyys on hypotenuusa. Ja sitten vaan katsot onko klikkauskohdan etäisyys napin keskipisteeseen suurempi vai pienempi kuin napin säde.
Joo kiitos. nuin se varmaan onnistuu. Pitää pähkäillä.