Загрузить файлы в «/»
This commit is contained in:
parent
a407b5280d
commit
6827cb54b3
103
Kotik.java
Normal file
103
Kotik.java
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
package main.java.animals;
|
||||||
|
|
||||||
|
public class Kotik {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String voice;
|
||||||
|
private int satiety;
|
||||||
|
private int weight;
|
||||||
|
|
||||||
|
private static int count = 0;
|
||||||
|
public static final int METHODS = 5;
|
||||||
|
|
||||||
|
public Kotik(String name, String voice, int satiety, int weight) {
|
||||||
|
this.name = name;
|
||||||
|
this.voice = voice;
|
||||||
|
this.satiety = satiety;
|
||||||
|
this.weight = weight;
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Kotik() {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() { return name; }
|
||||||
|
public String getVoice() { return voice; }
|
||||||
|
public int getSatiety() { return satiety; }
|
||||||
|
public int getWeight() { return weight; }
|
||||||
|
public static int getCount() { return count; }
|
||||||
|
|
||||||
|
public void setName(String name) { this.name = name; }
|
||||||
|
public void setVoice(String voice) { this.voice = voice; }
|
||||||
|
public void setSatiety(int satiety) { this.satiety = satiety; }
|
||||||
|
public void setWeight(int weight) { this.weight = weight; }
|
||||||
|
|
||||||
|
public boolean play() { return performAction("играл"); }
|
||||||
|
public boolean sleep() { return performAction("спал"); }
|
||||||
|
public boolean wash() { return performAction("умывался"); }
|
||||||
|
public boolean walk() { return performAction("гулял"); }
|
||||||
|
public boolean hunt() { return performAction("охотился"); }
|
||||||
|
|
||||||
|
private boolean performAction(String action) {
|
||||||
|
if (satiety > 0) {
|
||||||
|
satiety--;
|
||||||
|
System.out.println(name + " " + action + ". Сытость: " + satiety);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
System.out.println(name + " просит есть!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void eat(int units) {
|
||||||
|
satiety += units;
|
||||||
|
System.out.println(name + " поел и сытость увеличилась на " + units);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void eat(int units, String food) {
|
||||||
|
satiety += units;
|
||||||
|
System.out.println(name + " поел " + food + " и сытость увеличилась на " + units);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void eat() {
|
||||||
|
eat(5, "кошачий корм");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] liveAnotherDay() {
|
||||||
|
String[] activities = new String[24];
|
||||||
|
|
||||||
|
for (int hour = 0; hour < 24; hour++) {
|
||||||
|
int choice = (int) (Math.random() * METHODS) + 1;
|
||||||
|
boolean actionDone = false;
|
||||||
|
|
||||||
|
switch (choice) {
|
||||||
|
case 1: actionDone = play(); break;
|
||||||
|
case 2: actionDone = sleep(); break;
|
||||||
|
case 3: actionDone = wash(); break;
|
||||||
|
case 4: actionDone = walk(); break;
|
||||||
|
case 5: actionDone = hunt(); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!actionDone) {
|
||||||
|
eat();
|
||||||
|
activities[hour] = hour + " - ел";
|
||||||
|
} else {
|
||||||
|
activities[hour] = hour + " - " + getActionName(choice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return activities;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getActionName(int choice) {
|
||||||
|
switch (choice) {
|
||||||
|
case 1: return "играл";
|
||||||
|
case 2: return "спал";
|
||||||
|
case 3: return "умывался";
|
||||||
|
case 4: return "гулял";
|
||||||
|
case 5: return "охотился";
|
||||||
|
default: return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user