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{{结算退出}}
posted @ 2022-11-27 01:24  LeeHero  阅读(81)  评论(0)    收藏  举报