Я работаю над заданием, и оно идёт довольно хорошо, но я до сих пор не совсем понимаю одну вещь. Дело в том, чтобы узнать о наследовании и чтении существующего кода. Без добавления другого метода мне нужно заставить метод getMove () возвращать одно и то же случайное число три раза подряд, а затем выбрать новое случайное число и заставить его вернуть новое число три раза. и т. д.
Есть несколько других классов, в том числе класс, который поддерживает счет, отличный от того, который я установил здесь. Если было бы полезно увидеть какие-либо из этих классов, дайте мне знать, и я опубликую их, но я думаю, что они довольно не имеют отношения к вопросу.
Редактировать: Уточнение
Мне нужно, чтобы метод getMove () возвращал по одному int на вызов. Первые 3 вызова должны возвращать один и тот же randomInt. После этого должен быть выбран новый randomInt, который должен быть возвращен для следующих трех вызовов. Это должно повторяться до тех пор, пока оно называется.
Окончательное решение:
public class Crab extends SeaCreature {
private static final char CRAB = 'C';
private int direction = rand.nextInt(4);
private int count;
/**
* Construct a SeaCreature object with the given character representation
* @param c the character for this SeaCreature
*/
public Crab(){
super(CRAB);
}
/** Answers back the next move for this SeaCreature.
* @return 0, 1, 2, or 3
*/
public int getMove() {
if (count < 3) {
count ++;
return direction;
}
count = 1;
direction = rand.nextInt(4);
return direction;
}
}