PPArkisto

Ohjelmointi

Yleistä asiaa

Tätä aiheutta ei ole tallennettu kokonaisena ja siitä puuttuu sivuja.

1 ... 12 13 14 ... 21

Viestit

Sivu 13 / 21
Rekisteröitynyt:
07.01.2005
Kirjoitettu: sunnuntai, 03. helmikuuta 2008 klo 12.35
Muokattu: 03.02.2008 klo 12.36
Lainaus:03.02.2008 Neoncat kirjoitti:
Lainaus:02.02.2008 RobotiX kirjoitti:
Noniin. Nyt sain ensimmäisen C++ koodauksen valmiiksi.
Tosiaan goto:n tilalla käytetään for/while/if/case-switch -rakenteita 'edistyneemmissä' kielissä. Kuten sanoin jo aikaisemmin niin basicista voi jäädä pahasti tuo goto 'päälle' ja ilman opastusta tuolla voi luoda aikamoisia koodihirviöitä. Myös funktioita käytetään vähemmän ja olioita taas enemmän, mutta toki opettelussa kannattanee aloitella noista funktioista.
Entäs tuplaloopit? Itselle tulee mieleen vain jonkinlaisen error-catchingin käyttämistä (Pythonissa try: except: -rakenne).

loop x (
loop y (
if (oikea_palikka()) goto end
)
)
:end
Rekisteröitynyt:
20.11.2002
Kirjoitettu: sunnuntai, 03. helmikuuta 2008 klo 12.56
Lainaus:03.02.2008 Frozenball kirjoitti:
Entäs tuplaloopit? Itselle tulee mieleen vain jonkinlaisen error-catchingin käyttämistä (Pythonissa try: except: -rakenne).

loop x (
loop y (
if (oikea_palikka()) goto end
)
)
:end
Lainaampas itseäni. Ajattelin etten toista tuota asiaa, mutta olisi ehkä kannattanut. Olet kyllä oikeassa että oikein syvissä silmukoissa se on oikein kätevä. :)

Lainaus:Neoncat kirjoitteli:

Aikaisemmin samantyylinen homma oli basicin kanssa, jossa lähinnä pelattiin goto-käskyllä, jota taas ei missään nimessä saisi käyttää eräissä muissa kielissä. (Se kyllä on olemassa eräille toisillekin kielille, mutta sen käyttö taasen kannattaa vain eräissä erikoistapauksissa.).
Rekisteröitynyt:
06.04.2002
Kirjoitettu: sunnuntai, 03. helmikuuta 2008 klo 13.20
Muokattu: 05.02.2008 klo 16.49
Eikö vastaavan saisi aikaan totuusarvolla ja -breakilla?

boolean continue = true;
boolean toinen= true;

while(continue)
{

while(toinen)
{
if(haluttuEhto)
{
continue = false;
break;
}
}

}

Tai jos kyseessä on "laskennallinen" silmukka, niin integeri joka silmukan jälkeen joka syklillä arvoa kasvattaen. while(arvo (pienempikuin X)

Hyödyttömät ajatukset voivat lopulta kasvattaa hyödyllisimmät ajatukset.PC: nopee prossu. nopee näyttis. nopeeta muistii.
Rekisteröitynyt:
01.02.2008
Kirjoitettu: sunnuntai, 03. helmikuuta 2008 klo 13.49
Miten voisi tehdä C++ kielellä jonkun kuvaikkunan ja siihen jotain tekstiä?
AMD Athlon 64 X2 Dual Core 3800+ 2.2Ghz 2GB DDR2 GeForce 8500 GT 256MB
Rekisteröitynyt:
20.11.2002
Kirjoitettu: tiistai, 05. helmikuuta 2008 klo 15.02
Muokattu: 05.02.2008 klo 15.52
Lainaus:03.02.2008 RobotiX kirjoitti:
Miten voisi tehdä C++ kielellä jonkun kuvaikkunan ja siihen jotain tekstiä?
Joudut aukaisemaan tuon ikkunan jollakin käyttiskohtaisella kirjastolla tai sitten jollain multimediakirjastolla. Tekstin suoltaminen taas on kiinni tuosta kirjastosta, jota käytät.

Huoh taas tuon windowsin kanssa. Jouduin rikkomaan osan tuon toiminnallisuudesta(Varjot, synkronisointi jne.). :/

http://cs.joensuu.fi/~ppakar/testers/ne050208.rar
(Niin ja taas vistalla voi heittää Blue Screenin :/)

Kiitoksia D-EagIe , nyt pitäisi olla sekin mukana.
Rekisteröitynyt:
27.06.2005
Kirjoitettu: tiistai, 05. helmikuuta 2008 klo 15.39
zlib1.dll was not found :S
Asrock 4CoreDual-VSTA | C2D E4300 @ 1,8 GHz | 2048 MB DDR2 667 MHz | Asus GeForce 8600 GT
Rekisteröitynyt:
07.01.2005
Kirjoitettu: keskiviikko, 06. helmikuuta 2008 klo 16.40
http://pivot.servut.us/w/Python/

Avasin Python-wikin kiinnostuneille.
Rekisteröitynyt:
06.04.2002
Kirjoitettu: torstai, 07. helmikuuta 2008 klo 20.10
Kellään kokemuksia Raycasting renderöinnistä?

Tämä apina näkee, tämä apina tekee, mutta tämän apinan tulokset ovat laihoja.
Hyödyttömät ajatukset voivat lopulta kasvattaa hyödyllisimmät ajatukset.PC: nopee prossu. nopee näyttis. nopeeta muistii.
Rekisteröitynyt:
27.06.2005
Kirjoitettu: lauantai, 09. helmikuuta 2008 klo 15.11
Neoncat: Kun sulla on kokemusta tuosta SDL:stä, niin osaatko sanoa, miten saisin laitettua spriteen manuaalisesti alpha channelin? Mulla on läjä mustavalkokuvia, jotka ovat transparencyä varten, eli niiden pitäisi toimia alphakuvina.
Asrock 4CoreDual-VSTA | C2D E4300 @ 1,8 GHz | 2048 MB DDR2 667 MHz | Asus GeForce 8600 GT
Rekisteröitynyt:
07.01.2005
Kirjoitettu: lauantai, 09. helmikuuta 2008 klo 17.40
Lainaus:09.02.2008 D-EagIe kirjoitti:
Neoncat: Kun sulla on kokemusta tuosta SDL:stä, niin osaatko sanoa, miten saisin laitettua spriteen manuaalisesti alpha channelin? Mulla on läjä mustavalkokuvia, jotka ovat transparencyä varten, eli niiden pitäisi toimia alphakuvina.
En ole Neoncat, enkä kirjoita ohjelmia C(++)-kielellä, mutta Pythonilla homma houtuu seuraavasti:


surf = pygame.load("jee.png"wink.convert()
surf.set_colorkey((0,0,0)) # Musta väri laitetaan läpinäkyväksi
surf.set_alpha(100) # Laitetaan koko kuva läpinäkyväksi
Rekisteröitynyt:
20.11.2002
Kirjoitettu: sunnuntai, 10. helmikuuta 2008 klo 10.01
Lainaus:09.02.2008 D-EagIe kirjoitti:
Neoncat: Kun sulla on kokemusta tuosta SDL:stä, niin osaatko sanoa, miten saisin laitettua spriteen manuaalisesti alpha channelin? Mulla on läjä mustavalkokuvia, jotka ovat transparencyä varten, eli niiden pitäisi toimia alphakuvina.

http://cs.joensuu.fi/~ppakar/index.php?page=ohjelmointi/peliohjelmointi6

Tuolta löytynee vastaus tuohonkin.

Maskillinen alpha taas onnistunee siten että blittaat alphastuffin sisältävän kuvan spriteen siten että alphakohdat ovat tietyllä värillä ja lopuksi taas samalla tavalla kuin mitä tuossa oppaassa on.
Rekisteröitynyt:
27.06.2005
Kirjoitettu: sunnuntai, 10. helmikuuta 2008 klo 12.21
Muokattu: 10.02.2008 klo 13.54
Pitänee kai tarkentaa.. Eli ne mustavalkokuvat ovat pikemminkin harmaasävykuvia, mitä tummempi pikseli on sitä enemmän siitä näkyy läpi. Eli ei varmaankaan colorkeyllä onnistu. Jos lataan png:n jossa on jo valmiiksi tälläinen alpha map sisäistettynä, riittää vain että teen:
m_Sprite = SDL_DisplayFormatAlpha(m_Sprite);
Mutta mun pitäisi saada manuaalisesti, koodissa laitettua png:lle alpha map.

Esimerkki:

Maa+(Ruoho+Maski)=[kuva]
Asrock 4CoreDual-VSTA | C2D E4300 @ 1,8 GHz | 2048 MB DDR2 667 MHz | Asus GeForce 8600 GT
Rekisteröitynyt:
20.11.2002
Kirjoitettu: sunnuntai, 10. helmikuuta 2008 klo 14.21
Lainaus:10.02.2008 D-EagIe kirjoitti:
Pitänee kai tarkentaa.. Eli ne mustavalkokuvat ovat pikemminkin harmaasävykuvia, mitä tummempi pikseli on sitä enemmän siitä näkyy läpi. Eli ei varmaankaan colorkeyllä onnistu. Jos lataan png:n jossa on jo valmiiksi tälläinen alpha map sisäistettynä, riittää vain että teen:
m_Sprite = SDL_DisplayFormatAlpha(m_Sprite);
Mutta mun pitäisi saada manuaalisesti, koodissa laitettua png:lle alpha map.

Esimerkki:

Maa+(Ruoho+Maski)=[kuva]
Hmm, ei kai siinä muuta tapaa ole kuin käydä pikseli kerrallaan siitä ja tallentaa alpha-kanavaan arvot niiden pikselien tummuuden mukaan. Btw, tuota ei kannattane tehdä kesken interaktiivisen ohjelman ainakaan softapohjaisesti. Keskellä ohjelmaa, jos moista haluaa tehdä niin se kannattanee tehdä dx:n tai opengl:n avulla siten että käyttää rautaa siihen. Muuten voi olla aika hidasta. Tuohon koko hommaan voi olla valmista tavaraakin jossakin kirjastossa, mutta en ole tarvinnut moista SDL:n kanssa niin en tiedä sen tarkemmin.
1 ... 12 13 14 ... 21