import { useGame } from "@vimazing/vim-snake"; import "@vimazing/vim-snake/game.css"; import { useKeyBindings } from "./useKeyBindings"; function App() { const gameManager = useGame({ startingLevel: 10 }, useKeyBindings); const { containerRef, gameStatus, scoreManager, score, level } = gameManager; const formatTime = (ms: number) => { const seconds = Math.floor(ms / 1000); const minutes = Math.floor(seconds / 60); const remainingSeconds = seconds % 60; return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`; }; return (

VIMazing Snake

Time: {formatTime(scoreManager.timeValue)}
Level: {level}
Score: {score}
Keystrokes: {scoreManager.totalKeystrokes}
{scoreManager.finalScore !== null && (
Final Score: {scoreManager.finalScore}
)}
{gameStatus === "waiting" &&

Press space to start

} {gameStatus === "started" &&

Use hjkl to change direction • Press q to quit

} {gameStatus === "game-over" &&

Game Over! Press space to restart

} {gameStatus === "game-won" &&

You Won! Press space to restart

}
); } export default App;