oneshotlm
Compare all models on this prompt →

Tetris · qwen3.7-plus

Output generated Cost / run $0.0099 Runtime 106.1s

Prompt for this run

Build a playable Tetris on a canvas with all seven tetrominoes, rotation, line clears, increasing speed, a next-piece preview, and score.

⛨ 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.7-plus
vendorQwen
harnesspi-agent
generated2026-07-22

METRICS

runtime106.1s
tokens in8.5k
tokens out5.6k
cached0
cost / run$0.0099
Transcript · 4 messages
user

Build a playable Tetris on a canvas with all seven tetrominoes, rotation, line clears, increasing speed, a next-piece preview, and score.

assistant
thinking
The user wants a complete, self-contained Tetris game in a single HTML file. Let me build this with:

1. Canvas-based rendering
2. All 7 tetrominoes (I, O, T, S, Z, J, L)
3. Rotation (SRS-like wall kicks would be nice but at minimum basic rotation)
4. Line clearing with scoring
5. Increasing speed based on level/lines cleared
6. Next piece preview
7. Score display
8. Keyboard controls

Let me design this carefully:

- Board: 10 columns × 20 rows (standard Tetris)
- Cell size: ~30px for main board, smaller for preview
- Colors for each piece
- Game loop with increasing speed
- Controls: Arrow keys (left/right/down), Up for rotation, Space for hard drop

Let me write this all out in one go.
→ write /workspace/index.html (14763 bytes)
toolResult

Successfully wrote 14763 bytes to /workspace/index.html

assistant
thinking
Let me verify the file was written correctly.

The Tetris game is written to `/workspace/index.html`. Here's what's included: **Features:** - **All 7 tetrominoes** (I, O, T, S, Z, J, L) with classic colors - **7-bag randomizer** for fair piece distribution - **Rotation** with wall-kick support (tries offsets so pieces don't get stuck near walls) - **Ghost piece** showing where the piece will land - **Line clears** with scoring (100/300/500/800 × level for 1/2/3/4 lines) - **Increasing speed** — speed increases every 10 lines cleared (level up) - **Next piece preview** panel - **Score, level, and lines** display - **DAS (Delayed Auto Shift)** for smooth left/right holding - **Hard drop** (Space) and soft drop (↓) - **Pause** (P key) **Controls:** | Key | Action | |-----|--------| | ← → | Move left/right | | ↑ | Rotate clockwise | | ↓ | Soft drop (+1 pt per row) | | Space | Hard drop (+2 pts per row) | | P | Pause | | Enter | Start / Restart | The game runs entirely client-side in a single HTML file with no external dependencies.