Skip to content

ran-guang/LAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

边狱公司 - 今天蛋筒什么?

一个简单的边狱公司罪人和人格随机选择器,用于帮助玩家决定今天使用哪个罪人和人格进行游戏。

功能特点

  • 随机选择12名罪人中的一名
  • 为选中的罪人随机选择一个人格
  • 支持自定义筛选功能,可以选择只包含特定的罪人和人格
  • 内置单通时间计时功能,帮助玩家记录游戏时长
  • 个人排行榜系统,记录并展示最佳通关时间
  • 全球联网排行榜,与世界玩家比拼通关时间!
  • 美观的界面设计和流畅的动画效果
  • 排行榜页面采用边狱巴士风格设计,提供沉浸式体验

项目结构

lam/
├── .gitignore
├── README.md
├── assets/            # 资源文件
│   ├── images/        # 角色头像图片
│   ├── fonts/         # 字体文件
│   └── media/         # 媒体文件
├── css/               # 样式文件
│   ├── reset.css      # 重置样式
│   ├── common.css     # 通用样式
│   ├── season.css     # 季节性样式
│   └── module/        # 模块化样式文件
├── data/              # 数据和工具模块
│   ├── characters.js  # 罪人数据
│   ├── config.js      # 配置常量
│   └── utils/
│       └── helpers.js # 工具函数
├── js/                # JavaScript模块
│   ├── common.js      # 通用功能
│   ├── main.js        # 主应用逻辑
│   ├── filters.js     # 筛选功能模块
│   ├── scrolls.js     # 滚动列表功能模块
│   ├── settings.js    # 设置功能模块
│   └── ui.js          # UI功能模块
├── index.html         # 主页面
├── ranking.html       # 个人排行榜页面
├── package.json       # 项目配置文件

如何在本地运行

  1. 克隆或下载项目文件
  2. 使用浏览器打开 index.html 文件
  3. 或者使用本地HTTP服务器运行:
    python -m http.server 8000
    然后在浏览器中访问 http://localhost:8000

如何部署到GitHub Pages

  1. 在GitHub上创建一个新的仓库
  2. 将项目文件上传到仓库
  3. 进入仓库的"Settings"页面
  4. 在"Pages"部分,选择主分支作为部署源
  5. 点击"Save",等待几分钟,GitHub Pages就会部署完成
  6. 访问提供的GitHub Pages URL即可使用

图片资源说明

  • 所有角色头像图片存放在 assets/images/[角色名]/ 目录下
  • 支持的图片格式:.jpg 和 .webp
  • 如果图片加载失败,会显示带背景色的问号占位符

技术栈

  • HTML5
  • CSS3
  • JavaScript (ES6+)
  • Font Awesome 图标库

更新日志

版本 1.5.0 (最新)

与版本1.4.0相比,主要优化以下内容:

上传界面重构:

  • 将上传表单从计时器弹窗中移出,改为独立的模态窗口
  • 简化计时器弹窗,仅保留备注输入框和三个功能按钮
  • 提供更清晰的视觉层次和更好的用户体验

两种上传类型:

  • 完整记录上传:同时记录单通时间和单通层数

    • 需要通关时间 ≥ 2小时(7200秒)
    • 必须选择单通层数(第5/10/15层)
    • 可选填写 E.G.O 使用情况和备注
    • 记录显示在时间和层数两个排行榜中
  • 简化记录上传:仅记录单通层数,不包含时间

    • 无时间限制,随时可以上传
    • 只需选择单通层数
    • 记录仅显示在层数排行榜中

新增 Issue 模板:

  • 创建 submit-floor-only.yml 用于简化记录提交
  • 自动打上“层数记录”标签,方便区分不同类型记录

UI/UX 优化:

  • 采用卡片式设计选择上传类型
  • 分区域展示表单字段(时间信息、层数信息、附加信息)
  • 层数选择使用美化的按钮样式,支持点击高亮
  • 新增 217 行 CSS 样式,确保视觉统一
  • 响应式设计,支持移动设备

技术改进:

  • 重构 uploadToGlobalRanking 函数,简化逻辑
  • 新增 showUploadModalhideUploadModalhandleUploadTypeChange 等函数
  • 新增 submitFullRecordsubmitFloorOnlyRecord 分别处理两种上传类型
  • 上传模态窗口支持点击背景关闭

版本 1.4.0

与版朡1.3.1相比,主要新增以下功能:

成功单通层数排行榜:

  • 新增“是否成功单通?”复选框,支持记录单通成就
  • 支持选择单通层数:第5层、第10层、第15层
  • 独立的层数排行榜数据存储和展示系统
  • 排行榜页面新增“单通层数(联网)”标签页

排序规则:

  • 主要按层数递减排序(15层 > 10层 > 5层)
  • 次要按提交时间排序(相同层数先提交者在前)

用户体验优化:

  • 首次勾选“成功单通”时自动弹出使用说明
  • 保持边狱巴士风格的UI设计
  • 支持响应式布局

技术改进:

  • 更新 GitHub Issue 模板,支持单通层数字段
  • 数据聚合脚本同时生成两个排行榜数据文件
  • 新增 global-floor-ranking.json 层数排行榜数据文件

版本 1.3.1

与版本1.3.0相比,主要优化以下内容:

数据质量优化:

  • 将全球排行榜最低上传时间从 1小时(3600秒)提高到 2小时(7200秒)
  • 增强数据质量控制,防止刷榜行为

新增字段:

  • 在上传表单中增加“是否使用了 E.G.O”复选框字段
  • 用于记录玩家在通关过程中是否使用了 E.G.O 装备
  • 该信息将被保存到全球排行榜数据中

技术改进:

  • 更新 GitHub Issue 模板,支持 E.G.O 字段
  • 修改数据聚合脚本,正确解析和存储 E.G.O 信息
  • 更新所有相关文档和提示信息

版本 1.3.0

与版本1.2.2相比,主要新增以下功能:

重大新增:

  • 实现了全球联网排行榜功能,玩家可以将通关记录上传到全球榜单
  • 排行榜页面增加了标签页切换,支持“部门记录(本地)”和“都市广播(联网)”两个模式
  • 在主页面计时按钮区域添加了“排行榜”快捷按钮
  • 实现了智能数据上传机制,自动检测罪人和人格信息

功能优化:

  • 优化了排行榜显示格式,采用三行布局:罪人头像+名字、人格名称、通关时间
  • 计时器弹窗内的按钮调整为“保存到本地”和“上传全球榜”
  • 联网排行榜按罪人和人格分组显示,更易于比较和查找

技术实现:

  • 使用 GitHub Actions 实现数据的定时聚合更新(每天更新一次)
  • 通过 GitHub Issue 系统接收玩家提交的通关记录
  • 联网排行榜数据存储在 data/global-ranking.json 文件中
  • 前端通过 AJAX 请求获取并展示联网数据

文档增强:

  • 新增《全球联网排行榜功能使用指南》(GLOBAL_RANKING_GUIDE.md)
  • 创建 GitHub Issue 模板用于通关记录提交
  • 新增数据聚合脚本和 GitHub Actions 工作流

版本 1.2.2

与版本1.2.0相比,主要修复以下问题:

Bug修复:

  • 修复了多罪人彩蛋触发失效的问题:当用户在筛选设置中选择多个罪人,且每个罪人都只启用一个具有彩蛋的人格时,完成罪人抽取后现在能够正确触发对应人格的彩蛋视频播放
  • 修复了单罪人场景误触发的问题:当用户在筛选设置中只选择一个罪人并为其启用一个彩蛋人格时,保存设置返回主界面不再立即触发彩蛋播放,而是等待用户实际执行抽取操作后才触发
  • 优化了彩蛋检测和播放逻辑,确保仅在 stopPersonaScroll() 函数确定最终抽取结果后执行,而不是在创建人格滚动列表或初始化界面时提前触发
  • 改进了函数职责分离,createPersonaScrollList() 函数现在专注于列表创建和显示,不再触发业务逻辑

技术改进:

  • 在 stopSinnerScroll() 函数中添加了彩蛋检测逻辑,覆盖单罪人和多罪人两种筛选场景
  • 采用延迟执行机制(50毫秒),确保 DOM 更新和状态设置完成后再触发彩蛋检测
  • 所有彩蛋触发点现在统一在 stop*Scroll() 函数中,确保只有在实际抽取操作完成后才触发彩蛋

版本 1.2.0

与版本1.1.2相比,主要新增和改进以下功能:

新增功能:

  • 实现了单通时间计时功能,帮助玩家记录游戏时长
  • 新增了个人排行榜系统,支持记录和展示最佳通关时间
  • 新增ranking.html页面,作为独立的个人排行榜界面
  • 实现了排行榜页面的边狱巴士风格设计,提供沉浸式体验

功能改进:

  • 修复了选择一个罪人的一个人格时,二级池子不显示图片和内容的问题
  • 优化了筛选功能的自动选中逻辑,当只选择一个罪人时自动将其设为当前选中
  • 修复了字符串属性访问错误,提高了代码稳定性
  • 改进了界面设计和用户体验
  • 优化了项目结构,移除了测试相关文件,保持代码整洁

版本 1.1.2

  • 将应用功能拆分为多个模块化文件:filters.js、scrolls.js、settings.js、ui.js
  • 优化了代码结构,提高了可维护性和可扩展性
  • 增强了筛选功能,支持更灵活的筛选设置
  • 改进了滚动列表的实现,提高了性能和用户体验
  • 添加了更多的测试文件,便于功能测试
  • 更新了项目配置,添加了package.json文件

版本 1.1.1

  • 分离罪人数据到独立的characters.js文件
  • 创建工具函数模块helpers.js,包含安全随机数生成等功能
  • 创建配置常量模块config.js,集中管理应用配置
  • 优化代码结构,提高可维护性和可扩展性
  • 将主应用逻辑中的硬编码值替换为配置常量

版本 1.1

  • 修复了图片路径问题
  • 移除了无效的图片引用
  • 添加了更好的错误处理
  • 优化了界面设计

许可证

MIT License

About

自用蛋痛人格

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors