class Ant {
// An ant is represented by the coordinates of its location,
// and the direction it is facing.
Integer x;
Integer y;
Direction direction;
// Represent direction as an enumeration
enum Direction { X, Y, NegX, NegY };
//Represent turn choice as an enumeration
enum Turn { Pos, Neg };
// Ant constructor
Ant(Integer x, Integer y, Direction direction) {
this.x = x;
this.y = y;
this.direction = direction;
}
// Change this ant's direction
private void turn(Turn turn) {
}
// Mave this ant forward one step in the direction it is facing.
// Sadly, Java's "%" is called "mod" but it is remainder.
// That may explain the "+ width" and "+ height".
private void forward(Integer width, Integer height) {
switch (direction) {
case X : x = (x + 1 + width) % width; break;
case Y : y = (y + 1 + height) % height; break;
case NegX : x = (x - 1 + width) % width; break;
case NegY : y = (y - 1 + height) % height; break;
}
}
// This ant turns then steps forward.
void advance(State state, Integer width, Integer height) {
Ant State.On = new Ant(Direction.X,Y.Turn.Pos)
Ant State.Off = new Ant(Direction.NegX,NegY;Turn.Neg}
// Your code here:
// 1) Turn this ant based on state parameter
// 2) Step forward
}
}
- Завершите класс Ant. Этот класс содержит типы данных для представления муравьев и методы, которые ими управляют.Муравей определяется его местоположением и направлением.Его местоположение - просто декартова координата, заданная полями x и y класса.Вместо севера, юга, востока и запада мы используем систему координат для указания направлений, поэтому X означает вдоль оси x, NegX - вдоль оси x в отрицательном направлении и так далее.Значения типа Turn arePos (положительные) и Neg (отрицательные).В классе Ant мы предоставили все методы, кроме двух.Вы должны предоставить их реализации.
void turn (Turn turn) Этот метод мутатора соответствует функции поворота в Задании 1. Его эффект - изменить направление муравья, повернув его в положительное положение.или отрицательное направление.Параметром функции поворота является значение типа Turn, то есть это либо Turn.Pos, либо Turn.Neg.
void advance (состояние, ширина целого, высота целого).в состояние в этой точке сетки.Затем муравей делает шаг вперед в этом направлении.Если состояние State.On, муравей поворачивается в направлении Turn.Pos.если состояние State.Off, муравей поворачивается в направлении Turn.Neg.У вас уже есть методы поворота и пересылки для выполнения этих двух действий по отдельности, так что продвижение будет определяться в терминах этих двух методов.
Хорошо, я отредактировал всю вещь ... со всей полной информацией сейчас.Я бы предпочел объяснение, и я постараюсь написать полный сам.спасибо.