NUnit perusteet 106

Keilauksen pistelaskuri

Tutustu alla olevaan tehtävänantoon. Sinun tehtäväsi on toteuttaa ohjelma käyttäen yksikkötestausta. Tehtävänanto on tarkoituksella jätetty pilkkomatta pieniin välivaiheisiin. Sinun pitää itse lähteä purkamaan tehtävänantoa ja miettiä mitä testaisit ensin tai mistä lähtisit liikkeelle. Voit aloittaa vaikka hahmottelemalla miten ohjelma toimii.

Tee itsellesi muistiinpanot, miten tehtävän ratkaisisit. Kun sinulla on jonkinlainen ajatus niin yritä toteuttaa ratkaisusi. Alkuun voit esimerkiksi listata helpoimmat testit, jotka vievät ohjelman kokonaisuutta eteenpäin.

Yksi keilasarja koostuu kymmenestä ruudusta. Yhdeksään ensimmäiseen ruutuun saa heittää kaksi heittoa, jos ensimmäinen heitto ei ole kaato ja kymmenenteen ruutuun heitetään kolme heittoa, jos ensimmäinen heitto on kaato tai toinen heitto on paikko.

Jokaisesta heitosta saa pisteitä yhtä paljon kuin on kaadettuja keiloja. Jos heitto on kaato, kyseisen ruudun pisteisiin lasketaan mukaan lisäksi kahden seuraavan heiton pisteet ja paikon jälkeen lasketaan ruutuun mukaan seuraavan yhden heiton pisteet.

Ruudun pisteet lasketaan ja merkitään vasta kun kaikki ruutuun tarvittavat heitot on heitetty, esimerkiksi kaadon jälkeen on heitettävä ensin kaksi heittoa ennen kuin pisteet voidaan laskea.

Maksimipisteet 300 saadaan, kun heitetään 12 kaatoa peräkkäin, jolloin jokaista ruutua kohti tulee 30 pistettä.

(alkuperäinen idea [http://codingdojo.org/kata/Bowling/](http://codingdojo.org/kata/Bowling/))

Last updated