Track 1 - Oefenopdracht - Dobbelsteen¶
Codelab¶
Beschrijving¶
Tijdens de Programming Codelabs heb je al eens gewerkt aan een applicatie die dobbelstenen gooit. Je kunt gedeeltelijk de code van die opdracht hergebruiken.
In deze nieuwe versie gaan we een dobbelsteen class maken. Het voordeel is dat we hierna gemakkelijk meerdere dobbelstenen kunnen aanmaken en daarmee kunnen gooien.
- Maak een class
Dobbelsteenvolgens het onderstaande klassendiagram. - Test de werking van de
Dobbelsteen-class inindex.ts, haal daarna de test-code weer weg. - Vraag de gebruiker om een karakter voor de ogen en blijf de de dobbelsteen werpen tot er 6 gegooid wordt.
Hieronder een voorbeeld van input/output van deze applicatie na de wijzigingen. Input die de gebruiker invoert is onderstreept.
Voorbeeld 1¶
In het eerste voorbeeld wordt achtereenvolgens 2 en 6 gegooid.
Welk karakter moet ik gebruiken voor het oog: *
*
*
* *
* *
* *
Voorbeeld 2¶
In het tweede voorbeeld wordt achtereenvolgens 5, 5, 3 en 6 gegooid.
Welk karakter moet ik gebruiken voor het oog: #
# #
#
# #
# #
#
# #
#
#
#
# #
# #
# #
Klassendiagram¶
Onderstaand diagram vat de structuur van de class samen:
classDiagram
class Dobbelsteen {
worp: number
karakter: string
constructor(karakter?: string)
gooi() void
print() void
getWorp() number
}
Stappenplan¶
-
Maak een nieuwe class genaamd
Dobbelsteen.- Geef deze class de attributen
worpenkarakter. Worp geeft aan wat er als laatste is gegooid met de dobbelsteen. Karakter wordt gebruikt voor de weergave van het oog. - Deze class heeft een default constructor en een constructor voor het karakter van het oog. In de constructor met het karakter zul je de waarde van dit karakter aan het attribuut karakter moeten toewijzen.
- Maak een methode
gooi(): void. Deze methode zorgt dat het attribuut worp een nieuwe, random waarde krijgt. Deze methode drukt dus niets af! GebruikMath.random()om een random waarde van 1 tot en met 6 te genereren. - Maak een methode
print(): void. Deze methode print de dobbelsteen op dezelfde wijze als we deden in de dobbelsteenopdracht van Programming. Zorg dat als er een karakter is meegegeven in de constructor dat deze gebruikt wordt als oog! - Maak een methode
getWorp(): number. Deze methode geeft de waarde van het attribuut worp terug.
- Geef deze class de attributen
-
Test in de
index.tsof je classDobbelsteenwerkt.- Maak een object van type
Dobbelsteenaan door de default constructor aan te roepen:const steen: Dobbelsteen = new Dobbelsteen(). - Druk de waarde van worp af. Gebruik hiervoor de methode
getWorp()enconsole.log(). - Gooi met de dobbelsteen door de methode
gooi()van steen aan te roepen. Je ziet verder nog niets gebeuren. - Laat zien wat er gegooid is door de methode
print()van steen aan te roepen. - Maak nog een
const steenMetAnderOog: Dobbelsteen = new Dobbelsteen("$")aan en herhaal de bovenstaande stappen. Test of het karakter dat je meegeeft geprint wordt.
- Maak een object van type
-
Implementeer de originele applicatie, maar dit keer met gebruik van de
Dobbelsteen-class. -
Verwijder alle bestaande code uit de
index.ts. - Vraag de gebruiker om een karakter dat gebruikt moet worden voor de ogen van de dobbelsteen, maak daarmee een instantie van je
Dobbelsteen-class. - Werp de dobbelsteen en blijf dit herhalen tot er 6 gegooid wordt, na het printen van de dobbelsteen stopt de applicatie.
Richtlijnen bij coderen¶
- Zorg dat je naam en het doel van het programma bovenin staan.
- Gebruik de juiste inspringing (indentation) bij de lay-out.
- Let op juist gebruik hoofdletters en kleine letters.
- Gebruik goede namen.
- Voeg waar nodig commentaar toe dat inzicht geeft in je code.