package ideecq8ychufo138chugqjkc; /** @version 2.0 @__modelType diagram */ class diagram { /** @__ref @__modelType reference */ class reference { }/** @__ref @__modelType reference */ class reference3 { }/** @__ref @__modelType reference */ class reference9 { }/** @__ref @__modelType reference */ class reference14 { }/** @__ref @__modelType reference */ class reference18 { }/** @__ref @__modelType reference */ class reference24 { }/** @__ref @__modelType reference */ class reference28 { }/** @__ref @__modelType reference */ class reference38 { }/** @__ref @__modelType reference */ class reference30 { }/** @__ref @__modelType reference */ class reference36 { }}/** @__tags @shapeType SequenceDiagram @__viewType collaborationView */ class __tags { }/** @__options option.fittopage = false option.printzoom = 0.75 */ class __options { }/** @__positions */ class __positions { }/** @__positions =79,171,308,169:oigroup> =503,200,898,76:oigroup> =198,454,110,60,1:oigroup> =726,278,360,309:oigroup> =789,16,219,60,1:oigroup> =1237,347,4,4,1:oigroup> =702,287,526,505:oigroup> =520,260,1213,503:oigroup> =2720,10,4,4,1:oigroup> =566,216,1451,216:oigroup> =445,185,445,185:oigroup> =2720,10,4,4,1:oigroup> =706,279,477,481:oigroup> =35,200,57,74,1:oigroup> =1237,347,4,4,1:oigroup> =440,200,126,60,1:oigroup> =1592,172,1592,86:oigroup> =1287,380,767,671:oigroup> =705,667,4,4,1:oigroup> =428,192,428,192:oigroup> =1039,4,366,73,0:oigroup> =63,200,63,105:oigroup> =466,186,670,85:oigroup> =468,260,253,454:oigroup> =1289,370,1289,370:oigroup> =497,260,497,490,650,490,650,248,566,248:oigroup> =1237,347,4,4,1:oigroup> =1165,503,96,60,1:oigroup> =543,260,1398,372:oigroup> =1290,374,1290,374:oigroup> =92,230,440,230:oigroup> =416,192,416,192:oigroup> =1237,347,4,4,1:oigroup> =1278,372,240,60,1:oigroup> =1237,347,4,4,1:oigroup> =1008,46,1039,46:oigroup> =1498,13,594,73,0:oigroup> =914,10,4,4,1:oigroup> =1290,364,1290,364:oigroup> =1237,347,4,4,1:oigroup> =705,667,4,4,1:oigroup> =9,32,418,73,0:oigroup> =1237,347,4,4,1:oigroup> =427,181,629,371:oigroup> =1451,172,236,60,1:oigroup> =1300,367,1300,367:oigroup> =1792,667,4,4,1:oigroup> =383,230,638,435:oigroup> =2253,347,4,4,1:oigroup> =1237,347,4,4,1:oigroup> @__viewType collaborationView */ class __positions39 { }/** @shapeType Object @__modelType node*/ class node { /** @shapeType Activation @__modelType node @name Activation1 @activationMessage */ class node41 { }/** @shapeType Activation @__modelType node @name Activation3 @activationMessage */ class node48 { }/** @shapeType Activation @__modelType node @name Activation4 @activationMessage */ class node50 { }/** @shapeType Activation @__modelType node @name Activation7 @activationMessage */ class node60 { }/** @shapeType DependencyLink @__modelType link @__ref */ class link { }}/** @shapeType Object @__modelType node @name humanSelection */ class node43 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation2 @activationMessage */ class node { }}/** @shapeType Object @__modelType node @name square */ class node51 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation5 @activationMessage */ class node { }}/** @shapeType Object @__modelType node @name human */ class node55 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation6 @activationMessage */ class node { }}/** @shapeType Object @__modelType node @name Player @stereotype actor */ class node1 { /** @shapeType MessageLink @__modelType link @__ref @sendingInstant 135 @processingDuration 820 @sequenceNumber 1 @operation @operationNameAsText 'selectSquareOfLand(int,int):void' @arguments x, y @label */ class link { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link4 { }/** @shapeType NoteLink @__modelType link @__ref */ class link10 { }}/** @shapeType Object @__modelType node*/ class node2 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation8 @activationMessage */ class node { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 155 @processingDuration 790 @sequenceNumber 1.1 @operation @operationNameAsText 'startAction():void' @label */ class link5 { }/** @shapeType Activation @__modelType node @name Activation9 @activationMessage */ class node6 { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link7 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 195 @processingDuration 20 @sequenceNumber 1.1.1.1 @operation @operationNameAsText 'getHumanSelection():HumanSelection' @return humanSelection */ class link11 { }/** @shapeType Activation @__modelType node @name Activation10 @activationMessage */ class node12 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 345 @processingDuration 20 @sequenceNumber 1.1.1.2 @operation @operationNameAsText 'pop():Human' @return human */ class link15 { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link16 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 425 @processingDuration 20 @sequenceNumber 1.1.1.3 @operation @operationNameAsText 'getSquareOfLand():SquareOfLand' @return oldSquare */ class link19 { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link20 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 465 @processingDuration 20 @sequenceNumber 1.1.1.4 @operation @operationNameAsText 'getSelectedSquare():SquareOfLand' @return selectedSquare */ class link21 { }/** @shapeType Activation @__modelType node @name Activation13 @activationMessage */ class node22 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 605 @processingDuration 20 @sequenceNumber 1.1.1.5 @operation @operationNameAsText 'place(Construction):void' @arguments human @condition selectedSquare != oldSquare @label */ class link25 { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link26 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 715 @processingDuration 20 @sequenceNumber 1.1.2.1 @operation @operationNameAsText 'countSquares(String):int' @arguments getConstructionShape( @return nbSquares @label ) */ class link27 { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link28 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 755 @processingDuration 20 @sequenceNumber 1.1.2.2 @iteration i :=1...min(nbSquares, getHumanSelection().size() @operation @operationNameAsText 'add(java.lang.Object):boolean' @arguments getHumanSelection().pop() */ class link31 { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link32 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 795 @processingDuration 20 @sequenceNumber 1.1.2.3 @operation @operationNameAsText 'build(String,String,List,SquareOfLand):void' @arguments getConstructionName( @label , getConstructionShape(), humans, getSelectedSquare()) */ class link33 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 175 @processingDuration 500 @sequenceNumber 1.1.1 @condition getConstructionName() == null @label */ class link38 { }/** @shapeType Activation @__modelType node @name Activation15 @activationMessage */ class node39 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 645 @processingDuration 20 @sequenceNumber 1.1.1.6 @operation @operationNameAsText 'setAction(String):void' @arguments getActionName() */ class link40 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 695 @processingDuration 240 @sequenceNumber 1.1.2 @condition (getConstructionName() !=null) && (getConstructionShape() == null) @label */ class link42 { }/** @shapeType Activation @__modelType node @name Activation20 @activationMessage */ class node43 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 835 @processingDuration 20 @sequenceNumber 1.1.2.4 @operation @operationNameAsText 'setConstructionName(String):void' @arguments null */ class link44 { }/** @shapeType Activation @__modelType node @name Activation21 @activationMessage */ class node45 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 905 @processingDuration 20 @sequenceNumber 1.1.2.5 @operation @operationNameAsText 'setConstructionShape(String):void' @arguments null */ class link46 { }/** @shapeType Activation @__modelType node @name Activation22 @activationMessage */ class node47 { }}/** @shapeType Note @__modelType node @name Note1 @text A player selects a square with coordinates (x, y). There is a human on the selected square and the human is selected or there are humans selected and there is no human on the square. */ class node8 { }/** @shapeType Object @__modelType node @name humanSelection */ class node13 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation11 @activationMessage */ class node { }}/** @shapeType Object @__modelType node @name human */ class node17 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation12 @activationMessage */ class node { }/** @shapeType Activation @__modelType node @name Activation19 @activationMessage */ class node41 { }}/** @shapeType Object @__modelType node @name selectedSquare*/ class node23 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation14 @activationMessage */ class node { }/** @shapeType NoteLink @__modelType link @__ref */ class link29 { }}/** @shapeType Note @__modelType node @name Note2 @text Method place(human) can throw an IllegalPlacementException if there is already a human on the square (can not happen) or the the square is not yet explored. */ class node27 { }/** @shapeType Object @__modelType node @stereotype singleton*/ class node37 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation16 @activationMessage */ class node { }/** @shapeType Activation @__modelType node @name Activation18 @activationMessage */ class node34 { }/** @shapeType NoteLink @__modelType link @__ref */ class link37 { }}/** @shapeType Object @__modelType node @name humans */ class node29 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType Activation @__modelType node @name Activation17 @activationMessage */ class node { }}/** @shapeType Note @__modelType node @name Note3 @text The method build can throw an IllegalPlacementException if the constructions can stand on the squares or the player tries to build the construction with more squares than humans selected or the construction shape falls out of the gameboard dimension. */ class node35 { }