【问题标题】:OCL function-operationOCL 函数操作
【发布时间】:2023-04-03 18:39:01
【问题描述】:

我需要 OCL 操作方面的帮助才能通过我的硕士课程之一。我对 OCL 语言了解不多。

接下来我要做的是:

实现操作:

Server::validMovement(playerName:String, movement:Movement):bool

当且仅当存在一个游戏,该游戏有一个名为 playerName 的玩家,该玩家的属性 hasTurn 为 true,并且游戏板在调用一个操作 validMovement(movement) 时返回 true,此操作返回 true。

假设存在Board:validMovement(g:Game):bool操作,不需要在OCL中记录它。

【问题讨论】:

  • 如果有问题,您应该尝试并在此处发布问题。

标签: uml modeling ocl


【解决方案1】:

会是这样吗?不知道好不好...

上下文服务器 :: validMovement(namePlayer:String, motion:Movement) : boolean

post : result = self.games->one(g : Game | p.players->exists(p : Player | p.name=namePlayer and p.hasTurn=true) and p.board.validMovement(movement) )

【讨论】:

    猜你喜欢
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    相关资源
    最近更新 更多