Skip to content

heartsArsonist/rocokingdom_egg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🥚 S2 智能配窝助手 V6.1

杜绝♂️雄性闲置 · 唯一依赖优先 · 均衡覆盖
纯前端工具,管理精灵仓库、自动生成最优配窝方案与位置图。

🌐 在线演示 · 🎬 B站视频教程


📑 目录


✨ 功能特性

  • 精灵仓库 — 统一管理所有已录入雌雄精灵,每个实例独立设置性格(增减益)和奖牌(body/voice 两系列独立选取)
  • 库存展示窗 — 主面板实时展示已录入精灵(含蛋组),支持雌/雄/异色/性格/奖牌多维度筛选
  • 精灵窝管理 — 灵活放置雌性入窝,支持从仓库直接选取或从全精灵搜索(带蛋组/赛季筛选)
  • 智能配窝推荐 — 贪心 + 局部搜索 (Hill Climbing + Swap) + 兜底踢除
  • 唯一依赖保护 — 自动识别并锁定只有一只雄性可覆盖的雌性
  • 替换雄性 — 点击方案雄性可替换为库存中能覆盖相同雌性的其他雄性(按实际兼容判定,不限于蛋组)
  • 位置图可视化 — 7×7 网格(14×14 细网格背景),支持拖拽调整
  • 配置导入/导出 — JSON 文件存档 + 图片导出(方案/位置图)

🚀 快速开始

  • 现代浏览器(Chrome / Firefox / Edge)
  • 直接访问 index.html(需 HTTP 服务,不支持 file://

📖 使用指南

整体流程

管理仓库(录入雌雄) → 放置雌性入窝 → 雄性筛选 → 生成方案 → 位置图

第一步:管理仓库

点击 「📋 管理仓库」 打开仓库弹窗:

按钮 功能
➕ 添加雄性 / ➕ 添加雌性 打开精灵录入弹窗(搜索/蛋组/赛季筛选,设置普通/异色数量)
筛选栏 按雌/雄/异色/性格/body奖牌/voice奖牌筛选 + 搜索
点击精灵卡片 弹出编辑弹窗,可修改数量/性格/奖牌,或删除该组精灵

录入时为每只实例单独设置性格和奖牌(加减按钮旁的小方块)

第二步:放置雌性入窝

在精灵窝面板点击 「➕ 添加雌性」

模式 说明
全部精灵 输入关键词或选蛋组/赛季后显示,点击精灵弹属性选择窗(异色/性格/奖牌)再入窝
从库存雌性中选取 显示仓库中所有雌性,支持异色/性格/奖牌筛选,点击直接入窝

雌性上限 = 窝数 − 1

第三步:雄性筛选(可选)

在方案生成前按条件缩小雄性候选范围:异色⭐ / 性格🎭 / body🏅 / voice🏅,每个系列独立选择。

第四步:生成方案

点击 「✨ 智能推荐配窝方案」,查看雄性分配、覆盖详情、未覆盖警告。点击 「🔄 查看可替换」 可替换方案中的雄性(按实际覆盖能力判定兼容性)。

第五步:生成位置图

点击 「📍 生成位置图」,在 7×7 网格上查看精灵窝排布,手动拖拽微调,导出 PNG。


🧠 算法说明

配窝推荐

computeRecommendation()
  ├─ nestFemales → 雌性实例 + inventory(male) → 按筛选过滤
  ├─ 锁定唯一依赖配对
  ├─ 贪心初始解(prefer newC, then total)
  ├─ 局部搜索 Swap(评分 = maxMatching × 10000 + covered)
  └─ 兜底踢除

替换雄性兼容判定

候选雄性必须通过 compatibleMap 覆盖原雄性所覆盖的全部雌性,不依赖蛋组集合匹配,允许单蛋组替换双蛋组(只要覆盖能力不变)。

位置图

聚类检测 → 确定性模板 → 细网格求解器 → 居中对齐。连线可见条件:曼哈顿 ≤ 2.5 且切比雪夫 ≤ 2。


📦 数据文件

data/
├── pets.json           ← 全精灵数据库
├── defines.json        ← 蛋组/赛季/标签中文名
├── personalities.json  ← 性格数据 { "物攻": [{ name, decrease }] }
└── medals.json         ← 奖牌数据 { "body": [{ id, name, icon }], "voice": [...] }

📁 文件结构

5.0/
├── index.html
├── style.css
├── data/(4 个 JSON)
└── js/(9 个 JS)
    state.js → dataLoader.js → uiHelpers.js → recommend.js 
    → replace.js → placement.js → svgRender.js 
    → importExport.js → main.js

🛠 配置导入/导出

导出格式(V6.0)

{
  "nestCount": 10,
  "inventory": [
    { "id": 3011, "name": "恶魔狼", "gender": "male", "shiny": true,
      "personality": "胆小", "medals": { "body": "dkt", "voice": null } }
  ],
  "nestFemales": [
    { "id": 3029, "name": "奇丽草", "shiny": false,
      "personality": null, "medals": { "body": null, "voice": "wzs" } }
  ]
}

导入匹配(三级回退 + 新旧兼容)

优先级 匹配方式
1 ID 精确匹配
2 名称精确匹配
3 名称 + 蛋组中文名交叉匹配

旧版 females[]/males[]/medal 字段自动兼容转换。


⚠️ 注意事项

  • 雌性上限 = 窝数 − 1
  • 不支持 file:// 协议
  • 需 ES6+ 浏览器

📄 License

MIT

About

智能配窝

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors