53 lines
680 B
Plaintext
53 lines
680 B
Plaintext
public class exchange
|
|
{
|
|
static private string m_order = "";
|
|
|
|
// Put an order
|
|
synchronized bool put(string order)
|
|
{
|
|
if ( m_order == "" )
|
|
{
|
|
m_order = order;
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Get an order
|
|
synchronized string get()
|
|
{
|
|
string ret = m_order;
|
|
m_order = "";
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
extern void object::Slave3( )
|
|
{
|
|
exchange list();
|
|
string todo;
|
|
|
|
while ( true )
|
|
{
|
|
while ( true )
|
|
{
|
|
todo = list.get();
|
|
if ( todo != "" ) break;
|
|
wait(1);
|
|
}
|
|
message(todo);
|
|
|
|
if ( strfind(todo, "move") == 0 )
|
|
{
|
|
move(strval(strmid(todo,5)));
|
|
}
|
|
if ( strfind(todo, "turn") == 0 )
|
|
{
|
|
turn(strval(strmid(todo,5)));
|
|
}
|
|
}
|
|
}
|