Aihepiiri: grafiikka
Pienoisrautatie
Toteuta ohjelma, jolla voi suunnitella pienoisrautateitä.
![Rata](../_images/track.jpg)
Pienoisrautatiet koostuvat standardikokoisista paloista, joita voidaan liittää toisiinsa. Paloja on montaa eri tyyppiä :
- Eri mittaisia suoria kappaleita
- Eri kaarevuussäteellä olevia 45 asteen kaarteita
- Eri kaarevuussäteellä olevia 30 asteen kaarteita
- Vaihde (3 vapaata päätä)
- Vaihde (4 vapaata päätä)
- Stopperi
- jne jne....
Vinkkejä
- Käytä perintää hyväksesi, radankappaleilla kannattaa olla yhteinen yliluokka, jolla on N liitoskohtaa muihin radankappaleisiin. Tämä yksinkertaistaa ohjelmaa paljon.
- Tarvitset trigonometrisiä funktioita (sin, cos) kaarteiden piirtämiseen ja radankappaleiden pyörittämiseen vapaavalintaiseen kulmaan.
- Silmukoiden sulkeutumista tutkittaessa kannattaa käyttää jonkinlaisia toleransseja tarkan sopivuuden sijaan. Jo pelkästään laskutarkkuuden katoaminen laskuissa tekee täydellisen sopivuuden tarkastelun mahdottomaksi.
Vaatimukset
Keskivaikea - Vaativa
- Graafinen käyttöliittymä
- Suorat ja kaartuvat raidepalat, vaihteet, stopperit.
- Ohjelman tulee huomata jos palan lisääminen muodostaa silmukan.
- Mahdollisuus tallentaa rata ja myöhemmin ladata ja jatkaa suunnittelua.
- Radan tallennus ja lataus (Oma formaatti)
- jos mahdollista, myös kappaleiden kuvaukset ladataan tiedostosta.
Jos aikaa jää, toteuta vaikkapa radalla kulkeva veturi (varoitus : Saattaa olla hyvinkin haastava toteuttaa)