From 6f73fdd0edd8110d3bc400214fcc718b8c25c26d Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Fri, 20 Feb 2026 01:42:06 -0500 Subject: [PATCH] feat: Implement IdleState class for turtle state machine to handle idle behavior --- server/states/IdleState.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 server/states/IdleState.js diff --git a/server/states/IdleState.js b/server/states/IdleState.js new file mode 100644 index 0000000..d5171dc --- /dev/null +++ b/server/states/IdleState.js @@ -0,0 +1,24 @@ +/** + * IdleState - Turtle is idle, waiting for commands + */ +import { BaseState } from './BaseState.js'; + +export class IdleState extends BaseState { + get name() { + return 'idle'; + } + + get description() { + return 'Idle - waiting for commands'; + } + + async *act() { + // Send periodic status updates while idle + while (!this.cancelled) { + await this.checkFuel(); + await this.scanSurroundings(); + yield; + await this._sleep(5000); + } + } +}