isTurtle check
This commit is contained in:
		
							parent
							
								
									016063e3be
								
							
						
					
					
						commit
						98b8465436
					
				@ -7,30 +7,38 @@ using tink.CoreApi;
 | 
			
		||||
class Turtle extends CLIAppBase {
 | 
			
		||||
	public function new() {
 | 
			
		||||
		registerSyncSubcommand("forward", (args) -> {
 | 
			
		||||
			return perform(kernel.turtle.Turtle.instance.forward());
 | 
			
		||||
			return checkAvailable() && perform(kernel.turtle.Turtle.instance.forward());
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		registerSyncSubcommand("back", (args) -> {
 | 
			
		||||
			return perform(kernel.turtle.Turtle.instance.back());
 | 
			
		||||
			return checkAvailable() && perform(kernel.turtle.Turtle.instance.back());
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		registerSyncSubcommand("left", (args) -> {
 | 
			
		||||
			return perform(kernel.turtle.Turtle.instance.turnLeft());
 | 
			
		||||
			return checkAvailable() && perform(kernel.turtle.Turtle.instance.turnLeft());
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		registerSyncSubcommand("right", (args) -> {
 | 
			
		||||
			return perform(kernel.turtle.Turtle.instance.turnRight());
 | 
			
		||||
			return checkAvailable() && perform(kernel.turtle.Turtle.instance.turnRight());
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		registerSyncSubcommand("up", (args) -> {
 | 
			
		||||
			return perform(kernel.turtle.Turtle.instance.up());
 | 
			
		||||
			return checkAvailable() && perform(kernel.turtle.Turtle.instance.up());
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		registerSyncSubcommand("down", (args) -> {
 | 
			
		||||
			return perform(kernel.turtle.Turtle.instance.down());
 | 
			
		||||
			return checkAvailable() && perform(kernel.turtle.Turtle.instance.down());
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private function checkAvailable(): Bool {
 | 
			
		||||
		if (!kernel.turtle.Turtle.isTurtle()){
 | 
			
		||||
			handle.write("No turtle attached");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private function perform(outcome:Outcome<Noise, String>):Bool {
 | 
			
		||||
		switch outcome {
 | 
			
		||||
			case Success(_):
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,7 @@ class Turtle {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static function isTurtle():Bool {
 | 
			
		||||
		return true; // TODO: Implement
 | 
			
		||||
		return cc.Turtle != null;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private function conterToOutcome(r:cc.Turtle.TurtleActionResult):Outcome<Noise, String> {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user