Pygame大作业 #『西风哗哗?大赢家!』开发者文档
『西风哗哗?大赢家!』开发者文档
- 组长:李纪远
- 组员:席萱赫 / 祖家琪 / 刘立威

一、功能模块
1. 基础界面
a) [主菜单]
- 引导进入:[帮助][鸣谢][游戏主页]
b) [帮助]
-
第一次进入游戏时弹出
-
多图轮播
-
[游戏主页]
-
[选角]
-
[鸣谢]
c) [选角]
- 决定 AI/可控玩家 数量
- 第一次进入游戏时弹出
- [游戏主页]
2. 显示系统
- 在指定位置显示各种信息:
- 当前地块信息
- 事件:何种事件
- 地块:
- 有无地主?
- 需要升级/交钱?
- 玩家实时情况
- 当前地块信息
3. 房产管理
-
创建房产管理类,可重复调用
-
属性:
- 地块名/所属国家/地块资金计算倍率
- 是否被买入/买入玩家名/当前所处地块等级
4. 事件管理
-
创建特殊地块事件类,可重复调用
-
属性:
- 事件类型(机会/命运/国家地块/传送锚点/元素之印)
-
调用生成所处事件函数(国家地块为固定事件,机会/命运分别随机相应的事件库
- 机会/命运库:
- 获得/失去 800±500 Mora
- 停止在原地 N 回合
- 与场上某位玩家交换 Mora
- 与场上某位玩家交换 位置
- 与场上某位玩家交换 房产
- 传送锚点:
- 直接更改当前玩家位置
- 元素之印:
- 是否已获取?
- y:加钱
- n:是否要获取?
- y:扣钱,修改玩家状态
- n:skip
- 是否已获取?
- 机会/命运库:
5. 玩家状态
-
创建玩家类,可重复调用
-
按照玩家个数创建独立位置存储
- 属性:
- 玩家名/所处位置/所处地块类型(事件/地块)
- 资金/地产总数/地产拥有情况
- 元素之印数目
- 被定格了N回合(默认为0)
- 属性:
6. 骰子
- 获取是哪个玩家触发骰子
- 随机1~6
- 判断是否对点数进行操作
- 变化玩家位置
7. 获胜判断
- 当有玩家元素之印种数为4/资产为0,游戏结束
- 判断谁是赢家,进行排名
8. 多媒体控制
- 背景音乐载入/播放/暂停
二、游戏流程
主程序
graph TD
P1((主菜单))-->帮助-->P3((选角))
P3-->01[/玩家状态: 玩家名/]-->P4((主游戏))
P3-->02[/玩家&AI数目/]-->P4
P4-->Step0[/玩家状态: 被定格了N回合/]--若N=0-->Step1[/骰子/]-->Step2[/玩家状态: 位置+n/]
Step2-->Step3a[/事件管理: 是否触发事件/]-->Step4a[/显示系统: 显示当前事件/]-->Step5a[/事件管理: 执行事件/]-->Step6[/玩家状态: 更新玩家状态/]
Step2-->Step3b[/房产管理: 是否触发地块/]-->Step4b[/显示系统: 显示房产信息/]
Step4b--玩家决策-->Step5[/房产管理: 更新房产状态/]-->Step6
Step6-->Step7[/显示系统: 显示玩家状态/]-->Step8(判断获胜条件是否满足)
Step8--若不满足-->Step10{{下一玩家}}-->Step0
Step8--若满足-->Step9{{结算退出}}

浙公网安备 33010602011771号