Windows Forms - Demo 2

Tee seuraavat ohjelmat käyttäen Visual Studiota (tai vastaavaa) ja Windows Formsia. Muista palauttaa jokainen tehtävä omassa kansiossaan!

Tehtävä 1

Tee ensimmäisissä pääteohjauksissa toteutetusta ohjelmasta windows-versio. Tee siis ohjelma jossa on kaksi kenttää joihin voi syöttää kokonaislukuja. Ohjelmassa on myös Laske-painike, jota napauttamalla ohjelma laskee sille annetut luvut yhteen ja asettaa saamansa tuloksen syöttökenttien alapuolelle näkyville.

Lisää ohjelmaan yksinkertainen About-dialogi, jonka saa avattua Help-valikon kautta. About-dialogissa pitää lukea ohjelmasi nimi ja oma nimesi.

Tehtävä 2

Parantele ensimmäisen tehtävän ohjelmaa lisäämällä siihen seuraavat ominaisuudet:

Tehtävä 3

Parantele edellistä tehtävää seuraavilla lisäominaisuuksilla:

vinkki: kts. pääteohjaus ja Windows Forms, Custom Controls Part 1: Mastering DragDrop

Tehtävä 4

Parantele edellistä tehtävää seuraavilla lisäominaisuuksilla:

Tämän tehtävän voi tehdä myös ilman kolmostehtävän toiminnallisuutta.

Tehtävä 5

Luo sekkari-ohjelma, joka toimii kuten tavallinen ajanottokello.

Ohjelmassa on samassa kohdassa start/stop-painike, joka aloittaa ja lopettaa ajanoton. Painike muuttuu tilanteen mukaan oikeaksi. Ajan juoksiessa näkyvissä on stop-painike ja ajan ollessa pysäytettynä näkyvissä on start-painike.

Ohjelmassa on kenttä jossa juoksee kellonaika ajastuksen ollessa päällä. Pysäytettynä näkyy siihen mennessä kulunut aika tai 0:00:00 (minuutit:sekunnit:sadasosat) jos kelloa ei ole vielä käynnistetty.

Ohjelmassa on myös väliaika-painike, joka ottaa talteen sen hetkisen ajan. Väliaika-painikkeen painalluksen jälkeen näkyy tallennettava väliaika kahden (2) sekunnin ajan kellonaikakentässä. Tämä jälkeen palaa juokseva aika näkyviin. Kello siis juoksee koko ajan mutta väliaikaa otettaessa väliaika näytetään hetken aikaa juoksevan kellonajan sijaan.

Ohjelmassa on nollaa-painike, joka on aktiivinen vain kellon ollessa pysähdyksissä. Nollaa-painike nollaa kellonajan sekä poistaa muistista tallennetut väliajat.

Ohjelmasta löytyy myös yksinkertainen file-valikko, jonka alta löytyy tallenna-valinta. Tallenna tallentaa siistissä ihmisen luettavassa muodossa tekstitiedostona (.txt) sekkarilla saadun loppuajan ja kaikki tallennetut väliajat.

Tehtävä 6

Kirjoita Canasta-korttipelin pistelaskuohjelma. Javascriptillä toteutettua mallia voit tutkia osoitteesta http://appro.mit.jyu.fi/2006/kevat/sovellukset/demot/demo8/malli/.

Ohjelma kysyy ensin pelaajien nimet, joiden täyttämisen jälkeen aloita peli -painike aktivoituu.

Aloita peli -painikkeen painamisen jälkeen lomakkeelle ilmestyvät kentät joihin voidaan syöttää kummankin joukkueen bonus- ja korttipisteet. Ohjelma laskee automaattisesti pisteet yhteen syöttökenttien alapuolelle. Ohjelma mittaa myös jakoon kuluneen ajan ja näyttää sen yhteenlaskettujen pisteiden vieressä. Jaon pisteiden syöttämisen jälkeen ilmestyy lomakkeelle uusi loota seuraavan jaon pisteitä varten tai jos toinen joukkue sai jo yhteensä yli 5000 pistettä eli voitti pelin niin tämä pistemäärä korostetaan ja koko peliin kulunut aika näytetään lomakkeella.

Ohjelman pitää varmistaa, että kenttiin syötetään vain kelvollisia lukuja eli epäkelpoja merkkejä ei hyväksytä. Kenttiin hyväksytään myös negatiiviset arvot. Luvut voivat olla vain kokonaislukuja.

Pelin loputtua ohjelman file-valikosta voi valita Tallenna jolla pelin jakojen pisteet ja kokonaispisteet, joukkueiden tiedot ja mitatut ajat voidaan tallentaa siististi muotoiltuna tekstitiedostona.

File-valikosta löytyy myös valinta Uusi, joka poistaa vanhan pelin tiedot lomakkeelta ja voidaan aloittaa alusta syöttämällä uusien pelaajien tiedot.

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/gko/demot/demo2/
© Antti Ekonoja (antti.j.ekonoja@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2010-10-04 16:03:55
Informaatioteknologia - Jyväskylän yliopiston informaatioteknologian tiedekunta