oneshotlm
Compare all models on this prompt →

Snake · nex-n2-mini

Build a playable Snake game on a canvas with arrow-key controls, a growing tail, food, score, and a game-over and restart state.

⛨ sandboxed Open in new tab ↗
transcript · 6 messages
user

Build a playable Snake game on a canvas with arrow-key controls, a growing tail, food, score, and a game-over and restart state.

assistant
thinking
We need respond by creating index.html in current dir. Need follow developer: single-page web app self-contained no external resources. Need inspect? Probably no need but maybe ls? Need build playable Snake game canvas arrow-key controls growing tail food score game-over restart state. Need write file. We can create index.html with CSS/JS inline. Need maybe verify. Since user asks build. Need use write. Then maybe maybe run? We can just write. Need ensure no external resources. Need maybe include canvas, score, game over overlay restart. Controls arrow keys, prevent page scroll. Mobile? Not necessary. Need maybe "current directory /tmp/ws". Need produce final concise with path. Need ensure index.html present.

Let's craft robust HTML. Single file. CSS style. JS script. Canvas 400x400 maybe grid 20. Snake array. Direction. Food random not on snake. Score. game over overlay. Restart state maybe button. Arrow key controls. Need handle keydown. Ensure no reversing into self. Growing tail on eating. Game loop setInterval or requestAnimationFrame. Need start screen? "game-over and restart state" game over overlay with restart. Could also start by pressing arrow. But playable.

Need maybe avoid setInterval drift. Use requestAnimationFrame with accumulator. Simpler: set interval 100ms, but if tab inactive? Fine. Need restart button. Canvas focus? Keydown window. Prevent default for arrows and space? Restart on Enter maybe. Need "Restart" button.

Need maybe include score. Need maybe high score in localStorage? Not required, external no. Could use localStorage (not external). But no need. Need no CDNs.

Let's write.
write /tmp/ws/index.html (7092 bytes)
toolResult

Successfully wrote 7092 bytes to /tmp/ws/index.html

assistant
thinking
Need maybe verify file exists. Use bash ls maybe.
bash {"command":"ls -l /tmp/ws/index.html && grep -E \"<style>|<script>|<canvas|restartButton|Arrow\" /tmp/ws/index.html | head -20","timeout":2}
toolResult

-rw-r--r--. 1 node node 7092 Aug 1 20:45 /tmp/ws/index.html <style> <div>Use Arrow Keys</div> <canvas id="gameCanvas" width="500" height="500" aria-label="Snake game canvas"></canvas> <button id="restartButton" type="button">Restart Game</button> <script> const restartButton = document.getElementById("restartButton"); if (event.key === "ArrowUp") { } else if (event.key === "ArrowDown") { } else if (event.key === "ArrowLeft") { } else if (event.key === "ArrowRight") { restartButton.addEventListener("click", resetGame);

assistant
thinking

Created the self-contained Snake game at: `/tmp/ws/index.html` It includes a canvas game, arrow-key controls, growing tail, food, score display, game-over overlay, and restart button.

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelnex-n2-mini
vendorNex AGI
harnesspi-agent
generated2026-08-01

EVALUATION

3/5 partial

Snake starts on Enter/Space showing snake and food, but game-over is stuck/reappears; arrows/WASD don't visibly move snake before it ends.

Vision grade · anthropic/claude-sonnet-5

MEASUREMENTS

Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.

idle motion0.0%
on click0.0%
on drag1.1%
on wheel0.0%
on enter + space62.0%
on arrow keys0.0%
on w/a/s/d0.0%
frame spread17.5 / 255
console errors0
js errors none

METRICS

runtime16.6s
tokens in11k
tokens out2.8k
cached4.4k
cost / run$0.0004