西西河

主题:【文摘】【原创】编程日记:杀人游戏 (1) -- 相见欢

共:💬3 🌺2 新:
分页树展主题 · 全看首页 上页
/ 1
下页 末页
  • 家园 【文摘】【原创】编程日记:杀人游戏 (1)

    ===================================

    = 杀人游戏 V3.12 标准版编程日记 =

    = 代码 :肥仔笨笨        =

    = 代码最后修改日期:2007.4.20  =

    ====================================

    一、设想

    杀人游戏一直玩得挺火,但是总要在特定的时间特定的地点凑够人手不是?有没有办法各自在家里在办公室就能玩?答案是:能。联网玩呗。就像现在的各种各样的网络游戏那样。

    上网找了一哈,发现还真有。不过多数是一些论坛里面通过站内短信或者电子邮件来玩,还需要一个人来当裁判。有点太费事了。

    能不能由电脑来做裁判?这个当然也能。

    那就自己写一个吧。结合论坛,做一个程序。

    二、平台选择

    常见的基本就两种: Windows , UNIX。

    对前者,可以写 ASP ,对后者,写PHP吧。

    不得不遗憾地说一句,笨笨写的PHP代码已经在单位主机升级的过程中灰飞烟灭鸟。目前手里剩下地只有ASP代码咧。

    为啥windows平台下要选择ASP? ,很简单啊,门槛低。装上系统,就有了IIS,还支持Access。要求高一点的,装个MSDE就成了。有台XP就能玩起来。

    三、数据设计

    先设定角色,每局游戏杀手二人。

    但是问题来了。一局游戏不止一个杀手,哪一个为主?哪一个为次?还是要两人互通有无后再继续游戏?万一两个人无法协调比如时差十二小时以及诸多其它原因怎么办?

    那这样,把角色细分。一局游戏设杀手一、替补杀手(帮凶)一。帮凶在杀手出局后就升级为杀手。

    按照杀人游戏II版规则,设警察一、医生一。这样角色就齐活了

    1 游戏参与者总要有一些信息要记录吧?

    用户名,密码。这是最简单的。再加点其它的信息:参与游戏的总局数、扮演各类角色的次数、各种方式出局(被杀,被投杀)的次数等等。

    2 每局游戏的状态也许要记录吧?

    该局游戏的序号、开始结束的日期时间、参与该局的人数、游戏进行到那一步(白天还是晚上啊?是该投票了还是正在投票或者是杀手正在准备作案?)

    3 每一局里面参与者的状态也要有个记录吧?

    在某一局游戏里面参与者的角色是什么啊?是活着还是死了啊?如果是死了那么是死在那一轮啊?是怎么死的啊?他在这一轮中该做的事情(比如行凶或者投票阿)做了没有啊?

    4 游戏参与者的动作(投票或者行凶)总要有个历史记录吧?

    在哪一局的哪一轮,哪一个游戏者,做了什么动作,对象是谁,发生的时间?

    5 总要有个地方记录游戏参与者们的讨论吧?

    哪一局的讨论?谁的发言?标题和内容,时间,是对哪一个内容的回复?

    剩下的一些属于论坛管理方面的啦。写过BBS代码的人基本上都知道。

    6 管理员资料

    7 管理员活动历史记录

    8 需要屏蔽的IP或者NickName或者脏话库

    9 一些系统参数

    为了游戏更有趣,不妨借鉴一哈《大富翁》这个游戏。设计一套卡片系统或其它因素。

    比如:生病。游戏参与者每一次刷新页面就有一次生病的机会。这个生病的概率可以放在系统数据(9)里面。生病的周期仅限一轮,一旦生病了就不能投票。

    比如:蛛丝马迹。系统有可能记录下游戏者刷新页面的时间并且公示给所有人。这个的概率也可以放在系统数据(9)里面。人们可以据此判断此人是否是凶手。

    至于卡片系统比如:

    1 天使卡 - 平民使用:抢救所有人。

    2 显形卡 - 明示一个角色的身份名字。

    3 回魂卡 - 抢救自己,平民使用:不被杀;杀手使用:投杀失败。

    4 抢夺卡 - 身份交换。

    等等等等、不一一悉数。

    使用卡片的这个过程可以记录在数据表(4)里面,每局游戏中每轮只能有一张卡片。谁有这个卡片?可以记录在数据表(3)里面。

    • 家园 【原创】编程日记:杀人游戏 (2)

      四 代码设计

      该写代码啦。笨笨有个座右铭:Coding就是生活!

      虽然写代码是很烦的事情,但是写自己感兴趣的代码也是很快乐地事情。这就叫受虐狂阿。

      1 先作主页面,起个名字:Killer.asp(不由得痛心地想到俺灰飞烟灭的killer.php)

      先来三个 #include吧

      <!-- #include file="s_startup.asp" -->

      定义哈数据连接字串,频繁用到的一些代码写成函数放在这里,比如创建、打开和关闭数据连接、随机数生成等等。

      <!-- #include file="s_varlist.asp" -->

      一些常数的定义和初始化放在这里,比如:各种角色的名称等等。

      <!-- #include file="s_badip.asp" -->

      这个好说,直接ban掉IP或nickname的代码,遇到不合格的IP或昵称,直接来个 </body></html> 或者response.end之类。

      然后写HTML头。这个easy啊。里面顺便加上一句 <meta http-equiv="Refresh" content="120;url=killer.asp"> ,自动刷新哈。

      好了,准备工作完成,该开始正式的页面内容了。首先要检查用户身份,注册用户否?登录否?

      取cookie,看里面保存的标志。可以使用户名,也可以使其它Flag。有,那奏是已登录的注册用户了。没有?好办,那给你显示一个论坛的登录页面或者连接,然后结束本页。

      对于已登录的注册用户,下面的东西奏简单了,木有啥各种方面的含金量。一批简单的代码。列出正在进行的、正在报名的、已经结束的游戏;给上链接。连接指向 Gameshow.asp?gameid=XXX。

      好了,主页面完毕。剩下的就是做点润色。

      点看全图

      外链图片需谨慎,可能会被源头改

      • 家园 这个,,,,比较难

        玩杀手游戏的时候,每个人的表情,下意识动作,眼神,语气,空气波动,声音方向都是判断的因素.

        还有指证别人之后的反应,都构成杀手游戏的乐趣.

        网页游戏比较难反应这些东东.

分页树展主题 · 全看首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河