不知可否借 ruby China 征集一些对编程有特殊情感的开发者,公司内部本月开展了一次跨年编程邀请赛,公司内外部开发爱好者均可参加,最后获前两名的开发者可获得 2048 和 1024 元现金,奖金不多,重在参与和交流,可以远程参与,如果在成都的,最后可以受邀参加我们的技术分享会。纯属技术交流,有兴趣的可以回帖联系我,有任务问题也可回帖,我会一一回复,谢谢大家的支持!
为纪念 Ada Lovelace 诞辰 200 周年,小博无线将面向小博无线的开发者及其朋友们举办一次编程竞赛。内部开发者可直接参赛,并欢迎邀请自己喜欢编程的朋友参加。
本次编程邀请赛的选题为 2048 Bot。参赛者需要编程实现数字游戏 2048 以及获取最高分的玩家智能。
2048 游戏在一个 4*4 的矩阵中进行,初始状态为随机放置的 3 个 2,例如:
状态 1
0 0 0 0 0 2 0 0 0 0 0 0 2 0 2 0 0 表示格子为空。玩家通过移动数字切换游戏状态。在状态 1 分别选择向上下左右 4 个方向移动会分别切换到下面 4 个状态:
状态 1 向上移动至状态 U
2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 状态 1 向下移动至状态 D
0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 状态 1 向左移动至状态 L
0 0 0 0 2 0 0 0 0 0 0 0 4 0 0 0 移动方向上两个相同数字会合并成一个新的数字,值为两个数字相加
状态 1 向右移动至状态 R
0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 4 同时,每次移动后游戏会完全随机选择一个空白格子放入一个 2 或 4(各占 50% 概率)。以状态 U 为例,它的最后状态可能为 13*2=26 种状态中的一个,每种状态的概率均为 1/26,排列如下:
状态 U1
2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 状态 U2
2 2 2 4 0 0 0 0 0 0 0 0 0 0 0 0 状态 u3
2 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 ...
状态 U26
2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 4 每次移动只会在同一行或同一列触发一次合并,但在不同的行或列上的合并会同时触发。以下面的状态 2 为例
状态 2
2 2 2 2 2 0 2 0 0 0 4 0 0 0 0 0 向左移动得到
状态 2L (未显示新随机生成的 2 或 4)
4 2 2 0 4 0 0 0 4 0 0 0 0 0 0 0 向右移动得到
状态 2R (未显示新随机生成的 2 或 4)
0 2 2 4 0 0 0 4 0 0 0 4 0 0 0 0 当无法往任何一个方向移动时,游戏结束,例如下面的状态 3
状态 3
4 16 4 2 2 4 16 32 4 8 4 64 8 16 64 128
|0||0||0||0|
|0||2||0||0|
|0||0||0||0|
|2||0||2||0|
|2||2||2||2|
|0||0||0||0|
|0||0||0||0|
|0||0||0||0|
内部开发者请使用公司邮箱发送
配置为 2 核 4G 内存的云主机
OS 为 Ubuntu 14.04
不能访问网络
不能写磁盘
提交的程序会被运行 10 次,但总运行时间不能超过 1 小时。如在一小时内仅完成 3 次运行,则只有 3 次运行的结果会被用于计算得分。极端情况下,程序第一次运行即超过 1 小时未完成结果输出,或连续 10 次程序运行都出现异常终止,则得分为 0。得分超过 2048 的程序才能入围 Rank Board.
选取游戏结束时最大的两个数字之和作为该次运行的最后得分 3
n 次(n <= 10,见规则 1)有效运行的最高分作为提交代码的最后得分
2015 年 12 月 10 日 - 2016 年 1 月 10 日 提交代码并即时测评。一共有 6 个提交窗口,12 月 10-20 日,21-27 日,27-2016 年 1 月 3 日,1 月 4-6 日,1 月 7-9 日,1 月 10 日。可以多次提交,但在每个窗口内只能提交一次。
2016 年 1 月 11 日发布比赛结果
赛后将会邀请有优秀表现的开发者进行技术分享,具体时间及地点安排确定后另行通知
Rank Board 得分排名前两位 4 1st Rank - 2048 元 2nd Rank - 1024 元
如果是外部开发者获奖,发起内邀的同学也将另外获得奖金的 25% 作为邀请奖励
如果入围 Rank Board 的开发者不足两名,则对应奖项轮空
如对本次比赛有任何疑问,请发信到 [email protected] 咨询
成都瑞小博科技有限公司(简称:小博无线)是一家专注于商业场所 Wi-Fi 覆盖及运营的创新型互联网企业,致力于商业 Wi-Fi 覆盖产品研发与运营模式创新,为全国商业 Wi-Fi 运营团队提供全面的运营平台与技术服务。凭借扎实稳定的技术基础,小博无线已成为国内最大的商业 Wi-Fi 开放运营平台供应商。
赛制详情链接:http://b1.rippletek.com/ada-cmp/theme.html *********************************************************
1.最终的输出结果会通过类似‘runnable > out && verify out’的脚本来判断其正确性并计算得分,请务必保证 stdout 输出没有混入任何游戏状态输出以外的内容 ↩
2.作者自己选择源代码的 license,提供给小博无线的所有代码仅用于竞赛评审。如发现雷同代码,只认可最早收到的版本,后面的不予接受。 ↩
3.状态 3 的最后得分为 128+64=192 ↩
4.如果出现同分,则按提交时间确定排名,先提交的靠前 ↩