feat: implement game board rendering and spaceship player control

- Create 10x20 game board grid with retro styling
- Render spaceship emoji at player position (bottom center)
- Implement cursor movement with hjkl (left/right only)
- Add moveToStart (0) and moveToEnd ($) anchor motions
- Re-render board when cursor position changes
- Board displays dark grid with highlighted player row
This commit is contained in:
2025-11-03 21:41:26 +00:00
parent 80f7aa3f8a
commit c036dc372d
5 changed files with 95 additions and 26 deletions
+6 -1
View File
@@ -16,9 +16,14 @@ export function useGame(
const gameStatusManager = useGameStatus();
const scoreManager = useScore(gameStatusManager);
// Wrap renderBoard to include player position
const renderBoardWrapped = () => {
boardManager.renderBoard(cursorManager.position());
};
const gameManager: GameManager = {
containerRef: boardManager.containerRef,
renderBoard: boardManager.renderBoard,
renderBoard: renderBoardWrapped,
gameStatus: gameStatusManager.gameStatus,
setGameStatus: gameStatusManager.setGameStatus,
startGame: gameStatusManager.startGame,