Мне было поручено разрешить животным размножаться в моем зоопарке. Если мужчина и женщина одного и того же животного находятся в одном окружении, тогда есть случайный шанс, что у них будет ребенок. Основным расположением моего зоопарка является абстрактный класс животных, который распространяется на множество животных, таких как львы. Каждое животное имеет ряд переменных, которые они наследуют от класса животных, и одна из них представляет собой строчную гендерную переменную. Пол определяется, когда животное создано из его конструктора. Я ограничил эту переменную, поэтому она может принимать только строки «m» и «f». Мой зоопарк моделируется методом aMonthPasses().Как я могу позволить животным размножаться со случайными шансами на успех в моем виртуальном зоопарке?
Я полагаю, что мне придется сделать другой метод в моем классе животных, который объединяет мужчин и женщин вместе, а затем как-то есть шанс, что у них есть ребенок в этом месяце, но я не знаю, как это сделать. Любая помощь будет принята с благодарностью. При необходимости я могу предоставить более подробную информацию о моем коде. класс
животных:
public abstract class Animal { //cannot be instantiated
protected int age;
protected String gender;
protected String[] eats = new String[] {"steak", "celery", "hay", "fruit", "fish", "iceCream"}; //an array of strings
protected int health;
protected int lifeExpectancy;
protected Enclosure enclosure;
protected Animal(int age, String gender, String[] eats, int health, int lifeExpectancy) { //animal constructor
this.age = age;
this.eats = eats;
this.health = 10; //base health for each animal will be 10
this.lifeExpectancy = lifeExpectancy;
if(gender.equals("m") || gender.equals("f)")) { //this if statement will limit the gender variable to "m" or "f" for male or female
this.gender = gender;
}
}
protected int getAge() {
return age; //returns the age value
}
protected String getGender() {
return gender;
}
}
конструктор в каждом отдельном животном:
private Bear(int age, String gender, String[] eats, int health, int lifeExpectancy) {
super(age, gender, new String[]{"steak", "fish"}, health, lifeExpectancy);
this.lifeExpectancy = 18; //the bear has a life expectancy of 18 months
}`
Да, пожалуйста, разместите свой код. – Berger
добавил мой код класса животных –
У меня есть предложение, сделайте пол enum, – user902383