Files
taiko-web/SORT_USAGE.md
AnthonyDuan 25c26b2b2e feat: 添加歌曲智能排序功能(默认启用)
- 实现智能排序:数字 -> 字母 -> 其他符号
- 添加 smartSort() 方法支持自然数值排序
- 默认启用排序功能,用户无需设置
- 支持多语言字符(中文、日文、英文等)
- 添加完整的测试工具和文档

新增文件:
- test_sort.html (可视化测试页面)
- verify_sort.py (Python验证脚本)
- verify_sort.js (Node.js验证脚本)
- SORT_FEATURE.md (功能说明)
- SORT_USAGE.md (使用指南)
- QUICKSTART_SORT.md (快速开始)
- IMPLEMENTATION_SUMMARY.md (实现总结)
- CHANGELOG_SORT.md (更新日志)
- UPDATE_SUMMARY.md (更新说明)

修改文件:
- public/src/js/songselect.js (添加智能排序逻辑)
- README.md (更新功能介绍)
2025-11-15 15:59:08 +08:00

194 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 歌曲智能排序功能 - 使用指南
## ✨ 功能简介
歌曲智能排序功能**已默认启用**,可以按照**数字 → 字母 → 其他符号**的顺序自动整理歌曲列表。
> 🎉 **好消息**:无需任何设置,首次使用即自动排序!
---
## 🎯 排序规则
### 优先级顺序
1. **数字开头** (0-9) - 最高优先级
2. **字母开头** (A-Z, a-z) - 中等优先级
3. **其他字符开头** (中文、日文、符号等) - 最低优先级
### 同类排序
- **数字**按数值大小排序1 → 2 → 10 → 100
- **字母**按字母表顺序不区分大小写A → a → B → b
- **其他**:按 Unicode 编码排序
---
## 📖 使用方法
### ⚡ 默认行为(推荐)
**无需任何操作!**
1. 打开游戏
2. 歌曲已自动按智能顺序排列
3. 开始游玩
### 🔧 禁用排序(可选)
如果你不喜欢自动排序,可以禁用它:
#### 方法一:游戏内设置
1. 在歌曲选择界面找到 **"タイトル順で並べ替え"** 选项
2. 点击该选项
3. 在弹出的提示框中输入 `false` 禁用排序
4. 页面会自动刷新并恢复原始顺序
#### 方法二:浏览器控制台
`F12` 打开开发者工具,在控制台输入:
```javascript
// 禁用排序
localStorage.setItem("titlesort", "false");
location.reload();
// 重新启用排序
localStorage.setItem("titlesort", "true");
location.reload();
```
// 禁用排序
localStorage.setItem("titlesort", "false");
location.reload();
```
---
## 🧪 测试排序功能
### 在线测试页面
打开 `test_sort.html` 文件来查看排序效果演示:
```bash
# 启动本地服务器
cd taiko-web
python -m http.server 8080
# 然后在浏览器访问
http://localhost:8080/test_sort.html
```
### 测试结果示例
**排序前:**
```
太鼓の達人
Zyxwv Test
123 Song
abc melody
456 rhythm
*Special*
10 drums
...
```
**排序后:**
```
2 beats [数字]
10 drums [数字]
100 percent [数字]
123 Song [数字]
456 rhythm [数字]
777 [数字]
1st Place [数字]
3pieces [数字]
99 Balloons [数字]
abc melody [字母]
Angel Beats [字母]
Apple [字母]
Battle No.1 [字母]
Brave Heart [字母]
Don't Stop [字母]
Zyxwv Test [字母]
ZZZ Final [字母]
*Special* [其他]
~奇跡~ [其他]
あいうえお [其他]
カノン [其他]
ドンだー! [其他]
夏祭り [其他]
太鼓の達人 [其他]
燎原ノ舞 [其他]
零 -ZERO- [其他]
```
---
## 🔧 技术细节
### 修改的文件
- `public/src/js/songselect.js` - 添加了 `smartSort()` 方法
### 核心代码
```javascript
smartSort(titleA, titleB) {
// 判断字符类型(数字/字母/其他)
// 按类型优先级排序
// 同类型内使用 localeCompare 自然排序
}
```
### 特性
- ✅ 支持多语言(中文、日文、英文等)
- ✅ 数字按数值排序(不是字符串排序)
- ✅ 字母不区分大小写
- ✅ 保持用户设置(使用 localStorage
- ✅ 不影响游戏其他功能
---
## ❓ 常见问题
### Q1: 排序后没有变化?
**A:** 确保已经正确设置 `titlesort``true`,并刷新页面。
### Q2: 如何恢复默认顺序?
**A:** 将 `titlesort` 设置为 `false` 并刷新页面。
### Q3: 排序会影响游戏性能吗?
**A:** 不会。排序只在加载歌曲列表时执行一次。
### Q4: 可以自定义排序规则吗?
**A:** 当前版本暂不支持,未来版本可能会添加。
---
## 📝 更新日志
### Version 1.0 (2025-11-15)
- ✨ 初始版本
- ✨ 支持数字、字母、其他符号的智能排序
- ✨ 添加游戏内设置选项
- ✨ 创建测试页面
---
## 🎮 快速开始
**5秒启用排序**
1. 打开游戏
2. 找到 "タイトル順で並べ替え"
3. 输入 `true`
4. 完成!
**享受整洁有序的歌曲列表吧!** 🎵
---
## 📧 反馈与建议
如有问题或建议,请通过项目 Issues 提交。
**Processed by AnthonyDuan** 💜