added example turtle program
This commit is contained in:
31
src/bin/turtle/Patrol.hx
Normal file
31
src/bin/turtle/Patrol.hx
Normal file
@@ -0,0 +1,31 @@
|
||||
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();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user