どのモデルにもこの同じプロンプトを渡しています(モデル別の調整なし)。コピーして好きなモデルのチャットに貼り、返答をここに送れば採点します。隠しテストケースと解答キーは非公開です。
← リーダーボード# Task: "Catcher Pro" — an HTML5 canvas game with risk & skill
Build a single, self-contained `index.html` (inline CSS + JS only — NO external
files, NO network, NO libraries) that runs an arcade catch game on a `<canvas>`.
This is harder than a basic catcher: there are good and bad items, limited lives,
a win and a lose condition, and rising difficulty.
## The game
- A 480x600 `<canvas>`. A player paddle near the bottom moves horizontally.
- Items fall from the top at varying x positions. Each item is one of two types:
- **good** (e.g. a gem) — catching it (overlap with the paddle) gives `score += 1`.
- **bad** (e.g. a bomb) — catching it costs one life (`lives -= 1`).
- Roughly 1 in 3 spawned items is bad. Items that reach the bottom uncaught are
simply removed (no penalty).
- Start with `lives = 3`. The fall speed should increase gradually as `score` rises.
- **Lose:** when `lives` reaches 0 → `isOver = true`, `won = false`.
- **Win:** when `score` reaches 8 while `lives > 0` → `isOver = true`, `won = true`.
- The game loop runs continuously via `requestAnimationFrame`. Good and bad items
must be visually distinct (e.g. color/shape).
## Required global contract (MUST be exposed on `window`)
```js
window.__game = {
score: 0, // number, starts at 0
frame: 0, // increments by 1 every animation frame
lives: 3, // remaining lives, starts at 3
isOver: false, // true once the game ends (win OR loss)
won: false, // true only on a win (score reached the target)
applyInput(dir) {}, // dir === 'left' or 'right'; moves the paddle that way
state() { // current normalized state; ALL x/y in 0..1
return {
playerX: 0, // paddle CENTER x, normalized 0 (left) .. 1 (right)
items: [ // EVERY currently-falling item, normalized coords
{ x: 0, y: 0, type: 'good' }, // type is 'good' or 'bad'
],
score: 0,
lives: 3,
isOver: false,
won: false,
};
},
};
```
## Rules
- **Important:** `score`, `frame`, and `lives` are live NUMBER values you keep
updated; `isOver` and `won` are BOOLEANS. They are NOT functions. Only
`applyInput` and `state` are functions. (i.e. read as `window.__game.score`,
not `window.__game.score()`.)
- The paddle must visibly move on `applyInput('left')` / `applyInput('right')`
(fixed step, clamped inside the canvas).
- `state().items` MUST list all on-screen falling items with correct normalized
`x`, `y`, and `type`, so an external controller can chase good items and dodge
bad ones.
- A good item only scores when it actually overlaps the paddle; a bad item only
costs a life when it actually overlaps the paddle (real collision, not a timer).
- Redraw every frame so the canvas is never blank.
- Keep it under ~200 lines of JS. Vanilla JS only.
Output ONLY the contents of `index.html`.
Output ONLY the complete contents of a single index.html file. No markdown, no
explanation, no code fences — just raw HTML starting with <!DOCTYPE html>.# Task: "Monster Duel" — a Pokémon-style turn-based battle
Build a single, self-contained `index.html`: a Pokémon-style 1-on-1 turn-based
monster battle on a `<canvas>` (about 720x480). The player's monster faces a CPU
enemy monster. NO external files, NO network, NO libraries.
## The battle
- Two monsters: the player's (lower-left) and the enemy's (upper-right). Each has
a name, HP (start e.g. 100), and an HP bar with numbers.
- The player has 3-4 moves (name + power). Show a Pokémon-style battle menu (a box
listing the moves) and battle text ("FOO used TACKLE!", "It dealt N damage!").
- On the player's turn, choosing a move deals damage to the enemy (scale by move
power; a little randomness is fine). Then the ENEMY automatically takes its turn
and damages the player.
- Faint: when a monster's HP reaches 0 → `isOver = true`, `winner = 1` (player) or
`2` (enemy). Show a win/lose banner.
- Animate via `requestAnimationFrame` (HP-bar tween, a simple attack flash). Draw
the two monsters (distinct shapes/colors), both HP bars, and the move menu.
## Required global contract (MUST be on `window`)
```js
window.__game = {
frame: 0, isOver: false, winner: 0, // live number/boolean — NOT functions; winner 0=none,1=player,2=enemy
applyInput(action) {}, // 'move0'|'move1'|'move2'|'move3' = perform that player move directly
// (no-op if it's not the player's turn or an animation is playing)
state() {
return {
player: { hp: 0, maxHp: 0, moves: [{ name: '' }] }, // hp/maxHp numbers; moves = the player's moves
enemy: { hp: 0, maxHp: 0 },
turn: 'player', // 'player' | 'enemy'
isOver: false,
winner: 0,
};
},
};
```
## Rules
- `hp`, `maxHp`, `frame`, `winner` are **live numbers**, `isOver` a **boolean** — NOT functions.
- `applyInput('move0')` must, on the player's turn, **actually reduce the enemy's hp**
(real damage, not just text). `state().player.moves` must list the player's moves.
- The enemy must fight back (reduce the player's hp on its turn).
- Keep it under ~300 lines of JS. Vanilla JS only.
Output ONLY the contents of `index.html` — start with `<!DOCTYPE html>`.
Output ONLY the complete contents of a single index.html file — no markdown, no
explanation, no code fences.# Task: SVG illustration — "Fox under the moon" Create a single, self-contained `index.html` that draws **a fox sitting on the ground under a large crescent moon at night**, as a detailed inline `<svg>` vector illustration. ## Requirements - One `<svg>` with `viewBox="0 0 600 600"` that fills the page. Vector shapes only. - NO external images, NO network requests, NO `<script>` — pure SVG (inline CSS inside the SVG is fine; gradients are welcome). - Clearly include: the fox (body, head, ears, snout, an eye, legs, and a bushy tail), a crescent moon, several stars, and a ground / horizon line. - Use rich, intentional color and enough shapes that it reads as a polished, deliberate picture — not a handful of rough blobs. Output ONLY the contents of `index.html` — start with `<!DOCTYPE html>`. Output ONLY the complete contents of a single index.html file — no markdown, no explanation, no code fences.
Answer ALL of the tasks below. For EACH task, copy its marker line EXACTLY, then put your answer on the following lines. For coding tasks put the function in a ```js code block. Do not add commentary. ===TASK reverse_string=== Write a JavaScript function named `reverseString(s)` that returns the input string reversed. Respond with ONLY the function definition inside a single ```js code block — no explanation, no exports. ===TASK is_prime=== Write a JavaScript function named `isPrime(n)` that returns true if the integer n is a prime number and false otherwise (n <= 1 returns false). Respond with ONLY the function definition inside a single ```js code block — no explanation, no exports. ===TASK sum_evens=== Write a JavaScript function named `sumEvens(arr)` that returns the sum of all even numbers in the array of integers `arr` (empty array returns 0). Respond with ONLY the function definition inside a single ```js code block — no explanation, no exports. ===TASK fib=== Write a JavaScript function named `fib(n)` that returns the n-th Fibonacci number, 0-indexed, where fib(0)=0 and fib(1)=1. Respond with ONLY the function definition inside a single ```js code block — no explanation, no exports. ===TASK discount_price=== A shirt costs $40 after a 20% discount off its original price. What was the original price in dollars? Answer with ONLY the number, nothing else. ===TASK day_of_week=== If today is Wednesday, what day of the week will it be 10 days from now? Answer with ONLY the day name in lowercase, nothing else. ===TASK count_r=== How many times does the letter 'r' appear in the word 'strawberry'? Answer with ONLY the number, nothing else. ===TASK multiply=== What is 17 multiplied by 23? Answer with ONLY the number, nothing else.