我需要帮助进行OCL操作才能通过我的硕士课程。我对OCL语言了解不多。
接下来我要做的是:
实施操作:
Server::validMovement(playerName:String, movement:Movement):bool
此操作返回true,当且仅当存在其玩家名称为playerName的玩家时,该玩家将具有属性hasTurn为true且游戏板在调用一个操作validMovement(移动)时返回true。
假设操作
Board:validMovement(g:Game):bool
存在,并且在OCL中不需要记录它。
答案 0 :(得分:2)
可能是那样的吗?我不知道是否可以......
context Server :: validMovement(namePlayer:String,movement:Movement):boolean
发布:result = self.games-> one(g:Game | p.plars-> exists(p:Player | p.name = namePlayer和p.hasTurn = true)和p.board.validMovement(运动))