-
Notifications
You must be signed in to change notification settings - Fork 9
游戏规则
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条蛇.