У меня проблемы с поиском проблемы в моем коде Scala.Задача ниже.
Input: val team1: Team = new Team(8,6)
val team2: Team = new Team(6,4)
Output for 'play' method: team1.score = 4
team2.score = 0
Output for 'Winner' method: team1
Задача:
Создайте класс Scala с именем «Команда» и объект Scala с именем «Рефери».
Команда будет иметь:
• Укажите значения типа Int, представляющие силу нападения и защиты команды с помощью конструктора для установки этих значений.Параметры для конструктора должны быть нарушены, тогда защита
• Третья переменная состояния с именем «Score» типа Int
Рефери будет иметь:
• Метод с именем «play»msgstr "который принимает два объекта Team в качестве параметров и не возвращает значение.Этот метод изменит состояние каждой входной команды, установив их оценки равными их нападению минус защита другой команды.Если нарушение Команды меньше, чем защита другой Команды, их счет должен быть 0 (без отрицательных оценок)
• Метод с именем «Победитель», который принимает две команды в качестве параметров и возвращает Команду с более высоким счетом.Если обе команды имеют одинаковое количество очков, верните новый объект Команды, в котором нападение и защита установлены на 0
class Team(var offense: Int, var defense: Int){
var score: Int = 0 //<-Updated Variable
}
object Referee{
def play(team1: Team, team2: Team) = {
team1.score = team1.offense - team2.defense
team2.score = team2.offense - team1.defense
if (team1.offense < team2.defense){
team1.score = 0
}
else if(team2.offense < team1.defense){
team2.score = 0
}
}
def Winner(team1: Team, team2: Team) = {
if (team1.score > team2.score){
team1
}
else if(team2.score > team1.score){
team2
}
else{
new Team(0, 0)
}
}
}