feat(simulation): add 8-directional movement

Add diagonal PlayerAction variants (MoveNortheast, MoveNorthwest,
MoveSoutheast, MoveSouthwest) and TilePosition::all_neighbors()
returning all 8 surrounding tiles. Genre-expected for immersive sim.

Establishes the movement pattern before pathfinding is built on top.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-11 20:15:18 +01:00
co-authored by Claude Opus 4.6
parent 0f5f73a927
commit bef4383196
3 changed files with 130 additions and 20 deletions
+5 -1
View File
@@ -47,13 +47,17 @@ pub struct PlayerInput {
pub action: PlayerAction,
}
/// Player action variants
/// Player action variants — 8-directional movement for immersive sim genre expectations
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum PlayerAction {
MoveNorth,
MoveSouth,
MoveEast,
MoveWest,
MoveNortheast,
MoveNorthwest,
MoveSoutheast,
MoveSouthwest,
Interact,
UsePerceptionMode(String),
Pause,