summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannis Harder <harder@informatik.uni-luebeck.de>2011-06-22 11:43:49 +0200
committerJannis Harder <harder@informatik.uni-luebeck.de>2011-06-22 11:43:49 +0200
commitc9782616f56f87be05398e1dcda0dd23b9f160e8 (patch)
tree0c165f61eac43c518785cbfe2a3927fe9f16bd83
parent3634bc5135c2c98d40f92217fa301f8bf99bc936 (diff)
downloadJRummikub-c9782616f56f87be05398e1dcda0dd23b9f160e8.tar
JRummikub-c9782616f56f87be05398e1dcda0dd23b9f160e8.zip
Uml data
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@597 72836036-5685-4462-b002-a69064685172
-rw-r--r--uml/MainControl.pdfbin0 -> 112158 bytes
-rw-r--r--uml/Misc.pdfbin0 -> 5505 bytes
-rw-r--r--uml/Model.pdfbin0 -> 183197 bytes
-rw-r--r--uml/Network.pdfbin0 -> 144990 bytes
-rw-r--r--uml/State.pdfbin0 -> 7731 bytes
-rw-r--r--uml/TurnControl.pdfbin0 -> 6804 bytes
-rw-r--r--uml/UseCase.pngbin0 -> 139530 bytes
-rw-r--r--uml/View.pdfbin0 -> 9182 bytes
-rw-r--r--uml/sequence/img/sequence_01.pngbin46724 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_02.pngbin37566 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_03.pngbin47313 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_04.pngbin53658 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_05.pngbin42846 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_06.pngbin51159 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_07.pngbin48594 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_08.pngbin35320 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_09.pngbin53687 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_10.pngbin45648 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_11.pngbin29875 -> 0 bytes
-rw-r--r--uml/sequence/img/sequence_complete.pngbin715493 -> 0 bytes
-rw-r--r--uml/sequence/sequence.plant2032
-rw-r--r--uml/sequence_01.pdfbin0 -> 37990 bytes
-rw-r--r--uml/sequence_02.pdfbin0 -> 35564 bytes
-rw-r--r--uml/sequence_03.pdfbin0 -> 41367 bytes
-rw-r--r--uml/sequence_04.pdfbin0 -> 38348 bytes
-rw-r--r--uml/sequence_05.pdfbin0 -> 38953 bytes
-rw-r--r--uml/sequence_06.pdfbin0 -> 39124 bytes
-rw-r--r--uml/sequence_07.pdfbin0 -> 35412 bytes
-rw-r--r--uml/sequence_08.pdfbin0 -> 38708 bytes
-rw-r--r--uml/sequence_09.pdfbin0 -> 38888 bytes
-rw-r--r--uml/sequence_10.pdfbin0 -> 37534 bytes
-rw-r--r--uml/sequence_11.pdfbin0 -> 36517 bytes
-rw-r--r--uml/uml.juthbin169004 -> 0 bytes
33 files changed, 0 insertions, 2032 deletions
diff --git a/uml/MainControl.pdf b/uml/MainControl.pdf
new file mode 100644
index 0000000..03e9852
--- /dev/null
+++ b/uml/MainControl.pdf
Binary files differ
diff --git a/uml/Misc.pdf b/uml/Misc.pdf
new file mode 100644
index 0000000..58039ea
--- /dev/null
+++ b/uml/Misc.pdf
Binary files differ
diff --git a/uml/Model.pdf b/uml/Model.pdf
new file mode 100644
index 0000000..ee6945d
--- /dev/null
+++ b/uml/Model.pdf
Binary files differ
diff --git a/uml/Network.pdf b/uml/Network.pdf
new file mode 100644
index 0000000..e523695
--- /dev/null
+++ b/uml/Network.pdf
Binary files differ
diff --git a/uml/State.pdf b/uml/State.pdf
new file mode 100644
index 0000000..d49879e
--- /dev/null
+++ b/uml/State.pdf
Binary files differ
diff --git a/uml/TurnControl.pdf b/uml/TurnControl.pdf
new file mode 100644
index 0000000..afacb94
--- /dev/null
+++ b/uml/TurnControl.pdf
Binary files differ
diff --git a/uml/UseCase.png b/uml/UseCase.png
new file mode 100644
index 0000000..bf7c0a4
--- /dev/null
+++ b/uml/UseCase.png
Binary files differ
diff --git a/uml/View.pdf b/uml/View.pdf
new file mode 100644
index 0000000..4c6f13e
--- /dev/null
+++ b/uml/View.pdf
Binary files differ
diff --git a/uml/sequence/img/sequence_01.png b/uml/sequence/img/sequence_01.png
deleted file mode 100644
index 3fe7c21..0000000
--- a/uml/sequence/img/sequence_01.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_02.png b/uml/sequence/img/sequence_02.png
deleted file mode 100644
index 54f2915..0000000
--- a/uml/sequence/img/sequence_02.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_03.png b/uml/sequence/img/sequence_03.png
deleted file mode 100644
index 8b4fa79..0000000
--- a/uml/sequence/img/sequence_03.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_04.png b/uml/sequence/img/sequence_04.png
deleted file mode 100644
index ce00329..0000000
--- a/uml/sequence/img/sequence_04.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_05.png b/uml/sequence/img/sequence_05.png
deleted file mode 100644
index 145c8ca..0000000
--- a/uml/sequence/img/sequence_05.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_06.png b/uml/sequence/img/sequence_06.png
deleted file mode 100644
index af61d71..0000000
--- a/uml/sequence/img/sequence_06.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_07.png b/uml/sequence/img/sequence_07.png
deleted file mode 100644
index ed44b5d..0000000
--- a/uml/sequence/img/sequence_07.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_08.png b/uml/sequence/img/sequence_08.png
deleted file mode 100644
index 854c3e1..0000000
--- a/uml/sequence/img/sequence_08.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_09.png b/uml/sequence/img/sequence_09.png
deleted file mode 100644
index 2eee6ca..0000000
--- a/uml/sequence/img/sequence_09.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_10.png b/uml/sequence/img/sequence_10.png
deleted file mode 100644
index 58df194..0000000
--- a/uml/sequence/img/sequence_10.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_11.png b/uml/sequence/img/sequence_11.png
deleted file mode 100644
index c07243a..0000000
--- a/uml/sequence/img/sequence_11.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/img/sequence_complete.png b/uml/sequence/img/sequence_complete.png
deleted file mode 100644
index ec75314..0000000
--- a/uml/sequence/img/sequence_complete.png
+++ /dev/null
Binary files differ
diff --git a/uml/sequence/sequence.plant b/uml/sequence/sequence.plant
deleted file mode 100644
index 799538e..0000000
--- a/uml/sequence/sequence.plant
+++ /dev/null
@@ -1,2032 +0,0 @@
-@startuml img/sequence_complete.png
-hide footbox
-
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant playerPanel as "playerPanel\n: PlayerPanel"
-participant tablePanel as "tablePanel\n: TablePanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant ITurnControlFactory
-participant humanTurnControlFactory as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl as "turnControl\n: HumanTurnControl"
-participant humanTurnControlFactory2 as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl2 as "turnControl\n: HumanTurnControl"
-participant humanTurnControlFactory3 as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl3 as "turnControl\n: HumanTurnControl"
-participant humanTurnControlFactory4 as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl4 as "turnControl\n: HumanTurnControl"
-participant roundState as "roundState\n: RoundState"
-participant table as "table\n: Table"
-participant clonedTable as "clonedTable\n: Table"
-participant clonedTable2 as "clonedTable2\n: Table"
-participant clonedTable3 as "clonedTable3\n: Table"
-participant clonedTable4 as "clonedTable4\n: Table"
-participant playerA as "playerA\n: Player"
-participant playerASettings as "playerASettings\n: PlayerSettings"
-participant playerAHand as "playerAHand\n: Hand"
-participant playerB as "playerB\n: Player"
-participant playerBSettings as "playerBSettings\n: PlayerSettings"
-participant playerBHand as "playerBHand\n: Hand"
-participant gameHeap as "gameHeap\n: StoneHeap"
-
-== Initialize player B's turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerB
-deactivate roundState
-
-roundControl -> playerB : getPlayerSettings() : PlayerSettings
-activate playerB
-roundControl <<-- playerB : playerBSettings
-deactivate playerB
-
-roundControl -> playerBSettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerBSettings
-roundControl <<-- playerBSettings : HUMAN
-deactivate playerBSettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory
-ITurnControlFactory -> humanTurnControlFactory : <<create>>
-activate humanTurnControlFactory
-humanTurnControlFactory -->> ITurnControlFactory
-deactivate humanTurnControlFactory
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory : create() : ITurnControl
-activate humanTurnControlFactory
-create turnControl
-humanTurnControlFactory -> turnControl : <<create>>
-activate turnControl
-turnControl -->> humanTurnControlFactory
-deactivate turnControl
-
-humanTurnControlFactory -->> roundControl : turnControl
-deactivate humanTurnControlFactory
-
-' roundControl -> table : clone()
-' activate table
-' create clonedTable
-' table -> clonedTable : <<create>>
-' activate clonedTable
-' table <<-- clonedTable
-' deactivate clonedTable
-' roundControl <<-- table : clonedTable
-' deactivate table
-
-roundControl -> turnControl : setup(player, clonedTable, view, false, false) : void
-activate turnControl
-turnControl -->> roundControl
-deactivate turnControl
-
-roundControl -> turnControl : startTurn() : void
-activate turnControl
-
-turnControl -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl
-deactivate handPanel
-
-turnControl -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl
-deactivate view
-
-
-turnControl -->> roundControl
-deactivate turnControl
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-== Player B appends stone to set ==
-
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl : stoneClick(stone1, false) : void
-activate turnControl
-
-turnControl -> view : setSelectedStones({stone1}) : void
-activate view
-turnControl <<- view
-deactivate view
-
-handPanel <<-- turnControl
-deactivate turnControl
-
-[<<-- handPanel
-deactivate handPanel
-
-[-> tablePanel
-activate tablePanel
-
-tablePanel -> turnControl : connectorClick(stoneSet1, true) : void
-activate turnControl
-
-' TODO self calls?
-
-turnControl -> turnControl : pickUpSelectedStones() : void
-activate turnControl
-
-turnControl -> playerBHand : pickUp(stone1) : boolean
-activate playerBHand
-turnControl <<-- playerBHand : true
-deactivate playerBHand
-
-turnControl <<-- turnControl
-deactivate turnControl
-
-
-turnControl -> clonedTable : getPosition(stoneSet1) : Position
-activate clonedTable
-turnControl <<-- clonedTable : position
-deactivate clonedTable
-
-turnControl -> clonedTable : pickUp(stoneSet1) : boolean
-activate clonedTable
-turnControl <<-- clonedTable : true
-deactivate clonedTable
-
-turnControl -> clonedTable : drop(joinedStoneSet, newPosition) : void
-activate clonedTable
-turnControl <<-- clonedTable
-deactivate clonedTable
-
-turnControl -> tablePanel : setStoneSets(clonedTable) : void
-activate tablePanel
-turnControl <<- tablePanel
-deactivate tablePanel
-
-turnControl -> handPanel : setStones(playerBHand) : void
-activate handPanel
-turnControl <<- handPanel
-deactivate handPanel
-
-turnControl -> view : setSelectedStones({}) : void
-activate view
-turnControl <<- view
-deactivate view
-
-
-tablePanel <<-- turnControl
-deactivate turnControl
-
-[<<-- tablePanel
-deactivate tablePanel
-
-== End of player B's turn ==
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl : endOfTurn() : void
-activate turnControl
-
-turnControl -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable : isValid() : boolean
-activate clonedTable
-
-roundControl <<-- clonedTable : false
-deactivate clonedTable
-destroy clonedTable
-
-roundControl -> roundControl : rejectMove() : void
-activate roundControl
-
-roundControl -> gameHeap : putBack({stone1}) : void
-activate gameHeap
-
-roundControl <<-- gameHeap
-deactivate gameHeap
-
-loop 4 times
-roundControl -> gameHeap : drawStone() : Stone
-activate gameHeap
-
-roundControl <<-- gameHeap : stone
-deactivate gameHeap
-
-roundControl -> playerBHand : drop(stone) : void
-activate playerBHand
-
-roundControl <<-- playerBHand
-deactivate playerBHand
-
-end
-
-' reject move
-roundControl <<-- roundControl
-deactivate roundControl
-
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> roundControl : prepareTurn() : void
-activate roundControl
-
-
-roundControl -> table : clone()
-activate table
-create clonedTable2
-table -> clonedTable2 : <<create>>
-activate clonedTable2
-table <<-- clonedTable2
-deactivate clonedTable2
-roundControl <<-- table : clonedTable2
-deactivate table
-
-roundControl -> view : setBottomPanel(START_TURN_PANEL) : void
-activate view
-roundControl <<-- view
-deactivate view
-
-roundControl -> tablePanel : setStoneSets(clonedTable2) : void
-activate tablePanel
-roundControl <<- tablePanel
-deactivate tablePanel
-
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-
-turnControl <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl
-deactivate turnControl
-destroy turnControl
-
-[<<-- playerPanel
-deactivate playerPanel
-
-== Initialize player A's turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerA
-deactivate roundState
-
-roundControl -> playerA : getPlayerSettings() : PlayerSettings
-activate playerA
-roundControl <<-- playerA : playerASettings
-deactivate playerA
-
-roundControl -> playerASettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerASettings
-roundControl <<-- playerASettings : HUMAN
-deactivate playerASettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory
-ITurnControlFactory -> humanTurnControlFactory2 : <<create>>
-activate humanTurnControlFactory2
-humanTurnControlFactory2 -->> ITurnControlFactory
-deactivate humanTurnControlFactory2
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory2 : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory2 : create() : ITurnControl
-activate humanTurnControlFactory2
-create turnControl2
-humanTurnControlFactory -> turnControl2 : <<create>>
-activate turnControl2
-turnControl2 -->> humanTurnControlFactory
-deactivate turnControl2
-
-humanTurnControlFactory2 -->> roundControl : turnControl2
-deactivate humanTurnControlFactory2
-
-roundControl -> turnControl2 : setup(player, clonedTable2, view, false, false) : void
-activate turnControl2
-turnControl2 -->> roundControl
-deactivate turnControl2
-
-roundControl -> turnControl2 : startTurn() : void
-activate turnControl2
-
-turnControl2 -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl2
-deactivate handPanel
-
-turnControl2 -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl2
-deactivate view
-
-
-turnControl2 -->> roundControl
-deactivate turnControl2
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-
-
-
-
-== End of player A's turn ==
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl : endOfTurn() : void
-activate turnControl
-
-turnControl -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable2 : isValid() : boolean
-activate clonedTable2
-
-roundControl <<-- clonedTable2 : true
-deactivate clonedTable2
-destroy clonedTable2
-
-roundControl -> roundControl : dealStone() : void
-activate roundControl
-
-
-roundControl -> gameHeap : drawStone() : Stone
-activate gameHeap
-
-roundControl <<-- gameHeap : stone
-deactivate gameHeap
-
-roundControl -> playerAHand : drop(stone) : void
-activate playerAHand
-
-roundControl <<-- playerAHand
-deactivate playerAHand
-
-
-' deal stone
-roundControl <<-- roundControl
-deactivate roundControl
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> roundControl : prepareTurn() : void
-activate roundControl
-
-
-roundControl -> table : clone()
-activate table
-create clonedTable3
-table -> clonedTable3 : <<create>>
-activate clonedTable3
-table <<-- clonedTable3
-deactivate clonedTable3
-roundControl <<-- table : clonedTable3
-deactivate table
-
-roundControl -> view : setBottomPanel(START_TURN_PANEL) : void
-activate view
-roundControl <<-- view
-deactivate view
-
-roundControl -> tablePanel : setStoneSets(clonedTable3) : void
-activate tablePanel
-roundControl <<- tablePanel
-deactivate tablePanel
-
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-
-turnControl <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl
-deactivate turnControl
-destroy turnControl
-
-[<<-- playerPanel
-deactivate playerPanel
-
-
-== Initialize player B's 2nd turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerB
-deactivate roundState
-
-roundControl -> playerB : getPlayerSettings() : PlayerSettings
-activate playerB
-roundControl <<-- playerB : playerBSettings
-deactivate playerB
-
-roundControl -> playerBSettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerBSettings
-roundControl <<-- playerBSettings : HUMAN
-deactivate playerBSettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory3
-ITurnControlFactory -> humanTurnControlFactory3 : <<create>>
-activate humanTurnControlFactory3
-humanTurnControlFactory3 -->> ITurnControlFactory
-deactivate humanTurnControlFactory3
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory3 : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory3 : create() : ITurnControl
-activate humanTurnControlFactory3
-create turnControl3
-humanTurnControlFactory3 -> turnControl3 : <<create>>
-activate turnControl3
-turnControl3 -->> humanTurnControlFactory3
-deactivate turnControl3
-
-humanTurnControlFactory3 -->> roundControl : turnControl3
-deactivate humanTurnControlFactory3
-
-roundControl -> turnControl3 : setup(player, clonedTable3, view, false, false) : void
-activate turnControl3
-turnControl3 -->> roundControl
-deactivate turnControl3
-
-roundControl -> turnControl3 : startTurn() : void
-activate turnControl3
-
-turnControl3 -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl3
-deactivate handPanel
-
-turnControl3 -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl3
-deactivate view
-
-
-turnControl3 -->> roundControl
-deactivate turnControl3
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-== Player B's three stone set ==
-
-
-' first stone
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl3 : stoneClick(stone2, false) : void
-activate turnControl3
-
-turnControl3 -> view : setSelectedStones({stone2}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-handPanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- handPanel
-deactivate handPanel
-
-' second stone
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl3 : stoneClick(stone3, true) : void
-activate turnControl3
-
-turnControl3 -> view : setSelectedStones({stone2, stone3}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-handPanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- handPanel
-deactivate handPanel
-
-' third stone
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl3 : stoneClick(stone4, true) : void
-activate turnControl3
-
-turnControl3 -> view : setSelectedStones({stone2, stone3, stone4}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-handPanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- handPanel
-deactivate handPanel
-
-' put down
-
-[-> tablePanel
-activate tablePanel
-
-tablePanel -> turnControl3 : tableClick(newPosition2)
-activate turnControl3
-'pickups
-
-turnControl3 -> turnControl3 : pickUpSelectedStones() : void
-activate turnControl3
-
-turnControl3 -> playerBHand : pickUp(stone2) : boolean
-activate playerBHand
-turnControl3 <<-- playerBHand : true
-deactivate playerBHand
-
-turnControl3 -> playerBHand : pickUp(stone3) : boolean
-activate playerBHand
-turnControl3 <<-- playerBHand : true
-deactivate playerBHand
-
-turnControl3 -> playerBHand : pickUp(stone4) : boolean
-activate playerBHand
-turnControl3 <<-- playerBHand : true
-deactivate playerBHand
-
-
-turnControl3 <<-- turnControl3
-deactivate turnControl3
-
-turnControl3 -> clonedTable3 : drop(stoneSet2, newPosition2) : void
-activate clonedTable3
-turnControl3 <<-- clonedTable3
-deactivate clonedTable3
-
-
-turnControl3 -> tablePanel : setStoneSets(clonedTable3) : void
-activate tablePanel
-turnControl3 <<- tablePanel
-deactivate tablePanel
-
-turnControl3 -> handPanel : setStones(playerBHand) : void
-activate handPanel
-turnControl3 <<- handPanel
-deactivate handPanel
-
-turnControl3 -> view : setSelectedStones({}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-tablePanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- tablePanel
-deactivate tablePanel
-
-== Player B ends the 2nd turn ==
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl3 : endOfTurn() : void
-activate turnControl3
-
-turnControl3 -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable3 : isValid() : boolean
-activate clonedTable3
-
-roundControl <<-- clonedTable3 : true
-deactivate clonedTable3
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> playerBHand : getSize() : int
-activate playerBHand
-
-roundControl <<-- playerBHand : 10
-deactivate playerBHand
-
-roundControl -> roundControl : prepareTurn() : void
-activate roundControl
-
-roundControl -> clonedTable3 : clone()
-activate clonedTable3
-create clonedTable4
-table -> clonedTable4 : <<create>>
-activate clonedTable4
-table <<-- clonedTable4
-deactivate clonedTable4
-roundControl <<-- clonedTable3 : clonedTable4
-deactivate clonedTable3
-
-roundControl -> view : setBottomPanel(START_TURN_PANEL) : void
-activate view
-roundControl <<-- view
-deactivate view
-
-roundControl -> tablePanel : setStoneSets(clonedTable4) : void
-activate tablePanel
-roundControl <<- tablePanel
-deactivate tablePanel
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-turnControl3 <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl3
-deactivate turnControl3
-destroy turnControl3
-
-[<<-- playerPanel
-deactivate playerPanel
-
-== Initialize player A's 2nd turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerA
-deactivate roundState
-
-roundControl -> playerA : getPlayerSettings() : PlayerSettings
-activate playerA
-roundControl <<-- playerA : playerASettings
-deactivate playerA
-
-roundControl -> playerASettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerASettings
-roundControl <<-- playerASettings : HUMAN
-deactivate playerASettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory
-ITurnControlFactory -> humanTurnControlFactory4 : <<create>>
-activate humanTurnControlFactory4
-humanTurnControlFactory4 -->> ITurnControlFactory
-deactivate humanTurnControlFactory4
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory4 : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory4 : create() : ITurnControl
-activate humanTurnControlFactory4
-create turnControl4
-humanTurnControlFactory -> turnControl4 : <<create>>
-activate turnControl4
-turnControl4 -->> humanTurnControlFactory
-deactivate turnControl4
-
-humanTurnControlFactory4 -->> roundControl : turnControl4
-deactivate humanTurnControlFactory4
-
-roundControl -> turnControl4 : setup(player, clonedTable4, view, false, false) : void
-activate turnControl4
-turnControl4 -->> roundControl
-deactivate turnControl4
-
-roundControl -> turnControl4 : startTurn() : void
-activate turnControl4
-
-turnControl4 -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl4
-deactivate handPanel
-
-turnControl4 -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl4
-deactivate view
-
-
-turnControl4 -->> roundControl
-deactivate turnControl4
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-== Player A appends two stones to set ==
-
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl4 : stoneClick(stone5, false) : void
-activate turnControl4
-
-turnControl4 -> view : setSelectedStones({stone5}) : void
-activate view
-turnControl4 <<- view
-deactivate view
-
-handPanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- handPanel
-deactivate handPanel
-
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl4 : stoneClick(stone6, true) : void
-activate turnControl4
-
-turnControl4 -> view : setSelectedStones({stone5, stone6}) : void
-activate view
-turnControl4 <<- view
-deactivate view
-
-handPanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- handPanel
-deactivate handPanel
-
-
-[-> tablePanel
-activate tablePanel
-
-tablePanel -> turnControl4 : connectorClick(stoneSet3, true) : void
-activate turnControl4
-
-' TODO self calls?
-
-turnControl4 -> turnControl4 : pickUpSelectedStones() : void
-activate turnControl4
-
-turnControl4 -> playerAHand : pickUp(stone5) : boolean
-activate playerAHand
-turnControl4 <<-- playerAHand : true
-deactivate playerAHand
-
-turnControl4 -> playerAHand : pickUp(stone6) : boolean
-activate playerAHand
-turnControl4 <<-- playerAHand : true
-deactivate playerAHand
-
-
-turnControl4 <<-- turnControl4
-deactivate turnControl4
-
-
-turnControl4 -> clonedTable4 : getPosition(stoneSet3) : Position
-activate clonedTable4
-turnControl4 <<-- clonedTable4 : position2
-deactivate clonedTable4
-
-turnControl4 -> clonedTable4 : pickUp(stoneSet3) : boolean
-activate clonedTable4
-turnControl4 <<-- clonedTable4 : true
-deactivate clonedTable4
-
-turnControl4 -> clonedTable4 : drop(joinedStoneSet2, newPosition2) : void
-activate clonedTable4
-turnControl4 <<-- clonedTable4
-deactivate clonedTable4
-
-turnControl4 -> tablePanel : setStoneSets(clonedTable4) : void
-activate tablePanel
-turnControl4 <<- tablePanel
-deactivate tablePanel
-
-turnControl4 -> handPanel : setStones(playerAHand) : void
-activate handPanel
-turnControl4 <<- handPanel
-deactivate handPanel
-
-turnControl4 -> view : setSelectedStones({}) : void
-activate view
-turnControl4 <<- view
-deactivate view
-
-
-tablePanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- tablePanel
-deactivate tablePanel
-
-
-== Player A ends the 2nd turn ==
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl4 : endOfTurn() : void
-activate turnControl4
-
-turnControl4 -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable4 : isValid() : boolean
-activate clonedTable4
-
-roundControl <<-- clonedTable4 : true
-deactivate clonedTable4
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> playerAHand : getSize() : int
-activate playerAHand
-
-roundControl <<-- playerAHand : 0
-deactivate playerAHand
-
-roundControl -> roundControl : score()
-activate roundControl
-
-roundControl -> playerAHand : getSize() : int
-activate playerAHand
-
-roundControl <<-- playerAHand : 0
-deactivate playerAHand
-
-roundControl -> playerAHand : getStonePoints() : int
-activate playerAHand
-
-roundControl <<-- playerAHand : 0
-deactivate playerAHand
-
-roundControl -> playerBHand : getSize() : int
-activate playerBHand
-
-roundControl <<-- playerBHand : 10
-deactivate playerBHand
-
-roundControl -> playerBHand : getStonePoints() : int
-activate playerBHand
-
-roundControl <<-- playerBHand : 42
-deactivate playerBHand
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-[<- roundControl : endOfRoundEvent.emit(score)
-[-->> roundControl
-
-turnControl4 <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- playerPanel
-deactivate playerPanel
-
-@enduml
-
-
-
-@startuml img/sequence_01.png
-hide footbox
-
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant ITurnControlFactory
-participant humanTurnControlFactory as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl as "turnControl\n: HumanTurnControl"
-participant roundState as "roundState\n: RoundState"
-participant playerB as "playerB\n: Player"
-participant playerBSettings as "playerBSettings\n: PlayerSettings"
-
-== Initialize player B's turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerB
-deactivate roundState
-
-roundControl -> playerB : getPlayerSettings() : PlayerSettings
-activate playerB
-roundControl <<-- playerB : playerBSettings
-deactivate playerB
-
-roundControl -> playerBSettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerBSettings
-roundControl <<-- playerBSettings : HUMAN
-deactivate playerBSettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory
-ITurnControlFactory -> humanTurnControlFactory : <<create>>
-activate humanTurnControlFactory
-humanTurnControlFactory -->> ITurnControlFactory
-deactivate humanTurnControlFactory
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory : create() : ITurnControl
-activate humanTurnControlFactory
-create turnControl
-humanTurnControlFactory -> turnControl : <<create>>
-activate turnControl
-turnControl -->> humanTurnControlFactory
-deactivate turnControl
-
-humanTurnControlFactory -->> roundControl : turnControl
-deactivate humanTurnControlFactory
-
-' roundControl -> table : clone()
-' activate table
-' create clonedTable
-' table -> clonedTable : <<create>>
-' activate clonedTable
-' table <<-- clonedTable
-' deactivate clonedTable
-' roundControl <<-- table : clonedTable
-' deactivate table
-
-roundControl -> turnControl : setup(player, clonedTable, view, false, false) : void
-activate turnControl
-turnControl -->> roundControl
-deactivate turnControl
-
-roundControl -> turnControl : startTurn() : void
-activate turnControl
-
-turnControl -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl
-deactivate handPanel
-
-turnControl -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl
-deactivate view
-
-
-turnControl -->> roundControl
-deactivate turnControl
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-@enduml
-
-@startuml img/sequence_02.png
-hide footbox
-
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant playerPanel as "playerPanel\n: PlayerPanel"
-participant tablePanel as "tablePanel\n: TablePanel"
-participant turnControl as "turnControl\n: HumanTurnControl"
-participant clonedTable as "clonedTable\n: Table"
-participant playerBHand as "playerBHand\n: Hand"
-
-== Player B appends stone to set ==
-
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl : stoneClick(stone1, false) : void
-activate turnControl
-
-turnControl -> view : setSelectedStones({stone1}) : void
-activate view
-turnControl <<- view
-deactivate view
-
-handPanel <<-- turnControl
-deactivate turnControl
-
-[<<-- handPanel
-deactivate handPanel
-
-[-> tablePanel
-activate tablePanel
-
-tablePanel -> turnControl : connectorClick(stoneSet1, true) : void
-activate turnControl
-
-' TODO self calls?
-
-turnControl -> turnControl : pickUpSelectedStones() : void
-activate turnControl
-
-turnControl -> playerBHand : pickUp(stone1) : boolean
-activate playerBHand
-turnControl <<-- playerBHand : true
-deactivate playerBHand
-
-turnControl <<-- turnControl
-deactivate turnControl
-
-
-turnControl -> clonedTable : getPosition(stoneSet1) : Position
-activate clonedTable
-turnControl <<-- clonedTable : position
-deactivate clonedTable
-
-turnControl -> clonedTable : pickUp(stoneSet1) : boolean
-activate clonedTable
-turnControl <<-- clonedTable : true
-deactivate clonedTable
-
-turnControl -> clonedTable : drop(joinedStoneSet, newPosition) : void
-activate clonedTable
-turnControl <<-- clonedTable
-deactivate clonedTable
-
-turnControl -> tablePanel : setStoneSets(clonedTable) : void
-activate tablePanel
-turnControl <<- tablePanel
-deactivate tablePanel
-
-turnControl -> handPanel : setStones(playerBHand) : void
-activate handPanel
-turnControl <<- handPanel
-deactivate handPanel
-
-turnControl -> view : setSelectedStones({}) : void
-activate view
-turnControl <<- view
-deactivate view
-
-
-tablePanel <<-- turnControl
-deactivate turnControl
-
-[<<-- tablePanel
-deactivate tablePanel
-
-@enduml
-
-@startuml img/sequence_03.png
-hide footbox
-
-== End of player B's turn ==
-
-participant view as "view\n: View"
-participant playerPanel as "playerPanel\n: PlayerPanel"
-participant tablePanel as "tablePanel\n: TablePanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant turnControl as "turnControl\n: HumanTurnControl"
-participant table as "table\n: Table"
-participant clonedTable as "clonedTable\n: Table"
-participant clonedTable2 as "clonedTable2\n: Table"
-participant playerBHand as "playerBHand\n: Hand"
-participant gameHeap as "gameHeap\n: StoneHeap"
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl : endOfTurn() : void
-activate turnControl
-
-turnControl -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable : isValid() : boolean
-activate clonedTable
-
-roundControl <<-- clonedTable : false
-deactivate clonedTable
-destroy clonedTable
-
-roundControl -> roundControl : rejectMove() : void
-activate roundControl
-
-roundControl -> gameHeap : putBack({stone1}) : void
-activate gameHeap
-
-roundControl <<-- gameHeap
-deactivate gameHeap
-
-loop 4 times
-roundControl -> gameHeap : drawStone() : Stone
-activate gameHeap
-
-roundControl <<-- gameHeap : stone
-deactivate gameHeap
-
-roundControl -> playerBHand : drop(stone) : void
-activate playerBHand
-
-roundControl <<-- playerBHand
-deactivate playerBHand
-
-end
-
-' reject move
-roundControl <<-- roundControl
-deactivate roundControl
-
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> roundControl : prepareTurn() : void
-activate roundControl
-
-
-roundControl -> table : clone()
-activate table
-create clonedTable2
-table -> clonedTable2 : <<create>>
-activate clonedTable2
-table <<-- clonedTable2
-deactivate clonedTable2
-roundControl <<-- table : clonedTable2
-deactivate table
-
-roundControl -> view : setBottomPanel(START_TURN_PANEL) : void
-activate view
-roundControl <<-- view
-deactivate view
-
-roundControl -> tablePanel : setStoneSets(clonedTable2) : void
-activate tablePanel
-roundControl <<- tablePanel
-deactivate tablePanel
-
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-
-turnControl <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl
-deactivate turnControl
-destroy turnControl
-
-[<<-- playerPanel
-deactivate playerPanel
-
-
-@enduml
-
-@startuml img/sequence_04.png
-hide footbox
-
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant ITurnControlFactory
-participant humanTurnControlFactory as "humanTurnControlFactory\n: ITurnControlFactory"
-participant humanTurnControlFactory2 as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl2 as "turnControl\n: HumanTurnControl"
-participant roundState as "roundState\n: RoundState"
-participant clonedTable2 as "clonedTable2\n: Table"
-participant playerA as "playerA\n: Player"
-participant playerASettings as "playerASettings\n: PlayerSettings"
-
-
-== Initialize player A's turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerA
-deactivate roundState
-
-roundControl -> playerA : getPlayerSettings() : PlayerSettings
-activate playerA
-roundControl <<-- playerA : playerASettings
-deactivate playerA
-
-roundControl -> playerASettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerASettings
-roundControl <<-- playerASettings : HUMAN
-deactivate playerASettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory
-ITurnControlFactory -> humanTurnControlFactory2 : <<create>>
-activate humanTurnControlFactory2
-humanTurnControlFactory2 -->> ITurnControlFactory
-deactivate humanTurnControlFactory2
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory2 : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory2 : create() : ITurnControl
-activate humanTurnControlFactory2
-create turnControl2
-humanTurnControlFactory -> turnControl2 : <<create>>
-activate turnControl2
-turnControl2 -->> humanTurnControlFactory
-deactivate turnControl2
-
-humanTurnControlFactory2 -->> roundControl : turnControl2
-deactivate humanTurnControlFactory2
-
-roundControl -> turnControl2 : setup(player, clonedTable2, view, false, false) : void
-activate turnControl2
-turnControl2 -->> roundControl
-deactivate turnControl2
-
-roundControl -> turnControl2 : startTurn() : void
-activate turnControl2
-
-turnControl2 -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl2
-deactivate handPanel
-
-turnControl2 -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl2
-deactivate view
-
-
-turnControl2 -->> roundControl
-deactivate turnControl2
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-
-@enduml
-
-@startuml img/sequence_05.png
-hide footbox
-
-participant view as "view\n: View"
-participant playerPanel as "playerPanel\n: PlayerPanel"
-participant tablePanel as "tablePanel\n: TablePanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant turnControl as "turnControl\n: HumanTurnControl"
-participant table as "table\n: Table"
-participant clonedTable2 as "clonedTable2\n: Table"
-participant clonedTable3 as "clonedTable3\n: Table"
-participant playerAHand as "playerAHand\n: Hand"
-participant gameHeap as "gameHeap\n: StoneHeap"
-
-== End of player A's turn ==
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl : endOfTurn() : void
-activate turnControl
-
-turnControl -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable2 : isValid() : boolean
-activate clonedTable2
-
-roundControl <<-- clonedTable2 : true
-deactivate clonedTable2
-destroy clonedTable2
-
-roundControl -> roundControl : dealStone() : void
-activate roundControl
-
-
-roundControl -> gameHeap : drawStone() : Stone
-activate gameHeap
-
-roundControl <<-- gameHeap : stone
-deactivate gameHeap
-
-roundControl -> playerAHand : drop(stone) : void
-activate playerAHand
-
-roundControl <<-- playerAHand
-deactivate playerAHand
-
-
-' deal stone
-roundControl <<-- roundControl
-deactivate roundControl
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> roundControl : prepareTurn() : void
-activate roundControl
-
-
-roundControl -> table : clone()
-activate table
-create clonedTable3
-table -> clonedTable3 : <<create>>
-activate clonedTable3
-table <<-- clonedTable3
-deactivate clonedTable3
-roundControl <<-- table : clonedTable3
-deactivate table
-
-roundControl -> view : setBottomPanel(START_TURN_PANEL) : void
-activate view
-roundControl <<-- view
-deactivate view
-
-roundControl -> tablePanel : setStoneSets(clonedTable3) : void
-activate tablePanel
-roundControl <<- tablePanel
-deactivate tablePanel
-
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-
-turnControl <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl
-deactivate turnControl
-destroy turnControl
-
-[<<-- playerPanel
-deactivate playerPanel
-
-@enduml
-
-@startuml img/sequence_06.png
-hide footbox
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant ITurnControlFactory
-participant humanTurnControlFactory3 as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl3 as "turnControl\n: HumanTurnControl"
-participant roundState as "roundState\n: RoundState"
-participant clonedTable3 as "clonedTable3\n: Table"
-participant playerB as "playerB\n: Player"
-participant playerBSettings as "playerBSettings\n: PlayerSettings"
-
-
-== Initialize player B's 2nd turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerB
-deactivate roundState
-
-roundControl -> playerB : getPlayerSettings() : PlayerSettings
-activate playerB
-roundControl <<-- playerB : playerBSettings
-deactivate playerB
-
-roundControl -> playerBSettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerBSettings
-roundControl <<-- playerBSettings : HUMAN
-deactivate playerBSettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory3
-ITurnControlFactory -> humanTurnControlFactory3 : <<create>>
-activate humanTurnControlFactory3
-humanTurnControlFactory3 -->> ITurnControlFactory
-deactivate humanTurnControlFactory3
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory3 : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory3 : create() : ITurnControl
-activate humanTurnControlFactory3
-create turnControl3
-humanTurnControlFactory3 -> turnControl3 : <<create>>
-activate turnControl3
-turnControl3 -->> humanTurnControlFactory3
-deactivate turnControl3
-
-humanTurnControlFactory3 -->> roundControl : turnControl3
-deactivate humanTurnControlFactory3
-
-roundControl -> turnControl3 : setup(player, clonedTable3, view, false, false) : void
-activate turnControl3
-turnControl3 -->> roundControl
-deactivate turnControl3
-
-roundControl -> turnControl3 : startTurn() : void
-activate turnControl3
-
-turnControl3 -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl3
-deactivate handPanel
-
-turnControl3 -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl3
-deactivate view
-
-
-turnControl3 -->> roundControl
-deactivate turnControl3
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-@enduml
-
-@startuml img/sequence_07.png
-hide footbox
-
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant tablePanel as "tablePanel\n: TablePanel"
-participant turnControl3 as "turnControl\n: HumanTurnControl"
-participant table as "table\n: Table"
-participant clonedTable3 as "clonedTable3\n: Table"
-participant playerBHand as "playerBHand\n: Hand"
-
-== Player B's three stone set ==
-
-
-' first stone
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl3 : stoneClick(stone2, false) : void
-activate turnControl3
-
-turnControl3 -> view : setSelectedStones({stone2}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-handPanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- handPanel
-deactivate handPanel
-
-' second stone
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl3 : stoneClick(stone3, true) : void
-activate turnControl3
-
-turnControl3 -> view : setSelectedStones({stone2, stone3}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-handPanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- handPanel
-deactivate handPanel
-
-' third stone
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl3 : stoneClick(stone4, true) : void
-activate turnControl3
-
-turnControl3 -> view : setSelectedStones({stone2, stone3, stone4}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-handPanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- handPanel
-deactivate handPanel
-
-' put down
-
-[-> tablePanel
-activate tablePanel
-
-tablePanel -> turnControl3 : tableClick(newPosition2)
-activate turnControl3
-'pickups
-
-turnControl3 -> turnControl3 : pickUpSelectedStones() : void
-activate turnControl3
-
-turnControl3 -> playerBHand : pickUp(stone2) : boolean
-activate playerBHand
-turnControl3 <<-- playerBHand : true
-deactivate playerBHand
-
-turnControl3 -> playerBHand : pickUp(stone3) : boolean
-activate playerBHand
-turnControl3 <<-- playerBHand : true
-deactivate playerBHand
-
-turnControl3 -> playerBHand : pickUp(stone4) : boolean
-activate playerBHand
-turnControl3 <<-- playerBHand : true
-deactivate playerBHand
-
-
-turnControl3 <<-- turnControl3
-deactivate turnControl3
-
-turnControl3 -> clonedTable3 : drop(stoneSet2, newPosition2) : void
-activate clonedTable3
-turnControl3 <<-- clonedTable3
-deactivate clonedTable3
-
-
-turnControl3 -> tablePanel : setStoneSets(clonedTable3) : void
-activate tablePanel
-turnControl3 <<- tablePanel
-deactivate tablePanel
-
-turnControl3 -> handPanel : setStones(playerBHand) : void
-activate handPanel
-turnControl3 <<- handPanel
-deactivate handPanel
-
-turnControl3 -> view : setSelectedStones({}) : void
-activate view
-turnControl3 <<- view
-deactivate view
-
-tablePanel <<-- turnControl3
-deactivate turnControl3
-
-[<<-- tablePanel
-deactivate tablePanel
-
-@enduml
-
-@startuml img/sequence_08.png
-hide footbox
-
-participant view as "view\n: View"
-participant playerPanel as "playerPanel\n: PlayerPanel"
-participant tablePanel as "tablePanel\n: TablePanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant turnControl3 as "turnControl\n: HumanTurnControl"
-participant table as "table\n: Table"
-participant clonedTable3 as "clonedTable3\n: Table"
-participant clonedTable4 as "clonedTable4\n: Table"
-participant playerBHand as "playerBHand\n: Hand"
-
-== Player B ends the 2nd turn ==
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl3 : endOfTurn() : void
-activate turnControl3
-
-turnControl3 -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable3 : isValid() : boolean
-activate clonedTable3
-
-roundControl <<-- clonedTable3 : true
-deactivate clonedTable3
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> playerBHand : getSize() : int
-activate playerBHand
-
-roundControl <<-- playerBHand : 10
-deactivate playerBHand
-
-roundControl -> roundControl : prepareTurn() : void
-activate roundControl
-
-roundControl -> clonedTable3 : clone()
-activate clonedTable3
-create clonedTable4
-table -> clonedTable4 : <<create>>
-activate clonedTable4
-table <<-- clonedTable4
-deactivate clonedTable4
-roundControl <<-- clonedTable3 : clonedTable4
-deactivate clonedTable3
-
-roundControl -> view : setBottomPanel(START_TURN_PANEL) : void
-activate view
-roundControl <<-- view
-deactivate view
-
-roundControl -> tablePanel : setStoneSets(clonedTable4) : void
-activate tablePanel
-roundControl <<- tablePanel
-deactivate tablePanel
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-turnControl3 <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl3
-deactivate turnControl3
-destroy turnControl3
-
-[<<-- playerPanel
-deactivate playerPanel
-
-@enduml
-
-@startuml img/sequence_09.png
-hide footbox
-
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant ITurnControlFactory
-participant humanTurnControlFactory as "humanTurnControlFactory\n: ITurnControlFactory"
-participant humanTurnControlFactory4 as "humanTurnControlFactory\n: ITurnControlFactory"
-participant turnControl4 as "turnControl\n: HumanTurnControl"
-participant roundState as "roundState\n: RoundState"
-participant clonedTable4 as "clonedTable4\n: Table"
-participant playerA as "playerA\n: Player"
-participant playerASettings as "playerASettings\n: PlayerSettings"
-
-
-== Initialize player A's 2nd turn ==
-
-[-> view
-activate view
-view -> roundControl : startTurn() : void
-activate roundControl
-
-roundControl -> roundState : getActivePlayer() : Player
-activate roundState
-roundControl <<-- roundState : playerA
-deactivate roundState
-
-roundControl -> playerA : getPlayerSettings() : PlayerSettings
-activate playerA
-roundControl <<-- playerA : playerASettings
-deactivate playerA
-
-roundControl -> playerASettings : getTurnControlType() : ITurnControlFactory.Type
-activate playerASettings
-roundControl <<-- playerASettings : HUMAN
-deactivate playerASettings
-
-
-roundControl -> ITurnControlFactory : getFactory(HUMAN) : ITurnControlFactory
-activate ITurnControlFactory
-
-create humanTurnControlFactory
-ITurnControlFactory -> humanTurnControlFactory4 : <<create>>
-activate humanTurnControlFactory4
-humanTurnControlFactory4 -->> ITurnControlFactory
-deactivate humanTurnControlFactory4
-
-ITurnControlFactory -->> roundControl : humanTurnControlFactory4 : ITurnControlFactory
-deactivate ITurnControlFactory
-
-roundControl -> humanTurnControlFactory4 : create() : ITurnControl
-activate humanTurnControlFactory4
-create turnControl4
-humanTurnControlFactory -> turnControl4 : <<create>>
-activate turnControl4
-turnControl4 -->> humanTurnControlFactory
-deactivate turnControl4
-
-humanTurnControlFactory4 -->> roundControl : turnControl4
-deactivate humanTurnControlFactory4
-
-roundControl -> turnControl4 : setup(player, clonedTable4, view, false, false) : void
-activate turnControl4
-turnControl4 -->> roundControl
-deactivate turnControl4
-
-roundControl -> turnControl4 : startTurn() : void
-activate turnControl4
-
-turnControl4 -> handPanel : setStones(hand.clone()) : void
-activate handPanel
-handPanel -->> turnControl4
-deactivate handPanel
-
-turnControl4 -> view : setBottomPanel(HUMAN_HAND_PANEL) : void
-activate view
-view -->> turnControl4
-deactivate view
-
-
-turnControl4 -->> roundControl
-deactivate turnControl4
-
-view <<-- roundControl
-deactivate roundControl
-
-[<<-- view
-deactivate view
-
-@enduml
-
-@startuml img/sequence_10.png
-hide footbox
-
-participant view as "view\n: View"
-participant handPanel as "handPanel\n: HandPanel"
-participant tablePanel as "tablePanel\n: TablePanel"
-participant turnControl4 as "turnControl\n: HumanTurnControl"
-participant clonedTable4 as "clonedTable4\n: Table"
-participant playerAHand as "playerAHand\n: Hand"
-
-== Player A appends two stones to set ==
-
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl4 : stoneClick(stone5, false) : void
-activate turnControl4
-
-turnControl4 -> view : setSelectedStones({stone5}) : void
-activate view
-turnControl4 <<- view
-deactivate view
-
-handPanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- handPanel
-deactivate handPanel
-
-[-> handPanel
-activate handPanel
-
-handPanel -> turnControl4 : stoneClick(stone6, true) : void
-activate turnControl4
-
-turnControl4 -> view : setSelectedStones({stone5, stone6}) : void
-activate view
-turnControl4 <<- view
-deactivate view
-
-handPanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- handPanel
-deactivate handPanel
-
-
-[-> tablePanel
-activate tablePanel
-
-tablePanel -> turnControl4 : connectorClick(stoneSet3, true) : void
-activate turnControl4
-
-' TODO self calls?
-
-turnControl4 -> turnControl4 : pickUpSelectedStones() : void
-activate turnControl4
-
-turnControl4 -> playerAHand : pickUp(stone5) : boolean
-activate playerAHand
-turnControl4 <<-- playerAHand : true
-deactivate playerAHand
-
-turnControl4 -> playerAHand : pickUp(stone6) : boolean
-activate playerAHand
-turnControl4 <<-- playerAHand : true
-deactivate playerAHand
-
-
-turnControl4 <<-- turnControl4
-deactivate turnControl4
-
-
-turnControl4 -> clonedTable4 : getPosition(stoneSet3) : Position
-activate clonedTable4
-turnControl4 <<-- clonedTable4 : position2
-deactivate clonedTable4
-
-turnControl4 -> clonedTable4 : pickUp(stoneSet3) : boolean
-activate clonedTable4
-turnControl4 <<-- clonedTable4 : true
-deactivate clonedTable4
-
-turnControl4 -> clonedTable4 : drop(joinedStoneSet2, newPosition2) : void
-activate clonedTable4
-turnControl4 <<-- clonedTable4
-deactivate clonedTable4
-
-turnControl4 -> tablePanel : setStoneSets(clonedTable4) : void
-activate tablePanel
-turnControl4 <<- tablePanel
-deactivate tablePanel
-
-turnControl4 -> handPanel : setStones(playerAHand) : void
-activate handPanel
-turnControl4 <<- handPanel
-deactivate handPanel
-
-turnControl4 -> view : setSelectedStones({}) : void
-activate view
-turnControl4 <<- view
-deactivate view
-
-
-tablePanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- tablePanel
-deactivate tablePanel
-
-@enduml
-
-@startuml img/sequence_11.png
-hide footbox
-
-participant playerPanel as "playerPanel\n: PlayerPanel"
-participant roundControl as "roundControl\n: RoundControl"
-participant turnControl4 as "turnControl\n: HumanTurnControl"
-participant clonedTable4 as "clonedTable4\n: Table"
-participant playerAHand as "playerAHand\n: Hand"
-participant playerBHand as "playerBHand\n: Hand"
-
-== Player A ends the 2nd turn ==
-
-[-> playerPanel
-activate playerPanel
-
-playerPanel -> turnControl4 : endOfTurn() : void
-activate turnControl4
-
-turnControl4 -> roundControl : endOfTurn() : void
-activate roundControl
-
-roundControl -> roundControl : checkTurn() : void
-activate roundControl
-
-roundControl -> clonedTable4 : isValid() : boolean
-activate clonedTable4
-
-roundControl <<-- clonedTable4 : true
-deactivate clonedTable4
-
-' check turn
-roundControl <<-- roundControl
-deactivate roundControl
-
-roundControl -> playerAHand : getSize() : int
-activate playerAHand
-
-roundControl <<-- playerAHand : 0
-deactivate playerAHand
-
-roundControl -> roundControl : score()
-activate roundControl
-
-roundControl -> playerAHand : getSize() : int
-activate playerAHand
-
-roundControl <<-- playerAHand : 0
-deactivate playerAHand
-
-roundControl -> playerAHand : getStonePoints() : int
-activate playerAHand
-
-roundControl <<-- playerAHand : 0
-deactivate playerAHand
-
-roundControl -> playerBHand : getSize() : int
-activate playerBHand
-
-roundControl <<-- playerBHand : 10
-deactivate playerBHand
-
-roundControl -> playerBHand : getStonePoints() : int
-activate playerBHand
-
-roundControl <<-- playerBHand : 42
-deactivate playerBHand
-
-roundControl <<-- roundControl
-deactivate roundControl
-
-[<- roundControl : endOfRoundEvent.emit(score)
-[-->> roundControl
-
-turnControl4 <<-- roundControl
-deactivate roundControl
-
-playerPanel <<-- turnControl4
-deactivate turnControl4
-
-[<<-- playerPanel
-deactivate playerPanel
-
-@enduml
diff --git a/uml/sequence_01.pdf b/uml/sequence_01.pdf
new file mode 100644
index 0000000..30a2a9c
--- /dev/null
+++ b/uml/sequence_01.pdf
Binary files differ
diff --git a/uml/sequence_02.pdf b/uml/sequence_02.pdf
new file mode 100644
index 0000000..41d768f
--- /dev/null
+++ b/uml/sequence_02.pdf
Binary files differ
diff --git a/uml/sequence_03.pdf b/uml/sequence_03.pdf
new file mode 100644
index 0000000..078b69b
--- /dev/null
+++ b/uml/sequence_03.pdf
Binary files differ
diff --git a/uml/sequence_04.pdf b/uml/sequence_04.pdf
new file mode 100644
index 0000000..942fa58
--- /dev/null
+++ b/uml/sequence_04.pdf
Binary files differ
diff --git a/uml/sequence_05.pdf b/uml/sequence_05.pdf
new file mode 100644
index 0000000..4fa959e
--- /dev/null
+++ b/uml/sequence_05.pdf
Binary files differ
diff --git a/uml/sequence_06.pdf b/uml/sequence_06.pdf
new file mode 100644
index 0000000..27efbe7
--- /dev/null
+++ b/uml/sequence_06.pdf
Binary files differ
diff --git a/uml/sequence_07.pdf b/uml/sequence_07.pdf
new file mode 100644
index 0000000..f76dff8
--- /dev/null
+++ b/uml/sequence_07.pdf
Binary files differ
diff --git a/uml/sequence_08.pdf b/uml/sequence_08.pdf
new file mode 100644
index 0000000..612584c
--- /dev/null
+++ b/uml/sequence_08.pdf
Binary files differ
diff --git a/uml/sequence_09.pdf b/uml/sequence_09.pdf
new file mode 100644
index 0000000..c3c2de6
--- /dev/null
+++ b/uml/sequence_09.pdf
Binary files differ
diff --git a/uml/sequence_10.pdf b/uml/sequence_10.pdf
new file mode 100644
index 0000000..2cd0cd0
--- /dev/null
+++ b/uml/sequence_10.pdf
Binary files differ
diff --git a/uml/sequence_11.pdf b/uml/sequence_11.pdf
new file mode 100644
index 0000000..978657f
--- /dev/null
+++ b/uml/sequence_11.pdf
Binary files differ
diff --git a/uml/uml.juth b/uml/uml.juth
deleted file mode 100644
index bfbb175..0000000
--- a/uml/uml.juth
+++ /dev/null
Binary files differ