Программа - ScreamingScythe/botgame GitHub Wiki
Программа в общем случае это набор методов и структур данных. Среди методов должен быть метод с названием start, возвращающий структуру данных action и получающий в качестве аргументов структуры данных world_data и self_data. Среди структур данных обязательно должны присутствовать все упомянутые ниже структуры данных. Возможно, имеет смысл внести обязательную структуру данных static_memory, но не предъявлять к ее объявлению никаких требований.
action = {turn(direction), go(path), wait(time), usesystem(system_id, system_arg)}
(думаю, идея ясна, как лучше это оформить - надо еще думать)
world_data
{
list<object> visible_objects;
//weather_conditions;
//time til end or round;
//win conditions;
};
self_data
{
position current_pos;
direction current_angle;
list<system> systems;
datastring static_memory;
};
system
{
id system_id;
system_type type;
string system_name;
bool functional;
datastring responce;
};