我需要查看游戏推演的算法逻辑,包括游戏匹配、体力检查、随机事件等核心功能。
toolName: search_by_regex
status: success
query: def.*game|game.*def|check_stamina|use_stamina|get_random_event
toolName: search_by_regex
status: success
query: def check_stamina|def use_stamina|def get_random_event|def get_game_steps
toolName: search_by_regex
status: success
query: RANDOM_EVENTS|def get_random_event|def get_game_steps
## 游戏推演算法详解
### 1. 体力系统
- **每日次数**:每个命盘每天有3次免费游戏机会
- **冷却机制**:每次游戏后有5分钟冷却时间
- **体力检查**:`check_stamina()` 函数检查:
- 是否有剩余次数
- 是否在冷却中
- 是否需要重置每日次数
- **体力使用**:`use_stamina()` 函数:
- 扣除1次游戏机会
- 设置5分钟冷却时间
### 2. 游戏流程
1. **选择方向**:用户选择东、南、西、北四个方向之一
2. **生成游戏步骤**:`get_game_steps()` 函数根据方向生成5个步骤
3. **随机事件**:`get_random_event()` 函数在游戏过程中随机触发事件:
- **障碍事件**:行程延误(+2秒)
- **加速事件**:速度加快
- **正常事件**:无特殊效果
### 3. 匹配算法
- **基础匹配分**:50分
- **加分项**:
- 性别互补:+10分
- 生肖匹配:+8分
- 日主匹配:+12分
- 五行互补:+12分
- 教育背景匹配:+5分
- 职业匹配:+3分
- 经济状况匹配:+5分
- 年龄匹配(≤5岁):+5分
- 性格特点匹配:+6分
- 兴趣爱好匹配:+9分
- 择偶要求匹配:+6分
- **筛选机制**:
- 分数筛选:最低75分
- 择偶要求筛选
- 生肖冲突筛选(相冲、相害、相刑、相破)
### 4. 游戏结果判定
- **成功率**:
- 普通模式:50%
- 使用红绳道具:90%
- **结果生成**:
- 成功:生成匹配记录,创建马牌
- 失败:提示"缘分云深不知处"
### 5. 马牌生成
- **等级计算**:基于基础分60分,根据有房、有车、学历等因素加分
- **标签生成**:只保留"有房"、"有车"、"有退休金"三个标签
- **详细信息**:通过API端点获取用户允许查看的详细资料
### 6. 道具系统
- **马粮**:增加游戏次数,重置冷却时间
- **红绳**:提升匹配成功率至90%
## 核心技术点
- **随机事件系统**:使用 `random.choice()` 实现
- **匹配算法**:基于多维度评分系统
- **体力管理**:使用日期和时间戳实现每日重置和冷却机制
- **方向差异化**:根据选择的方向生成不同的游戏步骤文案
这个算法设计兼顾了游戏的趣味性和匹配的科学性,通过体力系统控制游戏频率,通过多维度评分确保匹配质量,通过随机事件增加游戏的不确定性和乐趣。

