Last active
October 20, 2023 15:40
-
-
Save devLukaDev/cafc0d5d4e8c261ff11500c32a2e8763 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| classDiagram | |
| %% Bord "1"<|-- "0-*" Kuiltje | |
| MankalaSpel "1"*--"1" State | |
| MankalaSpel "1"<|--"1" MankalaV1 | |
| WinCheckerV1 "1"<.."1" MankalaV1 | |
| MankalaV1Bord "1"<.."1" MankalaV1 | |
| RegelVoorbeeld "5"<.."1" MankalaV1 | |
| GameManager "1"*--"1" MankalaSpel | |
| WinChecker "1"<|--"1" WinCheckerV1 | |
| Regel "1"<|--"1" RegelVoorbeeld | |
| Bord "1"<|--"1" MankalaV1Bord | |
| Kuiltje "1"<|--"0-*" ThuisKuiltje | |
| Kuiltje "1"<|--"2-*" BordKuiltje | |
| Bord "1"*--"2-*" Kuiltje | |
| class State { | |
| +int Speler | |
| +int SpelerGewonnen | |
| -static State _instance | |
| -static object _instanceLock | |
| +State GetInstance() | |
| +void VolgendeSpeler() | |
| +int GetAndereSpeler() | |
| } | |
| class GameManager { | |
| -string Display() | |
| -int InputLezer() | |
| -bool BestaandKuiltje() | |
| +void GameLoop() | |
| %% display is onze forms/console printer | |
| -MankalaSpel _mankalaSpel | |
| } | |
| class WinChecker { | |
| #int NumKuiltjesPP | |
| #Bord Speelbord | |
| #int HuidigeSpeler | |
| +int SpelWinstSpeler()* | |
| } | |
| class WinCheckerV1 { | |
| +int SpelWinstSpeler() | |
| -bool NietLegeKuiltjes() | |
| -int BesteSpeler() | |
| } | |
| class MankalaSpel { | |
| <<abstract>> | |
| -State _state | |
| -Bord _speelbord | |
| -WinChecker _winChecker | |
| +int HuildigeSpeler | |
| +int AantalKuiltjesSpeler | |
| #int AantalRijenSpeler | |
| #List(Regel) Regels | |
| #Bord GetBord()* | |
| #void SetBordSettings()* | |
| -void Zet() | |
| +void ZetResultaat() | |
| %% evt ook alle hulpmethodes: | |
| #void BordSettings()* | |
| -bool BuitenArray() | |
| -bool TegenstanderThuisKuiltje() | |
| -void UpdatePlayer() | |
| +int GetWinnendeSpeler() | |
| #WinChecker GetWinChecker()* | |
| +string BordNaarString() | |
| +bool KuiltjeNietLeeg() | |
| } | |
| class MankalaV1 { | |
| #List(Regel) Regels | |
| #void SetBordSettings() | |
| #Bord GetBord() | |
| #WinChecker GetWinChecker() | |
| } | |
| class Bord { | |
| <<abstract>> | |
| +Kuiltje[,] Kuiltjes | |
| +List(ThuisKuiltje) ThuisKuiltjes | |
| #int Rijen | |
| #int KuiltjesPerRij | |
| +int AantalThuiskuiltjes | |
| %%nog uitleggen in docs : pointers naar directe thuisckuiltje locatie in array | |
| } | |
| class MankalaV1Bord { | |
| +Kuiltje[,] Kuiltjes | |
| +List(ThuisKuiltje) ThuisKuiltjes | |
| #int Rijen | |
| #int KuiltjesPerRij | |
| +int AantalThuiskuiltjes | |
| -void VulBord() | |
| +string ToString() | |
| } | |
| class Kuiltje { | |
| <<abstract>> | |
| +int Speler | |
| +int Steentjes | |
| +void AddSteentje() | |
| +void VerwijderSteentjes() | |
| } | |
| class ThuisKuiltje { | |
| +void AddSteentjes() | |
| } | |
| class BordKuiltje { | |
| - | |
| %% laten staan anders mermaid tia | |
| } | |
| class Regel { | |
| <<abstract>> | |
| +(bool,bool) StartRegelProcedure()* | |
| #void RegelResultaat()* | |
| } | |
| class RegelVoorbeeld { | |
| +(bool,bool) StartRegelProcedure() | |
| #void RegelResultaat() | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment