OCL функция-операция
Мне нужна помощь с операцией OCL, чтобы передать один из предметов моего магистра. Я не знаю много о языке OCL.
Я должен сделать следующее:
Выполните операцию:
Server::validMovement(playerName:String, movement:Movement):bool
Эта операция возвращает true, если и только если существует игра, в которой есть один из игроков с именем playerName, у этого игрока атрибут hasTurn равен true, а игровое поле возвращает true при вызове одной операции validMovement (движение).
Предполагается, что операция
Board:validMovement(g:Game):bool
существует, и это НЕ обязательно документально это в OCL.
1 ответ
Может ли это быть что-то подобное? Я не знаю, нормально ли это или нет...
Context Server:: validMovement (namePlayer: Строка, движение: Движение): логическое значение
post: result = self.games->one(g: Game | p. Players-> существует (p: Player | p.name=namePlayer и p.hasTurn=true) и p.board.validMovement(движение))