# 採点基準

[IDEA.md](IDEA.md) の「派手エフェクト・テトリス」を各モデルに生成させた成果物 (`index.html`) を、
ブラウザで実際に遊んで採点する。

## 方針

- 総合評価 **tier (S / A / B / C / F)** と、項目別評価 **3 項目 (各 0〜4)** を両方記録する。
- tier は項目の合計では**決めない**。テトリスとして壊れているものが、演出の派手さで
  正しいテトリスを上回ることがないようにする。ルールが低ければ演出が高くても tier は上がらない。
- 仕様遵守 (1 ファイル・CDN のみ・外部メディアなし) は点数化しない。
  全員が満たしている項目は順位に寄与しないため。違反や気になる点は notes に書く。

## 項目別評価 (各 0〜4)

### rules: ルール・動作

| 点 | 基準 |
|---|---|
| 0 | 起動しない、または操作できない |
| 1 | 動くが致命的バグあり (ミノが変形する、ラインが消えない、壁を抜ける、回転で詰む) |
| 2 | 基本のテトリスとして遊べるが、欠けている機能が目立つ (壁蹴りなし、ホールドなし、ゴーストなし等) |
| 3 | 一通り揃っていて普通に遊べるが、操作感に違和感がある (回転や横移動の挙動、落下の速さなど、どこか引っかかる) |
| 4 | 違和感がない。現代のテトリスと同じ感覚で遊べる |

### effects: エフェクト (見た目)

| 点 | 基準 |
|---|---|
| NA | ゲームが動かないので評価不能 (rules 0) |
| 0 | 演出なし。消えるだけ |
| 1 | 消去時に軽く光る・点滅する程度 |
| 2 | パーティクルや揺れなど、はっきり分かる演出がある |
| 3 | 画面が「爆発」する派手さがあり、テトリスや T スピンで演出が変わる |
| 4 | 3 に加えて、10 ライン毎にエフェクトの種類が切り替わり、進むほど賑やかになる |

### sound: サウンド

| 点 | 基準 |
|---|---|
| NA | ゲームが動かないので評価不能 (rules 0) |
| 0 | 無音 |
| 1 | 効果音はあるが単調、または一部の操作にしか鳴らない |
| 2 | 移動・回転・消去・ハードドロップに効果音が付き、消去の種類で音が変わる |
| 3 | 2 に加えて BGM がある |
| 4 | 3 に加えて BGM と効果音がプレイに同期している (レベルでテンポが変わる、消去とビートが合う等) |

音声ファイルの読み込みは IDEA.md 違反なので、その場合は sound を付けずに notes に書く。

## tier (総合)

項目点を見ながら、以下の目安で決める。まず「遊べるか」で B 以上か C 以下かを分け、
遊べるものの中で演出と音の充実度で S / A / B を分ける。

| tier | 意味 | 目安 |
|---|---|---|
| S | 売りの「派手さ」が完全に成立している | rules / effects / sound すべて 4 |
| A | 普通に遊べて、演出も音もそれなりにある | rules 3 以上、effects 2 以上、sound 2 以上 |
| B | 普通に遊べる。演出や音は問わない | rules 3 以上。軽微なバグなら rules 1〜2 でも可 |
| C | 一応遊べるが、不足やバグが気になる | rules 1〜2 |
| F | まともに遊べない | rules 0、または rules 1 でバグのせいで進行できない |

- rules 1 (致命的バグあり) は、バグの重さで B / C / F のどれにもなりうる。
  たまに起きる程度なら B、遊びにくいなら C、進行できないなら F。理由を `bugs` に書く。
- effects や sound がいくら高くても、遊べなければ C 以下。
- 目安を満たしていても体感で「違う」と思えば上下させてよい。その理由を score の `notes` に書く。

## 記録

各 run の `env.yml` に `score:` を書く。`build_index.py` が集計する。

```yaml
score:
  tier: C
  rules: 1
  effects: 4
  sound: 3
  bugs: "回転時にミノが変形することがある"
  notes: "演出は S 級。回転バグで C"
```

- `tier`: S / A / B / C / F。未採点なら書かない。
- `rules`: 0〜4 の整数。
- `effects` / `sound`: 0〜4 の整数、または `NA` (rules 0 で評価できない場合)。
- `bugs`: rules を下げた理由。なければ空。
- `notes`: 点数に表れない情報 (Google Fonts を使っている、ビルドスクリプトで生成している、
  ライブラリを読み込んでいるが未使用、など)。

## 採点の手順

1. ブラウザで `index.html` を開く。コンソールエラーを確認する。
2. 最低 10 ライン消すまで遊ぶ。回転・壁蹴り・ホールド・ハードドロップ・T スピンを試す。
3. rules → effects → sound の順に点を付ける。
4. tier を決める。バグがあれば `bugs` に、気付いたことを `notes` に書く。
