OHJ-7400 Graafisen käyttöliittymän ohjelmointi, Harjoitustyö Juha-Matti Vanhatupa 2008
Yleistä Tehdään 2 hengen ryhmissä Harjoitustyöhön ilmoittaudutaan lomakkeella www.cs.tut.fi/~grako/ilmo.html Ympäristö:.NET 2.0 ja C# Ympäristö 2 (vain 6op versio): Java Swing tai QT Tehtävänanto sama molemmille töille
Kuvaus Ohjelma, jolla voi suunnitella taisteluajoneuvoja kuvitteelliseen tietokonepeliin.
Ohjelman kohderyhmä Ohjelman kohderyhmä hallitsee tietokoneen peruskäytön, kuten toimistosovellukset ja www-sivujen selailun, mutta ei ole varsinainen IT-alan ammattilainen. Kohderyhmän jäsenet myös harrastavat tietokonepelejävapaaaikanaan, mutta eivät omaa mitään mielenkiintoa ohjelmointiin tai tietokoneen virittelyyn.
Vaatimukset Yleiset 1. Ohjelmalla voi luoda erilaisia ajoneuvoja. Ajoneuvon luonti alkaa valitsemalla sille runkotyyppi. 2. Ajoneuvon sisälle voi piirtää sisäseiniä vapaasti. 3. Ajoneuvon sisälle voi lisätä komponentteja. Komponenttien hinta vaikuttaa ajoneuvon kokonaiskustannukseen ja paino kokonaispainoon.
Vaatimukset: runkotyypit Kevyt, keskiraskas ja raskas Tyyppi Kerroksia Kantokyky Erillinen pääase Kevyt 1 1000 Ei Keskiraskas 2 1500 Kyllä Raskas 2 3000 Kyllä
Vaatimukset Komponentteja Seinä lisäpanssari Konekivääripesäke Korjausyksikkö Tutka-asema Kulkuaukko
Vaatimukset: komponentit Seinä seinän pituutta ja paksuutta voidaan muuttaa sijoittuu kerrokseen tai katolle paino: 0 hinta: ilmainen (0)
Vaatimukset: komponentit Lisäpanssari kiinnittyy seinään, sisä- tai ulkopuolelle paino: 100 hinta: 30
Vaatimukset: komponentit Konekivääripesäke kiinnittyy seinään, ulkoseinään kiinnittyessä piippu osoittaa ajoneuvon ulkopuolelle paino: 80 hinta: 100
Vaatimukset: komponentit Korjausyksikkö sijoittuu kerrokseen, ei voi asentaa katolle paino: 100 hinta: 60
Vaatimukset: komponentit Tutka-asema sijoittuu kerrokseen tai katolle paino: 20 hinta: 200
Vaatimukset: komponentit Kulkuaukko sijoittuu kerrokseen tai katolle. Ei voida sijoittaa, jollei suoraan alla olevassa kerroksessa ole myös tyhjää tilaa tällä kohdalla. Aukon mitat ovat vastaavat myös siinä. Kulkuaukon halkaisijaa voidaan muuttaa, mutta sen muoto on aina ympyrä. paino: 0 hinta: 0
Vaatimukset Komponenttien ominaisuudet 1. Komponentti = seinä, lisäpanssari, konekivääripesäke, korjausyksikkö, tutka-asema, kulkuaukko 2. Komponenttien lisääminen ja poistaminen 3. Komponenttien liikuttaminen hiirellä raahaamalla 4. Komponenttien ominaisuuksien muuttaminen: nimien muuttaminen, sekä seinien pituuden ja leveyden, kulkuaukkojen halkaisijan muuttaminen
Vaatimukset 5. Katolle voi sijoittaa: seinä, tutka-asema, kulkuaukko 6. Seiniin kiinnittyvät: lisäpanssari, konekivääripesäke 7. Vain kerroksiin: korjausyksikkö 8. Seinät vapaasti piirrettävissä
Vaatimukset Muut 1. Projektin tallentaminen levylle 2. Projektin lataaminen levyltä 3. Undo-Redo toiminto 4. Pohja skaalautuu ikkunan kokoa muutettaessa siten, että se hyödyntää ikkunan piirtoalueen mahdollisimman tehokkaasti 5. Copy-Paste 6. Cut-Paste
Välipalautukset Välipalautukset: viikolla 40, 29.9-3.10. Välipalautuksiin ilmoittaudutaan listaan kurssin ilmoitustaululla, lista tulee viikolla 39 15 min Luokassa TC205 Ryhmä esittelee ohjelman prototyypin, ohjelman luokkakaavion ja selostaa millainen arkkitehtuuri tulee olemaan Luokkakaavio kerätään talteen Pakollinen Ei erillistä arvosanaa
Välipalautusaikoja Ke 1.10 Klo 12.00-16.00 To 2.10 Klo 10.00-16.00 Muut ajat tarvittaessa Kesto 15 min Paikka TC205 Viikko 40
Harjoitustyön arvostelu Ohjelma toteuttaa tehtävänannon vaatimukset Ohjelman virheetön toiminta Ohjelman rakenne Ohjelman käytettävyys Välipalautusvaiheessa palautettu luokkakaavio + välipalautustilaisuus Koodin luettavuus (kommentointi jne)
Deadlinet Välipalautus 3.10 viikko 40.NET 9.11 klo 23.59 Java tai QT 23.11 klo 23.59