-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStrategy.java
More file actions
22 lines (21 loc) · 1.29 KB
/
Strategy.java
File metadata and controls
22 lines (21 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import model.Game;
import model.Move;
import model.Wizard;
import model.World;
/**
* Стратегия --- интерфейс, содержащий описание методов искусственного интеллекта волшебника.
* Каждая пользовательская стратегия должна реализовывать этот интерфейс.
* Может отсутствовать в некоторых языковых пакетах, если язык не поддерживает интерфейсы.
*/
public interface Strategy {
/**
* Основной метод стратегии, осуществляющий управление волшебником.
* Вызывается каждый тик для каждого волшебника.
*
* @param self Волшебник, которым данный метод будет осуществлять управление.
* @param world Текущее состояние мира.
* @param game Различные игровые константы.
* @param move Результатом работы метода является изменение полей данного объекта.
*/
void move(Wizard self, World world, Game game, Move move);
}