miten tehdään ohjelma, että kun piste (PSET) osuu palloon (CIRCLE) , jonka väri on 9, niin se printtaa "jes se osui!", ja osuipa se mihin kohtaan tahansa sitä palloa niin silti se printtaa!
esim. jotenki tällei olis tarkotus:
SCREEN 13
CIRCLE (äksä, yy), 10, 9
PAINT (äksä, yy), 9 ,9
DO
x = x + .001
xx = 10 + x
PSET (10 + x, y), 15
jos xx koordinaatti osuu koordinaattiin (äksä, yy) jonka väri on 9 niin THEN PRINT "JES!"
LOOP
jotenki tollee pitäis saada se osuma juttu... =?
siis... jos piste osuu vaan johonkin väriin 9 niin se printtaa "jes!"
jos tiedätte vastauksen, kirjottakaa mieluiten toimiva ohjelma
lainaus:
miten tehdään ohjelma, että kun piste (PSET) osuu palloon (CIRCLE) , jonka väri on 9
POINT funktiolla onnistuu. Ohjeet löytyy QB:n helpistä
SCREEN 13 CIRCLE (äksä, yy), 10, 9 PAINT (äksä, yy), 9 ,9 DO x = x + .001 xx = 10 + x IF POINT (x, y) = 9 THEN PRINT "jes se osui!" PSET (10 + x, y), 15 LOOP
lainaus:
osuu palloon (CIRCLE)
Tarkoitat varmaankin ympyrää.. heh.. jos minä en olisi tätä kirjoittanut niin Hipo viimeistään :)
Tuo teikäläisen alkup. koodi (mistä johtuen myös trinit) ei näytä muuten tekevän mitään hirveän järkevää... :X
siis eihän toi ees toimi
siis... jos se osuu mihinkä kohtaan tahansa tuota palloa, niin sitten se printtaa "jes se osui!" ettei vain siitä yhdestä pisteestä! =/
lainaus:
siis eihän toi ees toimi
Ei niin, kun antamasi alkuperäinen koodikaan ei ollut toimiva tuollain. En minä koko ohjelmaa ala tekemään ;)
lainaus:
jos se osuu mihinkä kohtaan tahansa tuota palloa, niin sitten se printtaa "jes se osui!" ettei vain siitä yhdestä pisteestä!
Menisi varmaankin näin (viisammat korjatkoon jos löytyy virheitä): sinun pitää tietää ympyrän keskipiste (esim. cx, cy) ja ympyrän säteen mitta (cr). Pisteen osuminen ympyrään tarkistetaan siten, että mikäli piste on ympyrän kehällä niin silloin on osuttu (tarvitset siinä säteen mittaa).
En osaa sitä oikein paremmin kertoa. Ehkä joku muu tällaisia tehnyt osaisi paremmin sen sanoa?
Niin.. voihan tuon ratkaista ihan matikallakin jos on vaikka jossain taulukossa nuo ympyrät ja sieltä sitten niitä piirrellään.. mutta jos POINT:i ratkaisua hakee niin kyllähän se toimii koska tuo ympyrä on fillattu.
no pistäkää joku TOIMIVA ohjelma, voisin kattoo miten se toimis.
Nyt on kyllä pakko sanoa T.M:lle, että voisit ehkä vähän kauniimmin pyytää. En minä ainakaan ala ihan tästä vaan tekee sulle kokonaista toimivaa valmista ohjelmaa, ainakaan kun pyytö on tuota luokkaa. Vois ees pyytää vaikka "kiitoksen" ja "voisitteko" sanojen kerä. Ilkeästi kalskahtaa korvaan tollainen käsky.
ai isoilla kirjoitettu teksti on pahasti sanottu... anteex... pyydän... voisitteko... tehdä ohjelman joka toimii, jotta voisin vihdoinkin oppia sen, kun pikseli osuu mihin kohtaan tahansa palloa ja print"jee!" anteeksi paha kielenkäyttöni, ja isoilla kirjaimilla kirjoittelu.
Sinun pitää yksinkertaisesti tarkistaa POINTilla, onko pisteen x:n ja y:n kohdalla näytön taustaväriä, jolloin ei olla pallon päällä, tai jotain muuta väriä, jolloin ollaan pallon päällä. Eli jos tausta on musta:
IF POINT(pisteenx, pisteeny) <> 0 THEN PRINT "jee!"
lainaus:
ai isoilla kirjoitettu teksti on pahasti sanottu... anteex... pyydän... voisitteko... tehdä ohjelman joka toimii, jotta voisin vihdoinkin oppia sen, kun pikseli osuu mihin kohtaan tahansa palloa ja print"jee!" anteeksi paha kielenkäyttöni, ja isoilla kirjaimilla kirjoittelu.
Vielä kun opettelet käyttämään isoja kirjaimia lauseen alussa, lopetat ks:n lyhentämisen x:llä, ja lyhennät vähän virkkeitäsi ;)
Jos ei nyt ala mennä kaaliin tämän rautalangasta vääntämisen jälkeen (ks. Laaksosen ed. viesti) niin ei voi mitään.
T.M., tämä pahasti sanominen siis tarkoittaa sitä, että pyydät kokonaista koodia ja vieläpä käskymuodolla. Isot kirjaimet korosti tätä käskymuodon käyttöä vain. Mutta samapa tuo mulle kun en käskyyn vastaisikaan. Antti Laaksonen toki on aina kiltti ja avulias, josta respectiä hänelle.
Ei prkl mitä virtuaalikansaa...
voi pee... menkää kotiinne siitä!
Aihe on jo aika vanha, joten et voi enää vastata siihen.