介绍一个Python v.s Ruby的编程活动
Snake Challenge - Python v.s Ruby是一个通过程序来控制贪吃蛇的编程活动,具体规则如下:
参赛选手需选择自己是Pythoner还是Rubyist.通过API接口写一个AI算法,来控制一条Python或者Ruby的蛇。蛇在地图上面通过吃自己的食物可以变长,同时要保护自己的头部不被自己的身体、别人的身体/头部以及墙撞到。
你的AI程序可以控制蛇的方向(前,左,右),然后身体会跟随着你的头部移动。你的蛇需要一直处于移动中,(非死亡情况下)不能够停止,同样你也不能让你的蛇反向运动。当你的蛇死了之后,头部和身体都不会在地图上面消失,但不再移动。
地图上面有2种食物: Egg / Gem。 Egg 是python的食物, Gem 是Ruby的食物。蛇吃到自己的食物,身体增长1,反之,减少1.
失败条件
* 蛇的身体长度小于5。(初始长度为5)
* 蛇的头部碰到自己的身体,别人的头部/身体或者墙
胜利条件
* 你成为地图上面仅存的蛇
* 如果本回合比赛超过600回合, 存活并且身体长度最长的蛇将会获胜
本周日(4月3号)在上海将会有一个线下的比赛,如果你有兴趣(有限量版杯具和Lego玩具作奖品哦),可以联系mike@gurudigger.com报名参加 5 楼 liaofeng_xiao 2011-03-31 stonelee 写道在大家的算法都不够健壮的情况下,窝在一个角里循环的龌龊算法貌似很有效,只需坐等对方出错即可~
是程序自动控制蛇的行动还是人为控制?
人为控制的话,按照“输家的游戏”,这样说可靠。
程序控制的话,貌似有算法价值在里面 6 楼 night_stalker 2011-03-31 去年google AI challenge也是贪吃蛇呢。(03年清华智能体大赛也是贪吃蛇??怀疑还有更早的)
不过 google 限制选手使用的资源:你只有1秒的思考时间,超时就会当没有动作处理。
所以前几名都是 c++ 选手: http://csclub.uwaterloo.ca/contest/rankings.php
冠军的代码在 github 上: https://github.com/a1k0n/tronbot
有兴趣可以看看哦
我是疑惑能不能装第三方的 gem 之类的 ?? 把 c++ 代码修改一下,然后在 python/ruby 里引入实在是太容易了 ??
7 楼 QuakeWang 2011-03-31 规则和Google AIC的不一样, google的蛇是不断增长,并且场地上没有食物,相当于是占格子的AI 8 楼 lsc20051426 2011-04-02 在room0里面盯了一会,发现PYTHON的蛇死的比ruby早,但是死的时候比ruby的蛇长,有几条ruby蛇太贱了,在旮旯里,自己咬自己的尾巴玩。