Skip to content

Track 2 - Oefenopdracht - Dobbelsteen: Vervolg

Codelab

npx @hboictcloud/codelab-cli new oop/2-dobbelsteen-vervolg

Beschrijving

Dit is een vervolg op de Dobbelsteen van Track 1. We gaan verder werken in het project dat je daar hebt gemaakt.

  1. Verbeter je klasse Dobbelsteen door encapsulation toe te passen.
  2. Maak een methode gooiTotDubbel() die twee dobbelstenen gooit tot er dubbel is gegooid.
  3. Test de nieuwe functionaliteit in de index.ts.

Hieronder een voorbeeld van input/output van deze applicatie. Input die de gebruiker invoert is onderstreept.

Voorbeeld

Welk karakter moet ik gebruiken voor het oog: @
Worp: 1
 ___ 
|   |
| @ |
|   |
 --- 

 ___ 
|* *|
| * |
|* *|
 --- 

Worp: 2
 ___ 
|@ @|
|@ @|
|@ @|
 --- 

 ___ 
|* *|
|* *|
|* *|
 --- 
Dubbel gegooid!

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

  1. Maak een kopie van je code van de Dobbelsteen uit Track 1 en open deze voor bewerking.
  2. Verbeter je klasse Dobbelsteen door encapsulation toe te passen. Gebruik op de juiste plekken public en private. Maak de attributen worp en karakter private met een underscore prefix (_worp, _karakter).
  3. Test of de index.ts nog correct werkt.
  4. Maak in de index.ts een functie met de volgende signatuur:

    function gooiTotDubbel(dobbelsteen1: Dobbelsteen, dobbelsteen2: Dobbelsteen): void
    

    Deze functie gooit en print twee dobbelstenen, totdat er dubbel is gegooid.

  5. Maak in je index.ts een tweede dobbelsteen aan en roep vervolgens gooiTotDubbel() aan met je twee dobbelstenen.

  6. Schrijf TSDoc voor de klasse Dobbelsteen als geheel en voor alle methodes van de klasse:

    • Beschrijf het doel van de klasse en van elke methode.
    • Beschrijf voor elke methode de inputparameters en licht toe wat een methode teruggeeft.
    • Gebruik in je TSDoc @author, @param en @return.

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.
  • Vermijd magic numbers, gebruik constanten.
  • Gebruik de TSDoc tags @author, @param en @return.
  • Denk aan encapsulation, gebruik private waar mogelijk.