L O C A L   M O D E L   A R E N A

使っているプロンプト全文

どのモデルにもこの同じプロンプトを渡しています(モデル別の調整なし)。コピーして好きなモデルのチャットに貼り、返答をここに送れば採点します。隠しテストケースと解答キーは非公開です。

← リーダーボード

モデルの追加方法

  1. 下のプロンプトをコピー。
  2. モデルのWebチャット(claude.ai / z.ai / grok.com / chatgpt)に貼る。
  3. モデルの返答を全文コピー。
  4. ここに送り返す —— オフラインのブラウザで実行・採点・公開します。

ゲーム制作 game/v2

# 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>.

モンスター対戦 (ポケモン風) battle/v1

# 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.

イラスト (SVG) art/v1

# 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.

コーディング・推論 text/v1

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.