Skip to content

Instantly share code, notes, and snippets.

@devLukaDev
Last active October 20, 2023 15:40
Show Gist options
  • Select an option

  • Save devLukaDev/cafc0d5d4e8c261ff11500c32a2e8763 to your computer and use it in GitHub Desktop.

Select an option

Save devLukaDev/cafc0d5d4e8c261ff11500c32a2e8763 to your computer and use it in GitHub Desktop.
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