# 数据集说明（data/players.json）

## 数据来源与口径（2026-09-15 夏窗关闭后版本）

| 项 | 说明 |
| --- | --- |
| 球队范围 | **2026-27 赛季英超 20 强**（升班马：考文垂、伊普斯维奇、赫尔城） |
| 球员阵容 | **2026-27 夏窗关闭后的真实一线队名单**：Wikipedia 各俱乐部 2026-27 赛季页（2026-09-15 抓取），含号码与位置 |
| 能力值 | **EA SPORTS FC 27 官方评分库**（drop-api.ea.com/rating/ea-sports-fc，按队拉取 + 姓氏搜索兜底），六维 PAC/SHO/PAS/DRI/DEF/PHY 取值 1-99 |
| 口径说明 | 每名球员的评分均为 FC 27 官方数据；离队球员已从原俱乐部移除，新援按真实新东家收录 |

## 生成方式（可复现）

```bash
# 1. 下载 20 队 Wikipedia 赛季页（详见 scripts/update_rosters.py 中的 SQUAD_SOURCES）
# 2. 构建（自动调用 EA 评分接口）
python3 scripts/build_dataset_fc27.py
```

## 筛选规则

- 只收录 20 队一线队名单成员；
- 名单中未收录于 FC 27 数据库的成员（多为青训/边缘球员）不收录；
- 门将球员六维野战能力为 null（游戏运行时按总评折算，见 `js/game.js` 的 `effectiveAbilities()`）。

## Schema

```jsonc
{
  "meta": { "season": "2026-27", "source": "...", "rules": { ... } },
  "clubs": ["Arsenal", ...],              // 20 队，字母序
  "players": [
    {
      "id": "p239085",                    // EA FC 27 官方球员 id
      "name": "E. Haaland",               // 显示名
      "fullName": "Erling Haaland",
      "team": "Manchester City",
      "positions": ["ST"],
      "clubPosition": "ST",
      "overall": 91,                      // FC 27 官方总评
      "potential": 91,
      "age": 26, "height": 195,
      "preferredFoot": "Right",
      "jerseyNumber": 9,
      "abilities": {
        "pace": 87, "shooting": 92, "passing": 71,
        "dribbling": 80, "defending": 47, "physical": 89
      }
    }
  ]
}
```

## 注意事项

- `js/data.js` 为运行时内嵌副本（`globalThis.STRIKER_DATA`），由脚本生成，**请勿手改**。
- 门将球员的六维野战能力在数据源中不存在（null）。游戏运行时的折算规则见 `js/game.js` 中 `effectiveAbilities()`。
- EA 评分库为 FC 27 上线版本；冬窗/后续官方评分更新（rating update）不在本快照内。
