colobot-data/ai/tremot4b.txt

69 lines
884 B
Plaintext

public class order
{
int m_type = nan;
float m_param;
}
public class exchange
{
static private order m_order = new order;
// Put an order
synchronized bool put(order a)
{
if ( m_order.m_type == nan )
{
m_order = a;
return true;
}
else
{
return false;
}
}
// Get an order
synchronized order get()
{
return m_order;
}
// Delete an order.
synchronized void remove()
{
m_order.m_type = nan;
}
}
extern void object::Slave4( )
{
exchange list();
order todo;
while ( true )
{
while ( true )
{
todo = list.get();
if ( todo.m_type != nan ) break;
wait(1);
}
if ( todo.m_type == 1 )
{
message("move("+todo.m_param+")");
move(todo.m_param);
}
else if ( todo.m_type == 2 )
{
message("turn("+todo.m_param+")");
turn(todo.m_param);
}
else
{
message("Unknown order");
}
list.remove();
}
}