Tyhmät kysymykset (I/2010)
Re: Tyhmät kysymykset (I/2010)
Onpas tyhmää Case ei voi olla muuttuja tai funktion palauttama arvo, eikä voi käyttää +, - tai muita laskusysteemejä... Noh, onneksi If on vielä olemassa
Re: Tyhmät kysymykset (I/2010)
Minkälaisella kaavalla/lausekkeella saisin tämän käyrän:
...näyttämään tältä:
...?
Ylempi käyrä siis syntyy kaavalla Y = X / 100, jossa X käy läpi luvut 1-100. Tavoitteena on modata tuota kaavaa siten, että sen ulos puskemat luvut 0.0-1.0 eivät etene täysin lineaarisesti, vaan tahti pehmenee loppua kohden.
...näyttämään tältä:
...?
Ylempi käyrä siis syntyy kaavalla Y = X / 100, jossa X käy läpi luvut 1-100. Tavoitteena on modata tuota kaavaa siten, että sen ulos puskemat luvut 0.0-1.0 eivät etene täysin lineaarisesti, vaan tahti pehmenee loppua kohden.
Re: Tyhmät kysymykset (I/2010)
Tulipas tuosta Phonsin viestistä mieleen, että onko muillakin se ongelma, että mavittaa jos yrittää käyttää funktion sisässä merkkijonotaulukkoa joka on luotu sen ulkopuolella(käynyt ilmi muutamassa projektissani) tai että merkkijonotaulukko tyhjenee sen kokoa muutettaessa vaikka ClearArray on offilla(ei niin kauhea ongelma)?
Vai onko tämä vain cb:llä väistämätöntä ja useiden tiedossa?
Vai onko tämä vain cb:llä väistämätöntä ja useiden tiedossa?
Re: Tyhmät kysymykset (I/2010)
Manuaalissa mainitaan, että ClearArray -komento ei päde merkkijonoihin taulukoissa. Merkkijonotaulukoiden käyttö funktioissa pitäisi sen sijaan olla täysin toimivaa - kummallista.
Re: Tyhmät kysymykset (I/2010)
Ehkä kannattaisi käyttää toisen asteen (tai jonkun korkeamman asteen) käyrän osasta: esim. f(x)= -x^2/10^4+x/50, jolloin kun x∈[0,100], f(x)∈[0,1], juurikin niin, että kuvaajan 'tahti' pehmenee (eli derivaatta lähestyy nollaa)Ruuttu wrote:Minkälaisella kaavalla/lausekkeella saisin tämän käyrän:
(lineaarinen kuvaaja)
...näyttämään tältä:
(kaareutuva kuvaaja)
...?
Ylempi käyrä siis syntyy kaavalla Y = X / 100, jossa X käy läpi luvut 1-100. Tavoitteena on modata tuota kaavaa siten, että sen ulos puskemat luvut 0.0-1.0 eivät etene täysin lineaarisesti, vaan tahti pehmenee loppua kohden.
Re: Tyhmät kysymykset (I/2010)
Juu jotain tällaista varmaankin haen, en vain nyt juuri tuota kaavaa osaa soveltaa tähän toimivaksi. Hmh, ehkä lukion jälkeen.Dande wrote:Ehkä kannattaisi käyttää toisen asteen (tai jonkun korkeamman asteen) käyrän osasta: esim. f(x)= -x^2/10^4+x/50, jolloin kun x∈[0,100], f(x)∈[0,1], juurikin niin, että kuvaajan 'tahti' pehmenee (eli derivaatta lähestyy nollaa)
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Haluatko, että käyrä saavuttaa tietyn y:n arvon tietyllä x (kuten tuossa kuvassa), vai siten, että käyrän arvo ei milloinkaan saavuta tiettyä y:n arvoa, vaikka se sitä lähestyykin, kun x kasvaa? Lisäksi tuosta jälkimmäisestä voidaan rakentaa sellainen funktio, että tietyllä arvolla x sen arvo poikkeaa tietyn murto-osan lähestyttävästä arvosta.Ruuttu wrote:Juu jotain tällaista varmaankin haen, en vain nyt juuri tuota kaavaa osaa soveltaa tähän toimivaksi. Hmh, ehkä lukion jälkeen.Dande wrote:Ehkä kannattaisi käyttää toisen asteen (tai jonkun korkeamman asteen) käyrän osasta: esim. f(x)= -x^2/10^4+x/50, jolloin kun x∈[0,100], f(x)∈[0,1], juurikin niin, että kuvaajan 'tahti' pehmenee (eli derivaatta lähestyy nollaa)
Näin differentiaalilaskennan termein puhuen, on ensimmäinen tapaus sellainen, jossa funktion derivaatalla on nollakohta, ja toinen sellainen, jossa derivaatta lähestyy nollaa, kun x kasvaa rajatta.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Re: Tyhmät kysymykset (I/2010)
Se ensimmäinen. Eli kun X = 0, myös Y = 0.0, ja kun X = 100, Y = 1.0. Se magia tapahtuisi sitten siellä välissä, eli aluksi Y:n arvot nousevat hieman nopeammin (verrattuna lineaariseen yhtälöön Y = X/100), mutta lähestyttäessä Y:n arvoa 1.0 alkaa eteneminen hidastua, ja käyrä pehmenee nätisti toisesta päästä. Matikkani ei tosiaankaan riitä niin pitkälle että osaisin edes tarkemmin selittää, mutta jos pystyt moisen kaavan kirjoittamaan, olisin todella kiitollinen. (Helpottaakohan hommaa jotenkin se, ettei kaavan tarvitse toimia kuin yhdellä numerovälillä?)SPuntte wrote:Haluatko, että käyrä saavuttaa tietyn y:n arvon tietyllä x (kuten tuossa kuvassa), vai siten, että käyrän arvo ei milloinkaan saavuta tiettyä y:n arvoa, vaikka se sitä lähestyykin, kun x kasvaa?
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Ookoo, eli tuo Danden esittämä kaava kelpaisi tuohon. Ainoa vaan, että siinä käyrän jyrkkyys, eli tangentin kulmakerroin, on 0,02 x:n arvolla 0 (eli tuplasti vastaavaan lineaariseen interpolaatioon verrattuna) ja pienenee lineaarista vastaavaan jo kohdassa x = 50.Ruuttu wrote:Se ensimmäinen. Eli kun X = 0, myös Y = 0.0, ja kun X = 100, Y = 1.0. Se magia tapahtuisi sitten siellä välissä, eli aluksi Y:n arvot nousevat hieman nopeammin (verrattuna lineaariseen yhtälöön Y = X/100), mutta lähestyttäessä Y:n arvoa 1.0 alkaa eteneminen hidastua, ja käyrä pehmenee nätisti toisesta päästä. Matikkani ei tosiaankaan riitä niin pitkälle että osaisin edes tarkemmin selittää, mutta jos pystyt moisen kaavan kirjoittamaan, olisin todella kiitollinen. (Helpottaakohan hommaa jotenkin se, ettei kaavan tarvitse toimia kuin yhdellä numerovälillä?)
Jos aivoni raksuttavat oikein, väitän, että paraabeleja, jotka kulkevat origon kautta, ja joiden huippu on pisteessä (100, 1), on ääretön määrä. Tarvitaan siis vielä yksi rajoitus, joka voisi olla vaikkapa se x:n arvo, jolla käyrän tangentin kulmakerroin (derivaatta) on tasan lineaarista interpolaatiota vastaava. Danden kaavassa se on nyt 50.
Täytyykin alkaa tästä kaivamaan MAOLia esiin...
EDIT:
Saanen udella, mihin tällaista matemaattista apuneuvoa kaipaat?
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Re: Tyhmät kysymykset (I/2010)
Kaava tulisi olemaan vastuussa tehosteesta, johon sisältyy useita yhdistettyjä gradientteja. Ongelmana omassa kaavassani on siis että gradientin eteneminen pysähtyy tylysti kuin seinään, mikä ei näytä hyvältä, etenkin kun se pysähdys on ihan keskellä ruutua. Tietenkin gradientin kulkemisen voisi toteuttaa jollakin purkkavirityksellä tyyliin "Vähennetään Y:stä X, ja sitten vähennetään X:ää prosentilla, ja kun toistamme tätä, Y vähenee hidastuvalla nopeudella", mutta tällaisella systeemillä on hankala hallita tarkalleen, milloin se Y saavuttaa luvun jonka haluamme sen saavuttavan, ja lisäksi coolbasicin liukulukujen epätarkkuus johtaisi siihen, että tuhannen kierroksen jälkeen Y:n arvo heittäisi todennäköisesti useilla prosenteilla siitä 1.0:sta. Koska yhden gradientin on loputtava tarkalleen siihen väriin, josta seuraava alkaa tarvitsen kaavan, jolla voin laskea tarkalleen että mikä numero kuuluu siihen kohtaan X.
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Ookoo.
Kirjoittelin tuossa juuri kaavoja paperille ja ratkoin vähän yhtälöryhmää. Tajusin, että tuossahan on jo kolme itsenäistä rajoittavaa tekijää, eli kuvaamani lisärajoituksen mukaan ottaminen olisi tuottanut kolmen tuntemattoman (toisen asteen yhtälössä on kolme vakiokerrointa) yhtälöryhmään neljä yhtälöä, eikä sitä olisi voinut ratkaista. Ainoa toisen asteen ratkaisu on siis tuo danden antama kaava. Elikkä puhuin edellisessä viestissä vähän puuta heinää.
Mutta ei silti mennyt sormi suuhun. Ratkaisu on helppo: lisätään polynomiin yksi korkeamman asteen termi, jolloin saadaan neljäs tuntematon muuttuja. Sitten tulikin eteen pulma: 3. vai 4. asteen termi. Onneksi tässä ei kuitenkaan tarvita kuin tuota tiettyä pätkää, joten valitaanpa kumpi tahansa, lopputulos ei ole juurikaan erilainen. 4. asteen termi vain tuottaa hiukan jyrkemmän muutoksen kaarevuudessa kuin 3. aste. Editoin tähän molemmat vaihtoehdot, kun saan laskuni valmiiksi
Kirjoittelin tuossa juuri kaavoja paperille ja ratkoin vähän yhtälöryhmää. Tajusin, että tuossahan on jo kolme itsenäistä rajoittavaa tekijää, eli kuvaamani lisärajoituksen mukaan ottaminen olisi tuottanut kolmen tuntemattoman (toisen asteen yhtälössä on kolme vakiokerrointa) yhtälöryhmään neljä yhtälöä, eikä sitä olisi voinut ratkaista. Ainoa toisen asteen ratkaisu on siis tuo danden antama kaava. Elikkä puhuin edellisessä viestissä vähän puuta heinää.
Mutta ei silti mennyt sormi suuhun. Ratkaisu on helppo: lisätään polynomiin yksi korkeamman asteen termi, jolloin saadaan neljäs tuntematon muuttuja. Sitten tulikin eteen pulma: 3. vai 4. asteen termi. Onneksi tässä ei kuitenkaan tarvita kuin tuota tiettyä pätkää, joten valitaanpa kumpi tahansa, lopputulos ei ole juurikaan erilainen. 4. asteen termi vain tuottaa hiukan jyrkemmän muutoksen kaarevuudessa kuin 3. aste. Editoin tähän molemmat vaihtoehdot, kun saan laskuni valmiiksi
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Mikäli oikein ymmärsin, niin ensimmäisessä tapauksessa ei ole pakko olla derivaatan nollakohtia. Itse asiassa funktion ei tarvitse edes olla derivoituva x:ssä (jatkuva funktio ei välttämättä ole derivoituva määrittelyjoukossaan). Niille, jotka eivät tiedä derivaatan nollakohtia, lukekaa tämä. Funktio voi tietysti kasvaa lineaarisesti tai ekponentaalisesti, mutta mikäli se kasvaa aidosti, ei derivaatalla ole nollakohtia. Okei, saattaa olla ehkä saivartelua, mutta kuitenkin. Eli pointtini oli vain, että f:n arvojoukko voi olla [0,1] määrittelyjoukon ollessa [0,100] ilman, että f:n derivaatalla on nollakohtia kyseisellä välillä. Eli esimerkiksi tälläinen kuvaaja.SPuntte wrote:Haluatko, että käyrä saavuttaa tietyn y:n arvon tietyllä x (kuten tuossa kuvassa), vai siten, että käyrän arvo ei milloinkaan saavuta tiettyä y:n arvoa, vaikka se sitä lähestyykin, kun x kasvaa? Lisäksi tuosta jälkimmäisestä voidaan rakentaa sellainen funktio, että tietyllä arvolla x sen arvo poikkeaa tietyn murto-osan lähestyttävästä arvosta.
Näin differentiaalilaskennan termein puhuen, on ensimmäinen tapaus sellainen, jossa funktion derivaatalla on nollakohta, ja toinen sellainen, jossa derivaatta lähestyy nollaa, kun x kasvaa rajatta.
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Katsos vain, eipä olekaan pakko - jotenkin vain ajattelin paraabelin huipun automaagisesti sinne määrittelyjoukon loppuun, eli kohtaan x=100. En tiedä miksi, varmaan tuosta Danden ehdotuksesta johtuen. Kuitenkin siinä valossa, että kyseisellä kaavalla piirretään väriliukuja, voi olla tärkeääkin, että derivaatta saavuttaa nollakohtansa, jolloin kahdesta peräkkäisen gradientin siirtymästä tulee pehmeämpi, kun jälkimmäinen piirretään takaperin.Dibalo wrote:Mikäli oikein ymmärsin, niin ensimmäisessä tapauksessa ei ole pakko olla derivaatan nollakohtia. Itse asiassa funktion ei tarvitse edes olla derivoituva x:ssä (jatkuva funktio ei välttämättä ole derivoituva määrittelyjoukossaan). Niille, jotka eivät tiedä derivaatan nollakohtia, lukekaa tämä. Funktio voi tietysti kasvaa lineaarisesti tai ekponentaalisesti, mutta mikäli se kasvaa aidosti, ei derivaatalla ole nollakohtia. Okei, saattaa olla ehkä saivartelua, mutta kuitenkin. Eli pointtini oli vain, että f:n arvojoukko voi olla [0,1] määrittelyjoukon ollessa [0,100] ilman, että f:n derivaatalla on nollakohtia kyseisellä välillä. Eli esimerkiksi tälläinen kuvaaja.
Noh, joka tapauksessa, ratkaisin nyt tuon kaavan käyrälle muotoa y=ax³+bx²+cx+d. Parametrit a, b, c ja d ovat
Ja kuten näkyy, nekin saavat edelleen parametreja, jotka ovat:
x_0 - määrittelyjoukon maksimi, esimerkiksi 100
y_0 - arvojoukon maksimi, esimerkiksi 1
r - arvo väliltä [0, 1], joka ilmaisee missä kohdassa käyrän jyrkkyys on yhtäkuin lineaarisen vastineen jyrkkyys. Eli kohdassa x = r*x_0 käyrän jyrkkyys on y_0/x_0
Tässä on kuitenkin eräs ongelma, jota en tullut ajatelleeksi. Nimittäin, jos r:n arvo on sopiva (esimerkiksi 0,8), käyrä on aluksi laskeva, eli saa joissain kohdissa negatiivisia arvoja! Tämä ei tietenkään ole suotavaa.
Asian pitäisi korjaantua käyttämällä neljännen asteen termiä kolmannen asteen termin sijaan, jolloin käyrän yhtälö on muotoa y = ax⁴ + bx² + cx + d. Tästäkin saadaan lineaarinen yhtälöryhmä käyttämällä avuksi käyrän haluttuja ominaisuuksia. Yhtälöiden kertoimiksi tulee kuitenkin semi monimutkaisia x_0, y_0 ja r:ää sisältäviä lausekkeita, joten laiskana ratkaisin ne Maxima-nimisellä matematiikkaohjelmalla. Jostain syystä neljännen asteen polynomin kertoimet sisältävä yhtälöryhmä ei sillä ratkea, vaan ohjelma jää jumiin. Järkelyni mukaan ratkaisu pitäisi kuitenkin olla olemassa, ja kiinnittämällä parametrit x_0 = 100, y_0 = 1 ja r = 0.8 sain yhtälöryhmän avulla ihan sellaisen käyrän kuin pitikin. Sen kertoimet ovat:
a = -7,978723404 · 10⁻⁹
b = 1,393617021 · 10⁻⁴
c = 4,042553191 · 10⁻³
d = 0
Voit käyttää sitä paremman puutteessa. Jos joku (Dibalooooo ;P) jaksaa raapustaa yhtälöryhmän ratkaisun paperilla, tai omistaa paremman algebrajärjestelmän kuin Maxima, voi tästä ottaa valmiin yhtälöryhmän:
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Herra Wolfram kertoo:
Olen laiska, joten en jaksanut kirjoittaa noita auki.
EDIT: Ehkä hieman helpommin luettavissa oleva kuva.
Code: Select all
a -> -((y - 2 r y)/(2 x^4 (1 - 3 r + 2 r^4 x))),
b -> -((-y + 4 r^4 x y)/(2 x^2 (1 - 3 r + 2 r^4 x))),
c -> -((-y + 4 r y - 4 r^4 x y)/(x (1 - 3 r + 2 r^4 x)))
EDIT: Ehkä hieman helpommin luettavissa oleva kuva.
Re: Tyhmät kysymykset (I/2010)
Nonniin, johan toimii. Sopi muuten koodiin kuin nakutettu. Thanks, guys!
..ja on muuten nätti käyrä! :)
..ja on muuten nätti käyrä! :)
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset (I/2010)
kukaan ei ole huomannut ongelmaani:
Nyt ogelmani on että kun ammus osuu jälkimmäiseen niin se ei tuhoudu eikä hiiri enään hallitse sitä. Koodi:
arvostelu auttamisessa yhdestä viiteen:
Nyt ogelmani on että kun ammus osuu jälkimmäiseen niin se ei tuhoudu eikä hiiri enään hallitse sitä. Koodi:
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset (I/2010)
offtopic: viewtopic.php?p=36324#p36324 viestistä tähän viestiin asti pitäisi säilöä pois "Tyhmät kysymykset" Ketjusta. Aivan liian viisas kysymys vastauksineen kaikkineen.
skorpioni-cb: mihin ihmeeseen tarvitset "Include "ide\cbJanelas.cb""?? koodissa ei ollut mitään tähän viittaavaa.
skorpioni-cb: mihin ihmeeseen tarvitset "Include "ide\cbJanelas.cb""?? koodissa ei ollut mitään tähän viittaavaa.
-On selkeästi impulsiivinen koodaaja joka...
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset (I/2010)
En ole laittanut vielä popuppeja mutta ne tulee vasta sitten kun hallinta toimiiJATothrim wrote:offtopic: viewtopic.php?p=36324#p36324 viestistä tähän viestiin asti pitäisi säilöä pois "Tyhmät kysymykset" Ketjusta. Aivan liian viisas kysymys vastauksineen kaikkineen.
skorpioni-cb: mihin ihmeeseen tarvitset "Include "ide\cbJanelas.cb""?? koodissa ei ollut mitään tähän viittaavaa.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset (I/2010)
Samalla tarvitsen animaatio-kaappauksen joka tekisi ns. "Liikkuvaa kuvaa jota voidaan käyttää avin tapaan" Liikkuvaa framekuvaa.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset (I/2010)
Hmm, en edes tajunnut mikä on ongelmasi. "Ammus osuu jälkimmäiseen"?? Mikä ihmeen jälkimmäinen? Mitä pitäisi tapahtua kun ammus (eli varmaankin tyyppikokoelman RAKETIT jäsen?) osuu tähän "jälkimmäiseen"? Koodi on aika sekavasti sisennettykin, käyttäisit sitä tabulaattoria (TAB, Caps Lockin yläpuolella oleva nappi...) sisennysten tekemiseen ja Shift (vaihto) + TAB yhdistelmää sisennysten poistamiseen pätkittäin.skorpioni-cb wrote:kukaan ei ole huomannut ongelmaani:
Nyt ogelmani on että kun ammus osuu jälkimmäiseen niin se ei tuhoudu eikä hiiri enään hallitse sitä. <koodi>
Koko koodista ei löytynyt yhtään Delete tai DeleteObject komentoa, joten ihmekkös ettei ammus tuhoudu - eihän sellaista koodinpätkää edes ole olemassa joka sen tuhoaisi
EDIT:
Mitä tarkoitat? Mikä "animaatio-kaappaus"? Tarvitsetko siis jotain kuvaa, jonka joku piirtäisi sinulle ja jota voisit käyttää niin kuin videotiedostoa?[/edit]skorpioni-cb wrote:Samalla tarvitsen animaatio-kaappauksen joka tekisi ns. "Liikkuvaa kuvaa jota voidaan käyttää avin tapaan" Liikkuvaa framekuvaa.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com