32 lines
642 B
Haxe
32 lines
642 B
Haxe
package bin.turtle;
|
|
|
|
import kernel.turtle.TurtleMutex;
|
|
import kernel.ps.ProcessHandle;
|
|
import kernel.ps.Process;
|
|
|
|
class Patrol implements Process {
|
|
private var handle:ProcessHandle;
|
|
|
|
public function new() {}
|
|
|
|
public function run(handle:ProcessHandle) {
|
|
this.handle = handle;
|
|
|
|
if (!handle.claimTurtleMutex()) {
|
|
handle.writeLine("Failed to claim turtle mutex");
|
|
handle.close();
|
|
}
|
|
|
|
handle.writeLine("Patroling");
|
|
|
|
TurtleMutex.runInTThread(() -> {
|
|
while (true) {
|
|
kernel.turtle.Turtle.forward();
|
|
kernel.turtle.Turtle.forward();
|
|
kernel.turtle.Turtle.forward();
|
|
kernel.turtle.Turtle.turnLeft();
|
|
}
|
|
});
|
|
}
|
|
}
|