Не получается пройти проверку. задача темы 5
Реализовать метод boolean fight(Cat anotherCat):
реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Нужно сравнить каждый критерий по отдельности, и победителем будет тот, у которого больше "победивших" критериев.
Метод должен определять, выиграли ли мы (this) бой или нет, т.е. возвращать true, если выиграли и false - если нет. Если ничья и никто не выиграл, возвращаем false
Должно выполняться условие:
если cat1.fight(cat2) возвращает true,
то cat2.fight(cat1) должен возвращать false
Требования:
• Класс Cat должен содержать конструктор без параметров.
• Класс Cat должен содержать всего три поля: age, weight и strength. Поля должны быть публичные.
• В классе Cat должен быть метод fight.
• В методе fight реализовать механизм драки котов в зависимости от их веса, возраста и силы.
• Метод должен возвращать одно и тоже значение, если мы деремся с одним и тем же котом.
• Если некий кот1 выигрывает у кота кот2, то кот2 должен проигрывать коту кот1.
• Если ничья, то метод fight должен возвращать false.
package com.javarush.task.task05.task0502;
/*
Реализовать метод fight
*/
public class Cat {
public int age;
public int weight;
public int strength;
public Cat() {
}
public boolean fight(Cat anotherCat) {
int counter =0;
int counter2 = 0;
if (this.strength>anotherCat.strength){counter+=1;}
else if (anotherCat.strength>this.strength){counter2+=1;}
if (this.weight>anotherCat.weight){counter+=1;}
else if (anotherCat.weight>this.weight){counter2 +=1;}
if (this.age>anotherCat.age){counter+=1;}
if (anotherCat.age<this.age){counter2+=1;}
if (counter>counter2){
return true;
}else if (counter2>counter){
return false;
}else return false;
}
public static void main(String[] args) {
Cat Tom = new Cat();
Cat Jack = new Cat();
Tom.age = 1;
Tom.strength = 3;
Tom.weight =3;
Jack.age = 2;
Jack.weight =3;
Jack.strength = 4;
System.out.println(Jack.fight(Tom));
}
}
вроде бы все работает, но не проходит проверку.