Skip to content
halida edited this page Dec 16, 2011 · 6 revisions

基础规则

首先是基本的贪吃蛇游戏规则:

  • 玩家加入后, 可以控制一条蛇的移动. 蛇只能往前, 往左或者往右移动. 就算经过传送门, 蛇也不能往后转, 因为蛇的脖子转不了那么大的角度...
  • 如果蛇头撞到墙, 或者别的蛇的话, 蛇就死掉啦.
  • 蛇死掉后就变成尸体了, 和墙的效果一样.
  • 地图上面会随机出现一些豆子, 蛇吃了豆子的话, 身体的长度就会增加.
  • 当到了一定时间, 或者只有一条蛇剩下, 或者蛇全部死掉的时候, 游戏结束.
  • 游戏结束的时候, 存活的蛇中, 长度最长的获胜. 如果全死掉了, 很遗憾, 没有获胜者.

增加内容

我们在这个规则上面增加了一些内容:

  • 蛇有2种(python/ruby), 玩家可以自己选择蛇的类型.

  • 豆子也有2种(egg/gem), 蛇吃自己对应的豆子+1长度, 否则-1长度. python吃egg, ruby吃gem.

  • 你可以控制蛇冲刺(sprint), 蛇在接下来的几轮里面速度变快, 但是结束后的几轮里面无法移动, 蛇需要休息...

    具体参数:

    SPRINT_ROUND = 5 # sprint的轮数 SPRINT_STEP = 3 # sprint的时候, 每轮可以走的步数 SPRINT_REST = 20 # sprint之后需要休息的时间

  • 我们的地图上面出了墙以外, 还有传送门(portal), 传送门成对出现, 这样可以更快速到达想要去的地方.

其他重要的内容

游戏执行的一些其他需要注意的方面:

  • 游戏是回合制进行的, 服务器等待每条蛇都发出命令, 或者超时了之后才进行下一轮.
  • 如果一条蛇很久没有响应, 服务器会考虑杀掉它, 防止影响其他人进行游戏.
  • 蛇是按加入游戏的顺序走的, 如果一条蛇A刚好走到另外一条蛇B的尾巴上面, 并且蛇B后加入, 那么蛇A就被撞死了.

比如这样(^和>是蛇头):

BBBBBBBB>
^
A
A
A
  • 2条蛇的头相撞, 那么2条蛇都会死掉.
  • 一条蛇碰到自己的尾巴, 会死掉, 因为我们的蛇是头先动的...

具体参数

具体的一些游戏参数, 可能会有调整:

  • 一场游戏最多是3000轮.
  • 游戏最多可以容纳20条蛇.
Clone this wiki locally