Skip to content

Use WSGI As Server Frontend [TEMPORARY]

neuront edited this page Apr 23, 2012 · 3 revisions

请检出分支 wsgi, 这个分支上, 包含一份网关代码及客户端实现.

启动服务器

需求

  • python 2.7.x
  • simplejson

运行下面的命令可以启动这个服务器, 并开始三国杀游戏.

$ python main.py

然后打开浏览器, 访问 http://localhost:8000/ 进入游戏页面.

在这份实现中, 浏览器使用 HTML5 LocalStorage 保存一些缓存, 因此

  • 需要浏览器支持 LocalStorage 特性
  • 同一浏览器通过多个标签页访问, 显示的内容将相同

后一点可以通过打开不同浏览器或同一浏览器及其隐身浏览模式访问来解决.

当玩家使用的卡牌或者发动的技能指定其它玩家时, 会通过 HTML5 Canvas 在两者之间绘制一条直线. 因此需要浏览器支持 HTML5 Canvas.

开始游戏

游戏服务器上仅有 1 个房间.

进入页面后, 点击 Join 按钮进入游戏. 首先进入的玩家将是主控玩家, 可以在人数不少于 2 人时点击 Start 开始游戏.

开始游戏后, 页面刷新为 8 人局 (无论人数) 位置排布.

选择人物

一名其它玩家作为 hint 中可响应玩家时, 他的边框将被涂为红色, 否则为灰色. 当前玩家需响应时, 下方玩家边框将变为黄色, 否则为灰色.

开始选择人物后, 中央区域将会随机出现 3 个名字, 点击名字选择角色.

使用卡牌

首先从本玩家区域内右侧选择使用卡牌的方法 (如果按照牌面方式使用, 则直接选择 "使用" 即可), 单击此方法名, 此时被激活的方法名将变为绿底色. 若需要改变方法, 单击需使用方法的方法名.

然后选择合适的卡牌, 单击一张卡牌的名字, 卡牌背景将变为白色, 或再次点击, 取消选择该卡牌, 卡牌背景将恢复为灰色.

再点击选择合适的目标, 点击该玩家区域, 目标背景将变为青色, 或再次点击, 取消选择该目标, 背景色将恢复灰色.

最后再次点击方法名, 确定使用卡牌.

若卡牌不合法或目标不合法, 再次点击方法将不会提交动作到服务器.

某些时候, 当你想选择一张其它卡牌来使用时, 由于选择卡牌的数量是受限的, 这张卡牌不会响应, 所以请先取消选择原来的卡牌.

目前一些卡牌没有实现, 这些卡牌的名字将会是数字表示. 不过, 一些武将技能仍然能够通过这些卡牌发动, 如 [天香] 可以点击一张红桃或黑桃卡牌, 无论其名字, 并指明一名目标发动.

打出, 弃置或展示卡牌

与使用卡牌类似, 但不需要选择目标.

选择区域

当使用 [过河拆桥] 等锦囊后, 需选择作用于目标玩家的哪一个区域, 这些区域将在中央区域罗列出, 通过单击选择. 若选择目标的手牌区, 则服务器将随机选择目标的一张手牌.

页面错误

如果发生页面错误, 如卡牌不同步, 重复, 不再有动画刷新等, 刷新页面可恢复.

断线

若中途断线, 可刷新页面重连.

暂未实现断线后退出托管, 因此, 如果一名玩家退出游戏, 则游戏进度会在该玩家行动时, 一直等待该玩家而不再推进.

Clone this wiki locally