Files
rps-sports/开发交接文档.md
openclaw 103b07f089 refactor: 项目更名为 猜拳运动会 (RPS Sports)
🎮 项目名称更新
- 剪刀石头布跑酷 → 猜拳运动会 (RPS Sports)
- 更贴切、合理、专业的命名
- 突出猜拳 + 体育项目核心玩法

📝 更新文档
- README.md - 项目名称和描述
- 整合策划案_v0.6.md - 项目名称
- 开发交接文档.md - 项目名称
- 命名方案.md - 命名决策文档

 优势
- 易记易传播(4 个字)
- 体现核心玩法(猜拳 + 体育)
- 适合应用商店搜索优化
- 扩展性强(可加更多体育项目)
- 国际化名称简洁专业(RPS Sports)
2026-04-08 11:59:33 +08:00

389 lines
12 KiB
Markdown
Raw 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.
# 📋 猜拳运动会 - 开发交接文档
**版本:** v0.6(纯广告变现版)
**日期:** 2026-04-05
**适用对象:** 程序开发团队
---
## 🎯 一、核心玩法配置
### 1.1 基础数值配置
```yaml
# 核心战斗配置
combat:
base_distance:
win: 10 # 胜利前进距离 (米)
draw: 3 # 平局前进距离 (米)
lose: 0 # 失败前进距离 (米)
combo_bonus:
- threshold: 1
multiplier: 1.0
effect: none
- threshold: 3
multiplier: 1.2
effect: blue_flame
- threshold: 5
multiplier: 1.5
effect: purple_flame
- threshold: 10
multiplier: 2.0
effect: gold_flame
- threshold: 15
multiplier: 2.5
effect: red_flame
- threshold: 20
multiplier: 3.0
effect: rainbow
sports_coefficients:
track: { coefficient: 1.0, difficulty: normal }
swimming: { coefficient: 1.1, difficulty: easy }
basketball: { coefficient: 1.2, difficulty: medium }
football: { coefficient: 1.3, difficulty: medium }
tennis: { coefficient: 1.4, difficulty: hard }
boxing: { coefficient: 1.5, difficulty: hard }
gymnastics: { coefficient: 1.6, difficulty: expert }
```
### 1.2 游戏流程时序
```
单轮流程(总时长 4.5-5.5 秒):
┌─────────────────────────────────────────────────────────┐
│ 准备阶段 (0.5s) → 出拳阶段 (1.0-1.5s) → 判定阶段 (0.3s) │
│ ↓ │
│ 表现阶段 (1.5-2.5s) → 前进阶段 (0.5s) → 循环继续 │
└─────────────────────────────────────────────────────────┘
单局流程10-20 轮,总时长 1-3 分钟):
准备 → 第 1 轮 → 第 2 轮 → ... → 第 N 轮 → 结算
```
---
## 🏃 二、关卡配置
### 2.1 关卡结构
| 章节 | 关卡数 | 编号 | 主题 | 解锁条件 |
|------|--------|------|------|----------|
| 教学关 | 5 关 | 1-5 | 新手引导 | 初始 |
| 短跑赛道 | 10 关 | 6-15 | 直道竞速 | 通关 1-5 |
| 跳高赛道 | 10 关 | 16-25 | 障碍跨越 | 通关 6-15 |
| 跳远赛道 | 10 关 | 26-35 | 沟壑跨越 | 通关 16-25 |
| 投掷赛道 | 8 关 | 36-43 | 铅球/铁饼 | 通关 26-35 |
| 水上赛道 | 7 关 | 44-50 | 跳水 + 游泳 | 通关 36-43 |
| BOSS 关 | 5 关 | 51-55 | 特殊挑战 | 通关 44-50 |
### 2.2 教学关详细配置
| 关卡 | 长度 (m) | RPS 次数 | 教学目标 | 三星条件 | 奖励 |
|------|----------|----------|----------|----------|------|
| 1-1 | 50 | 3 | 移动 + 出拳基础 | 30 秒内完成 | 100 金币 |
| 1-2 | 80 | 5 | 胜利前进机制 | 全胜通过 | 150 金币 |
| 1-3 | 100 | 7 | 平局原地机制 | 平局≤2 次 | 200 金币 |
| 1-4 | 120 | 8 | 失败后退机制 | 失败≤1 次 | 250 金币 |
| 1-5 | 150 | 10 | 综合运用 | 45 秒内完成 | 300 金币 |
### 2.3 BOSS 配置
| BOSS | 关卡 | 血量 | 长度 | RPS 次数 | 阶段数 | 奖励 |
|------|------|------|------|----------|--------|------|
| 速度魔王 | 51 | 3000 | 800m | 50 | 3 | 3000 金币 + 皮肤 |
| 跳跃恶魔 | 52 | 3600 | 900m | 60 | 3 | 4000 金币 + 特效 |
| 投掷巨人 | 53 | 4000 | 1000m | 70 | 4 | 5000 金币 + 道具 |
| 水神挑战 | 54 | 4800 | 1100m | 80 | 4 | 6000 金币 + 称号 |
| 终极冠军 | 55 | 5000 | 1200m | 100 | 5 | 10000 金币 + 奖杯 |
---
## 📊 三、成长系统配置
### 3.1 等级经验曲线
```javascript
// 升级经验公式
function getExpForLevel(level) {
return Math.floor(100 * Math.pow(level, 1.5));
}
// 关键等级解锁
const keyLevels = {
5: { unlock: "跳高项目" },
10: { unlock: "铁饼项目", feature: "排位赛" },
15: { unlock: "跳水项目" },
20: { unlock: "游泳项目" },
25: { unlock: "跨栏项目" },
30: { unlock: "标枪项目", feature: "自定义房间" },
50: { feature: "教练系统" },
100: { feature: "名人堂" }
};
```
### 3.2 段位系统
```javascript
const rankSystem = {
bronze: { range: [1000, 1199], coefficient: 0.8, target: 0.20 },
silver: { range: [1200, 1399], coefficient: 0.9, target: 0.25 },
gold: { range: [1400, 1599], coefficient: 1.0, target: 0.25 },
platinum: { range: [1600, 1799], coefficient: 1.1, target: 0.15 },
diamond: { range: [1800, 1999], coefficient: 1.2, target: 0.10 },
master: { range: [2000, 2199], coefficient: 1.3, target: 0.04 },
king: { range: [2200, 99999], coefficient: 1.5, target: 0.01 }
};
// 积分计算
function calculateRankPoints(win, currentRank, opponentRank) {
const baseWin = 20;
const baseLose = 15;
const coefficient = rankSystem[currentRank].coefficient;
if (win) {
return baseWin * coefficient * (1 + streakBonus);
} else {
return baseLose * coefficient * (1 - streakReduction);
}
}
```
---
## 💰 四、金币系统配置
### 4.1 金币产出
```yaml
gold_income:
match_win: 50
match_lose: 20
daily_quest: 100
weekly_quest: 500
event_reward: 200
daily_checkin: 50
ad_reward:
- type: "double_gold"
amount: 100
- type: "free_gacha"
amount: 50
```
### 4.2 金币消耗
```yaml
gold_consumption:
skin_common: [500, 2000]
skin_rare: [3000, 5000]
skin_legendary: [8000, 12000]
emote: [500, 1500]
avatar_frame: [1000, 3000]
trail_effect: [2000, 5000]
gacha_ticket: 500
gacha_ticket_10x: 4500
```
### 4.3 经济平衡
| 玩家类型 | 月产出 | 月消耗 | 结余 |
|----------|--------|--------|------|
| 免费玩家(不看广告) | 15,000 | 10,000 | +5,000 |
| 活跃玩家(适度广告) | 20,000 | 15,000 | +5,000 |
| 重度玩家(大量广告) | 25,000 | 20,000 | +5,000 |
**设计原则:** 所有物品均可通过金币购买,看广告加速获取
---
## 📈 五、广告系统配置
### 5.1 广告场景配置
```yaml
ad_config:
rewarded_video:
- scene: "double_gold"
trigger: "match_end"
reward: "gold × 2"
limit: 1 per match
eCPM: 30-50
- scene: "revive"
trigger: "match_fail"
reward: "continue_match"
limit: 1 per level
eCPM: 40-60
- scene: "checkin_double"
trigger: "daily_checkin"
reward: "checkin × 2"
limit: 1 per day
eCPM: 30-45
- scene: "free_gacha"
trigger: "gacha_shop"
reward: "1_gacha_ticket"
limit: 5 per day
eCPM: 20-35
interstitial:
- scene: "level_end"
trigger: "level_complete"
frequency: 1 per 3 levels
eCPM: 15-25
- scene: "shop_exit"
trigger: "leave_shop"
frequency: 1 per 5 min
eCPM: 12-20
banner:
- scene: "lobby_bottom"
position: "bottom"
always_show: true
eCPM: 3-5
- scene: "shop_bottom"
position: "bottom"
always_show: true
eCPM: 3-5
```
### 5.2 广告频率控制
```javascript
const adLimits = {
rewarded_video: {
daily: 50,
hourly: 10,
per_match: 1
},
interstitial: {
daily: 10,
min_interval: 180, // seconds
per_match: 1
},
banner: {
always_on: true
}
};
// 新手保护
const newbieProtection = {
levels_1_5: { ads: false },
levels_6_20: { ads: "banner_only" },
levels_21_50: { ads: "rewarded + banner" },
levels_51_plus: { ads: "all" }
};
```
---
## 🎮 六、UI/UX 规范
### 6.1 核心界面布局
```
大厅页:
┌─────────────────────────────────────────┐
│ [头像] 玩家名 Lv.25 💰5680 │
├─────────────────────────────────────────┤
│ │
│ 🏃 快速开始 │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 对战 │ │ 关卡 │ │ 活动 │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
├─────────────────────────────────────────┤
│ 👥好友 🛒商城 📋任务 🏅成就 ⚙️设置 │
├─────────────────────────────────────────┤
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ← 横幅广告
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
└─────────────────────────────────────────┘
```
### 6.2 出拳界面
```
┌─────────────────────────────────────────┐
│ 对手信息 │
│ [头像] [名字] [段位] │
├─────────────────────────────────────────┤
│ │
│ 赛道展示区 │
│ │
│ [玩家]═══════════>[对手] │
│ │
├─────────────────────────────────────────┤
│ 倒计时3 2 1 │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 剪刀 │ │ 石头 │ │ 布 │ │
│ │ ✌️ │ │ ✊ │ │ ✋ │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
└─────────────────────────────────────────┘
```
---
## 📝 七、开发优先级清单
### P0 - 核心功能(必须完成)
- [ ] 剪刀石头布核心逻辑
- [ ] 胜负判定与前进
- [ ] 连击系统
- [ ] 教学关 5 关
- [ ] 短跑赛道 5 关6-10
- [ ] 激励视频接入(双倍金币)
- [ ] 插屏广告接入(关卡结束)
- [ ] 金币系统
### P1 - 重要功能(首版本建议完成)
- [ ] 短跑赛道完整11-15
- [ ] 跳高赛道16-25
- [ ] 三星评价系统
- [ ] 段位系统
- [ ] 每日任务系统
- [ ] 签到系统
- [ ] 更多广告场景
### P2 - 后续更新
- [ ] 跳远赛道26-35
- [ ] 投掷赛道36-43
- [ ] 水上赛道44-50
- [ ] BOSS 战51-55
- [ ] 无尽模式
- [ ] 排行榜
- [ ] 1v1 对战
---
## 📊 八、完整配置表
详细配置表请参考以下文档:
| 配置 | 文档位置 |
|------|----------|
| 核心战斗数值 | `docs/05-数值设计.md` 第一章 |
| 关卡详细设计 | `docs/04-关卡设计.md` 第二章 |
| 成长系统 | `docs/05-数值设计.md` 第二章 |
| 金币系统 | `docs/08-广告变现设计.md` 第八章 |
| 广告系统 | `docs/08-广告变现设计.md` 第一 - 五章 |
| UI/UX 规范 | `docs/06-UIUX 设计.md` |
---
## 📞 九、问题反馈
如有任何配置疑问,请查阅:
1. **整合策划案** - `docs/整合策划案_v0.6.md`
2. **飞书多维表格** - https://basegames.feishu.cn/base/Joc4bhUqEa6wJdsmevFc9YVhnH0
3. **专项文档** - 见上表
---
*文档版本v1.0 | 最后更新2026-04-05*