Skip to content

Grapedge/Werewolves

Repository files navigation

狼人杀文字版介绍

狼人杀文字版是一个使用 UNET 制作的局域网社交聊天游戏,它的规则在下文将会介绍。

开发信息

大厅功能借鉴使用了官方的示例程序。在游戏场景中使用了一个简单的状态机进行全局状态更新。而在子状态中,我使用了协程对程序的逻辑进行处理,而不是一个子状态机。事实上,它运行地不错。所有和游戏有关的逻辑处理均位于 Server ,而客户端使用 Rpc 函数接收服务器传来的信息和使用 Cmd 函数将信息发送至服务器。目前来看运行上暂时没有很明显的问题(当然,我暂时还没有添加处理玩家掉线等状态的代码)。目前这个程序是使用键盘输入文字进行交流(这是朋友的一个特殊需求),高考之后如果我还记得我可能会添加上语音聊天的功能。开发时间比较紧促,难免有些bug。

准备开始一场对战

Werewolves 主界面

mainPanel

  • 通过选择 主机模式 在局域网内创建房间
  • 输入框中输入房间的 ip 地址,使用加入游戏连接房间

Werewolves 大厅界面

lobbyPanel

  • 使用设置设置房间每个职业的人数(仅房主)
  • 所有玩家进入准备状态后将自动进入游戏
  • 房主可以选择移除大厅内的一些角色
  • 在命名框中可以更改自己的玩家命名,准备后不可更改

Werevoles 游戏界面

gamePanel

  • 进入游戏后将看到类似界面
  • 系统将提示您本局对战的相关信息
  • 显示的玩家名称为 playerName(playerId) 的格式
  • 当需要您选择一个玩家时,应该输入 playerId 来选择一个玩家
  • 当轮到你的环节时,你可以再输入框中输入对话,使用 return 或点击 发送 按钮可以发送信息(某些环节别人将无法看到你发送的信息,例如投票杀人环节)
  • 你的发言将会有一定的时间限制,当没有超过时间限制而你发言完成时你可以点击结束按钮结束发言,当你的队友也发言完毕时将会跳到下一个环节(而不需要等待所有限制时间)

游戏规则

对于多人决定的环节,一般以决定的众数作为最后判决,的审判规则如下:

  • 狼人杀人环节,如果所有狼人不输入或输入错误的玩家编号,或是杀害的玩家平票,则本回合空刀。
  • 女巫解救环节,如果多名有解药的女巫使用解药,将判定为 playerId 值最小的女巫使用解药。
  • 女巫只有有毒药时才能杀人,若多名女巫同时使用毒药,判断规则同上。
  • 预言家检验玩家时如果平票将在平票的玩家中随机查验。

夜晚阶段

  • 狼人讨论并决定杀害的玩家。
  • 如果狼人杀害了一名玩家,有解药的女巫可以使用解药拯救该玩家。有毒药的女巫可以毒害一名玩家。对于所有女巫,毒药与解药每个回合只能使用一瓶。
  • 预言家对所有玩家进行查验。

白天阶段

  • 如果是第一天,则进行警长竞选。若无人上警,本局无警长;若只有一名玩家则直接上警;否则进行发言竞选,票数最多当选,若平票,再次发言并竞选,若再次平票,本局无警长。
  • 公布死亡状态,死亡玩家使用其技能并留遗言。
  • 如果有警长,则警长决定发言顺序,否则按玩家编号递增顺序依次发言。
  • 玩家进行投票票杀一名玩家,若平票则重新投票,若再次平票则今天是平安日。

About

Unity3D 狼人杀文字版

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published