oneshotlm
Compare all models on this prompt →

Snake · qwen3-30b-a3b-instruct-2507

Output saved · Stopped by an API error Cost / run $0.0008 Runtime 183.9s

A model request failed and its retries ran out. The output is the HTML saved before that.

Prompt for this run

Build a playable Snake game on a canvas with a 20 by 20 cell board. Use HTML, CSS, and JavaScript as needed. Write it to `index.html` in the current working directory using your file tools. Inline your own CSS and JavaScript. Do not use external assets, CDNs, or network requests. No third-party libraries are provided. Required behavior: - Use arrow keys to turn a snake that advances one cell at a time. Ignore a direction that would immediately reverse into its own neck, including rapid inputs before the next movement step. - Place one food item in an unoccupied cell. Eating it grows the snake by one segment, increases the score, and spawns new food in another unoccupied cell. - Use solid board boundaries: hitting a wall or the snake's body ends the game. Moving into a tail cell that vacates on that same non-growing step is allowed. - Provide Start, Pause/Resume, and Restart. Restart resets snake length, direction, score, food, and game state. Filling the board shows a win state instead of trying to place impossible food. - Display the controls and score. Prevent arrow keys from scrolling the page. Verify: Start the game and make a few turns to check grid-aligned movement and direction response. Pause and resume, then use Restart and check that snake length and score return to their initial values and food occupies a free cell.

⛨ sandboxed Open in new tab ↗

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

modelqwen3-30b-a3b-instruct-2507
vendorQwen
harnesspi 0.87.1 · browser iteration
generated2026-10-07

METRICS

runtime183.9s
tokens in55k
tokens out3.0k
cached50k
cost / run$0.0008
Transcript · 28 messages
system

user

Build a playable Snake game on a canvas with a 20 by 20 cell board. Use HTML, CSS, and JavaScript as needed. Write it to `index.html` in the current working directory using your file tools. Inline your own CSS and JavaScript. Do not use external assets, CDNs, or network requests. No third-party libraries are provided. Required behavior: - Use arrow keys to turn a snake that advances one cell at a time. Ignore a direction that would immediately reverse into its own neck, including rapid inputs before the next movement step. - Place one food item in an unoccupied cell. Eating it grows the snake by one segment, increases the score, and spawns new food in another unoccupied cell. - Use solid board boundaries: hitting a wall or the snake's body ends the game. Moving into a tail cell that vacates on that same non-growing step is allowed. - Provide Start, Pause/Resume, and Restart. Restart resets snake length, direction, score, food, and game state. Filling the board shows a win state instead of trying to place impossible food. - Display the controls and score. Prevent arrow keys from scrolling the page. Verify: Start the game and make a few turns to check grid-aligned movement and direction response. Pause and resume, then use Restart and check that snake length and score return to their initial values and food occupies a free cell.

assistant
→ write index.html (9370 bytes)
toolResult

Successfully wrote to index.html

assistant
→ browser {"action":"reload"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
assistant
→ browser {"action":"inspect"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":600,"y":400}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":600,"y":400}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":600,"y":400}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":600,"y":400}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":200,"y":200}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":200,"y":200}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":200,"y":200}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"click","x":200,"y":200}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Score: 0\nStart\nPause\nRestart","images":"model does not support images"}

assistant
assistant
assistant