From c9782616f56f87be05398e1dcda0dd23b9f160e8 Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Wed, 22 Jun 2011 11:43:49 +0200 Subject: Uml data git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@597 72836036-5685-4462-b002-a69064685172 --- uml/MainControl.pdf | Bin 0 -> 112158 bytes uml/Misc.pdf | Bin 0 -> 5505 bytes uml/Model.pdf | Bin 0 -> 183197 bytes uml/Network.pdf | Bin 0 -> 144990 bytes uml/State.pdf | Bin 0 -> 7731 bytes uml/TurnControl.pdf | Bin 0 -> 6804 bytes uml/UseCase.png | Bin 0 -> 139530 bytes uml/View.pdf | Bin 0 -> 9182 bytes uml/sequence/img/sequence_01.png | Bin 46724 -> 0 bytes uml/sequence/img/sequence_02.png | Bin 37566 -> 0 bytes uml/sequence/img/sequence_03.png | Bin 47313 -> 0 bytes uml/sequence/img/sequence_04.png | Bin 53658 -> 0 bytes uml/sequence/img/sequence_05.png | Bin 42846 -> 0 bytes uml/sequence/img/sequence_06.png | Bin 51159 -> 0 bytes uml/sequence/img/sequence_07.png | Bin 48594 -> 0 bytes uml/sequence/img/sequence_08.png | Bin 35320 -> 0 bytes uml/sequence/img/sequence_09.png | Bin 53687 -> 0 bytes uml/sequence/img/sequence_10.png | Bin 45648 -> 0 bytes uml/sequence/img/sequence_11.png | Bin 29875 -> 0 bytes uml/sequence/img/sequence_complete.png | Bin 715493 -> 0 bytes uml/sequence/sequence.plant | 2032 -------------------------------- uml/sequence_01.pdf | Bin 0 -> 37990 bytes uml/sequence_02.pdf | Bin 0 -> 35564 bytes uml/sequence_03.pdf | Bin 0 -> 41367 bytes uml/sequence_04.pdf | Bin 0 -> 38348 bytes uml/sequence_05.pdf | Bin 0 -> 38953 bytes uml/sequence_06.pdf | Bin 0 -> 39124 bytes uml/sequence_07.pdf | Bin 0 -> 35412 bytes uml/sequence_08.pdf | Bin 0 -> 38708 bytes uml/sequence_09.pdf | Bin 0 -> 38888 bytes uml/sequence_10.pdf | Bin 0 -> 37534 bytes uml/sequence_11.pdf | Bin 0 -> 36517 bytes uml/uml.juth | Bin 169004 -> 0 bytes 33 files changed, 2032 deletions(-) create mode 100644 uml/MainControl.pdf create mode 100644 uml/Misc.pdf create mode 100644 uml/Model.pdf create mode 100644 uml/Network.pdf create mode 100644 uml/State.pdf create mode 100644 uml/TurnControl.pdf create mode 100644 uml/UseCase.png create mode 100644 uml/View.pdf delete mode 100644 uml/sequence/img/sequence_01.png delete mode 100644 uml/sequence/img/sequence_02.png delete mode 100644 uml/sequence/img/sequence_03.png delete mode 100644 uml/sequence/img/sequence_04.png delete mode 100644 uml/sequence/img/sequence_05.png delete mode 100644 uml/sequence/img/sequence_06.png delete mode 100644 uml/sequence/img/sequence_07.png delete mode 100644 uml/sequence/img/sequence_08.png delete mode 100644 uml/sequence/img/sequence_09.png delete mode 100644 uml/sequence/img/sequence_10.png delete mode 100644 uml/sequence/img/sequence_11.png delete mode 100644 uml/sequence/img/sequence_complete.png delete mode 100644 uml/sequence/sequence.plant create mode 100644 uml/sequence_01.pdf create mode 100644 uml/sequence_02.pdf create mode 100644 uml/sequence_03.pdf create mode 100644 uml/sequence_04.pdf create mode 100644 uml/sequence_05.pdf create mode 100644 uml/sequence_06.pdf create mode 100644 uml/sequence_07.pdf create mode 100644 uml/sequence_08.pdf create mode 100644 uml/sequence_09.pdf create mode 100644 uml/sequence_10.pdf create mode 100644 uml/sequence_11.pdf delete mode 100644 uml/uml.juth diff --git a/uml/MainControl.pdf b/uml/MainControl.pdf new file mode 100644 index 0000000..03e9852 Binary files /dev/null and b/uml/MainControl.pdf differ diff --git a/uml/Misc.pdf b/uml/Misc.pdf new file mode 100644 index 0000000..58039ea Binary files /dev/null and b/uml/Misc.pdf differ diff --git a/uml/Model.pdf b/uml/Model.pdf new file mode 100644 index 0000000..ee6945d Binary files /dev/null and b/uml/Model.pdf differ diff --git a/uml/Network.pdf b/uml/Network.pdf new file mode 100644 index 0000000..e523695 Binary files /dev/null and b/uml/Network.pdf differ diff --git a/uml/State.pdf b/uml/State.pdf new file mode 100644 index 0000000..d49879e Binary files /dev/null and b/uml/State.pdf differ diff --git a/uml/TurnControl.pdf b/uml/TurnControl.pdf new file mode 100644 index 0000000..afacb94 Binary files /dev/null and b/uml/TurnControl.pdf differ diff --git a/uml/UseCase.png b/uml/UseCase.png new file mode 100644 index 0000000..bf7c0a4 Binary files /dev/null and b/uml/UseCase.png differ diff --git a/uml/View.pdf b/uml/View.pdf new file mode 100644 index 0000000..4c6f13e Binary files /dev/null and b/uml/View.pdf differ diff --git a/uml/sequence/img/sequence_01.png b/uml/sequence/img/sequence_01.png deleted file mode 100644 index 3fe7c21..0000000 Binary files a/uml/sequence/img/sequence_01.png and /dev/null differ diff --git a/uml/sequence/img/sequence_02.png b/uml/sequence/img/sequence_02.png deleted file mode 100644 index 54f2915..0000000 Binary files a/uml/sequence/img/sequence_02.png and /dev/null differ diff --git a/uml/sequence/img/sequence_03.png b/uml/sequence/img/sequence_03.png deleted file mode 100644 index 8b4fa79..0000000 Binary files a/uml/sequence/img/sequence_03.png and /dev/null differ diff --git a/uml/sequence/img/sequence_04.png b/uml/sequence/img/sequence_04.png deleted file mode 100644 index ce00329..0000000 Binary files a/uml/sequence/img/sequence_04.png and /dev/null differ diff --git a/uml/sequence/img/sequence_05.png b/uml/sequence/img/sequence_05.png deleted file mode 100644 index 145c8ca..0000000 Binary files a/uml/sequence/img/sequence_05.png and /dev/null differ diff --git a/uml/sequence/img/sequence_06.png b/uml/sequence/img/sequence_06.png deleted file mode 100644 index af61d71..0000000 Binary files a/uml/sequence/img/sequence_06.png and /dev/null differ diff --git a/uml/sequence/img/sequence_07.png b/uml/sequence/img/sequence_07.png deleted file mode 100644 index ed44b5d..0000000 Binary files a/uml/sequence/img/sequence_07.png and /dev/null differ diff --git a/uml/sequence/img/sequence_08.png b/uml/sequence/img/sequence_08.png deleted file mode 100644 index 854c3e1..0000000 Binary files a/uml/sequence/img/sequence_08.png and /dev/null differ diff --git a/uml/sequence/img/sequence_09.png b/uml/sequence/img/sequence_09.png deleted file mode 100644 index 2eee6ca..0000000 Binary files a/uml/sequence/img/sequence_09.png and /dev/null differ diff --git a/uml/sequence/img/sequence_10.png b/uml/sequence/img/sequence_10.png deleted file mode 100644 index 58df194..0000000 Binary files a/uml/sequence/img/sequence_10.png and /dev/null differ diff --git a/uml/sequence/img/sequence_11.png b/uml/sequence/img/sequence_11.png deleted file mode 100644 index c07243a..0000000 Binary files a/uml/sequence/img/sequence_11.png and /dev/null differ diff --git a/uml/sequence/img/sequence_complete.png b/uml/sequence/img/sequence_complete.png deleted file mode 100644 index ec75314..0000000 Binary files a/uml/sequence/img/sequence_complete.png and /dev/null 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 : <> -activate humanTurnControlFactory -humanTurnControlFactory -->> ITurnControlFactory -deactivate humanTurnControlFactory - -ITurnControlFactory -->> roundControl : humanTurnControlFactory : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory : create() : ITurnControl -activate humanTurnControlFactory -create turnControl -humanTurnControlFactory -> turnControl : <> -activate turnControl -turnControl -->> humanTurnControlFactory -deactivate turnControl - -humanTurnControlFactory -->> roundControl : turnControl -deactivate humanTurnControlFactory - -' roundControl -> table : clone() -' activate table -' create clonedTable -' table -> clonedTable : <> -' 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 : <> -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 : <> -activate humanTurnControlFactory2 -humanTurnControlFactory2 -->> ITurnControlFactory -deactivate humanTurnControlFactory2 - -ITurnControlFactory -->> roundControl : humanTurnControlFactory2 : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory2 : create() : ITurnControl -activate humanTurnControlFactory2 -create turnControl2 -humanTurnControlFactory -> turnControl2 : <> -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 : <> -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 : <> -activate humanTurnControlFactory3 -humanTurnControlFactory3 -->> ITurnControlFactory -deactivate humanTurnControlFactory3 - -ITurnControlFactory -->> roundControl : humanTurnControlFactory3 : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory3 : create() : ITurnControl -activate humanTurnControlFactory3 -create turnControl3 -humanTurnControlFactory3 -> turnControl3 : <> -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 : <> -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 : <> -activate humanTurnControlFactory4 -humanTurnControlFactory4 -->> ITurnControlFactory -deactivate humanTurnControlFactory4 - -ITurnControlFactory -->> roundControl : humanTurnControlFactory4 : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory4 : create() : ITurnControl -activate humanTurnControlFactory4 -create turnControl4 -humanTurnControlFactory -> turnControl4 : <> -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 : <> -activate humanTurnControlFactory -humanTurnControlFactory -->> ITurnControlFactory -deactivate humanTurnControlFactory - -ITurnControlFactory -->> roundControl : humanTurnControlFactory : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory : create() : ITurnControl -activate humanTurnControlFactory -create turnControl -humanTurnControlFactory -> turnControl : <> -activate turnControl -turnControl -->> humanTurnControlFactory -deactivate turnControl - -humanTurnControlFactory -->> roundControl : turnControl -deactivate humanTurnControlFactory - -' roundControl -> table : clone() -' activate table -' create clonedTable -' table -> clonedTable : <> -' 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 : <> -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 : <> -activate humanTurnControlFactory2 -humanTurnControlFactory2 -->> ITurnControlFactory -deactivate humanTurnControlFactory2 - -ITurnControlFactory -->> roundControl : humanTurnControlFactory2 : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory2 : create() : ITurnControl -activate humanTurnControlFactory2 -create turnControl2 -humanTurnControlFactory -> turnControl2 : <> -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 : <> -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 : <> -activate humanTurnControlFactory3 -humanTurnControlFactory3 -->> ITurnControlFactory -deactivate humanTurnControlFactory3 - -ITurnControlFactory -->> roundControl : humanTurnControlFactory3 : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory3 : create() : ITurnControl -activate humanTurnControlFactory3 -create turnControl3 -humanTurnControlFactory3 -> turnControl3 : <> -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 : <> -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 : <> -activate humanTurnControlFactory4 -humanTurnControlFactory4 -->> ITurnControlFactory -deactivate humanTurnControlFactory4 - -ITurnControlFactory -->> roundControl : humanTurnControlFactory4 : ITurnControlFactory -deactivate ITurnControlFactory - -roundControl -> humanTurnControlFactory4 : create() : ITurnControl -activate humanTurnControlFactory4 -create turnControl4 -humanTurnControlFactory -> turnControl4 : <> -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 Binary files /dev/null and b/uml/sequence_01.pdf differ diff --git a/uml/sequence_02.pdf b/uml/sequence_02.pdf new file mode 100644 index 0000000..41d768f Binary files /dev/null and b/uml/sequence_02.pdf differ diff --git a/uml/sequence_03.pdf b/uml/sequence_03.pdf new file mode 100644 index 0000000..078b69b Binary files /dev/null and b/uml/sequence_03.pdf differ diff --git a/uml/sequence_04.pdf b/uml/sequence_04.pdf new file mode 100644 index 0000000..942fa58 Binary files /dev/null and b/uml/sequence_04.pdf differ diff --git a/uml/sequence_05.pdf b/uml/sequence_05.pdf new file mode 100644 index 0000000..4fa959e Binary files /dev/null and b/uml/sequence_05.pdf differ diff --git a/uml/sequence_06.pdf b/uml/sequence_06.pdf new file mode 100644 index 0000000..27efbe7 Binary files /dev/null and b/uml/sequence_06.pdf differ diff --git a/uml/sequence_07.pdf b/uml/sequence_07.pdf new file mode 100644 index 0000000..f76dff8 Binary files /dev/null and b/uml/sequence_07.pdf differ diff --git a/uml/sequence_08.pdf b/uml/sequence_08.pdf new file mode 100644 index 0000000..612584c Binary files /dev/null and b/uml/sequence_08.pdf differ diff --git a/uml/sequence_09.pdf b/uml/sequence_09.pdf new file mode 100644 index 0000000..c3c2de6 Binary files /dev/null and b/uml/sequence_09.pdf differ diff --git a/uml/sequence_10.pdf b/uml/sequence_10.pdf new file mode 100644 index 0000000..2cd0cd0 Binary files /dev/null and b/uml/sequence_10.pdf differ diff --git a/uml/sequence_11.pdf b/uml/sequence_11.pdf new file mode 100644 index 0000000..978657f Binary files /dev/null and b/uml/sequence_11.pdf differ diff --git a/uml/uml.juth b/uml/uml.juth deleted file mode 100644 index bfbb175..0000000 Binary files a/uml/uml.juth and /dev/null differ -- cgit v1.2.3