oneshotlm
Compare all models on this prompt →

Conway's Game of Life · gpt-oss-120b

Run Conway's Game of Life on a full-screen canvas grid with click-and-drag to toggle cells, plus play/pause, step, randomize, and clear controls.

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

Run Conway's Game of Life on a full-screen canvas grid with click-and-drag to toggle cells, plus play/pause, step, randomize, and clear controls.

assistant
thinking
We need to create a single-page web app in index.html, with a full-screen canvas grid implementing Conway's Game of Life. Should support click-and-drag to toggle cells, and have controls: play/pause, step, randomize, clear.

All code self-contained in index.html: CSS in <style>, JS in <script>. No external resources.

We need to generate index.html. We'll just write the file via write tool.

First ensure nothing conflicts. Use a straightforward implementation.

Implementation plan:
- HTML: canvas fills viewport, maybe using width: 100%; height: 100%; or set to window.innerWidth/innerHeight.
- Controls: a div overlay at top or bottom with buttons.

- JavaScript:
  - Set up canvas context.
  - Define grid size, maybe dynamic based on cellSize (e.g., 10px per cell). Compute rows/cols based on canvas size.
  - Use a 2D array (or 1D) boolean for cells.
  - Rendering: draw cells as filled squares, grid lines optional.
  - Game loop: requestAnimationFrame or setInterval (e.g., 10 fps). Play/pause toggles.
  - Step: compute next generation.
  - Randomize: fill cells randomly.
  - Clear: set all cells false.
  - Interaction: mousedown start toggling; mousemove toggles cells under cursor; mouseup stop. Use a flag to track whether we are drawing alive or dead. On mousedown, decide based on cell state: if cell is alive, we will set dead; else set alive.
  - Also support touch? Not required.

CSS: style canvas to fill; control bar with some styling.

Make sure the canvas resizes with window resize: add event listener to resize canvas and adjust grid.

Potential complexity: grid size fixed to cellSize, so if canvas size changes, we recalc rows/cols, and maybe preserve existing cells up to min rows/cols.

Simplify: set canvas to window.innerWidth, innerHeight; on resize, recompute size and reinitialize grid (clear). Acceptable.

Let's write index.html with everything.

Proceed to write.
write index.html (5542 bytes)
toolResult

Successfully wrote 5542 bytes to index.html

assistant

The **Conway's Game of Life** web app is now created as a single self‑contained `index.html` file. It features: - Full‑screen canvas grid rendering cells. - Click‑and‑drag to toggle cell states. - Controls: **Play/Pause**, **Step**, **Randomize**, and **Clear**. - Responsive resizing, grid lines, and smooth animation without any external resources.

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

modelgpt-oss-120b
vendorOpenAI
harnesspi-agent
generated2026-07-22

EVALUATION

2/5 partial

Canvas grid renders a smiley curve drawn via drag; click/keys don't change state, no evolving simulation visible.

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 drag0.5%
on wheel0.0%
on enter + space0.0%
on arrow keys0.0%
on w/a/s/d0.0%
frame spread6.5 / 255
console errors0
js errors none

METRICS

runtime52.6s
tokens in4.7k
tokens out2.4k
cached0
cost / run$0.0006