论坛首页 编程语言技术论坛

介绍一个Python v.s Ruby的编程活动

浏览 6470 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-29   最后修改:2011-03-30
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报名参加
   发表时间:2011-03-29  
好玩,以前玩过用ironruby和ironpython做嵌入语言来控制UI
0 请登录后投票
   发表时间:2011-03-30  
Sounds great!
0 请登录后投票
   发表时间:2011-03-30  
在大家的算法都不够健壮的情况下,窝在一个角里循环的龌龊算法貌似很有效,只需坐等对方出错即可~
0 请登录后投票
   发表时间:2011-03-30  
stonelee 写道
在大家的算法都不够健壮的情况下,窝在一个角里循环的龌龊算法貌似很有效,只需坐等对方出错即可~

想法太猥琐了~~~
0 请登录后投票
   发表时间:2011-03-31  
stonelee 写道
在大家的算法都不够健壮的情况下,窝在一个角里循环的龌龊算法貌似很有效,只需坐等对方出错即可~


是程序自动控制蛇的行动还是人为控制?

人为控制的话,按照“输家的游戏”,这样说可靠。

程序控制的话,貌似有算法价值在里面
0 请登录后投票
   发表时间: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 里引入实在是太容易了 ⋯⋯
0 请登录后投票
   发表时间:2011-03-31  
规则和Google AIC的不一样, google的蛇是不断增长,并且场地上没有食物,相当于是占格子的AI
0 请登录后投票
   发表时间:2011-04-02  
在room0里面盯了一会,发现PYTHON的蛇死的比ruby早,但是死的时候比ruby的蛇长,有几条ruby蛇太贱了,在旮旯里,自己咬自己的尾巴玩。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics