
平时工作上课太 Easy,想来点 Hard 模式吗?12 月 6 日和 7 日两天我们将会举办线上 Hackathon,编写游戏 AI,和全国各路神仙一较高下。
这个线上活动由思客教学和 Coding.net 云端开发平台联合举办。参加活动就有机会得到 Coding 提供的精(ang)美(gui)战利品,人生赢家也许就是你!
Hackathon 活动内容如下:
大家可以以个人形式选择自己感兴趣的一组进行参与。
战利品有什么捏?
看着流口水了吧?
Code Game 是一个使用 Javascript 代码编写 AI 脚本来和他人进行对抗的游戏平台。
Code Game 以坦克大战游戏为原型,每局比赛由两名玩家参与,每名玩家以事先编写好的 Javascript 脚本参与比赛,每名玩家控制一辆坦克。
如图:

游戏的胜利条件按优先级排列如下:
游戏介绍: http://codegame.org/doc
api 文档: http://codegame.org/doc/api
第一组 - 编写坦克 AI
12 月 6 日零点开始,选手可以在 CodeGame 平台参与杯赛。为了公平起见,杯赛期间任何玩家均不能和参与杯赛的选手对战(参与杯赛的选手之间也不可以)。大家可以在加入杯赛前即开始阅读开发文档并着手编写代码。
12 月 7 日晚 24 时,CodeGame 将对所有参赛选手进行随机分组,以当前代码为准,通过淘汰赛的形式决出获奖 AI。
活动期间鼓励大家多交流思路。
第二组 - 为 CodeGame 平台开发功能
CodeGame 在 Github 上面有些项目需求。6 号和 7 号这两天我们一起来打造 CodeGame 平台,给它添加些有趣的新功能。Luin 会为每个 Issue 依照实现难度来打分。
CodeGame 也欢迎你提交自己想做的功能。
活动期间由 Luin 负责接受 Pull Request。12 月 6 日零点到 7 日 24 时间,每个 Issue 的第一个通过的 PR 得分。
在这个帖子里留下邮箱,我们把你加入 Slack 群里。

2 luin 2014-12-02 20:00:32 +08:00 哈哈,欢迎大家来玩~~~ |
3 kokdemo 2014-12-02 20:05:02 +08:00 kokdemo#gmail 谢谢 |
4 sennes 2014-12-02 20:07:14 +08:00 如果能早点出新地图会比较好。 这个地图硬编码的人还是挺多的。 或者早日把"第一颗星星延迟N帧后出现"这个加上~ |
5 sennes 2014-12-02 20:07:45 +08:00 忘了留邮箱: [email protected] |
9 a591826944 2014-12-02 20:21:14 +08:00 aouwwp#gmail 求加 |
10 beenhero 2014-12-02 20:30:09 +08:00 赞,好玩的很,要写好还真得花点时间的。 |
11 sennes 2014-12-02 20:37:00 +08:00 |
13 sitiao 2014-12-02 21:08:37 +08:00 10年前见过类似的东东,那时还是java的,也叫坦克大战。 |
14 ipconfiger 2014-12-02 21:12:08 +08:00 台湾大叔的活动搞得很high啊,哈哈 |
15 hayeah OP @ipconfiger 你来参加啊,快! |
16 kokdemo 2014-12-02 21:38:58 +08:00 问一个弱弱的问题……slack不填team名称行么…… |
17 popo233 2014-12-02 21:43:14 +08:00 战利品居然没有redis入门指南www |
18 a591826944 2014-12-02 21:46:33 +08:00 @hayeah 喂 LZ 。。创建我的 AI 保存了以后怎么没有啊。。。。不会存储下来的吗? |
21 hayeah OP @a591826944 。。。貌似有问题。@luin 说回家马上看 |
22 nigelvon 2014-12-02 21:54:23 +08:00 via Android 很有意思 nigelvon#gmail 谢谢 |
24 a591826944 2014-12-02 22:06:34 +08:00 @hayeah 刚注册了 slack 还不太会用。。加我意思下 aouwwp#gmail |
25 luin 2014-12-02 22:06:52 +08:00 @a591826944 已经好啦~~这么隐蔽的 bug 都被发现了好害羞。。。搞混数据库了我错了 (T_T) |
26 a591826944 2014-12-02 22:10:51 +08:00 排行榜挂了 /home/git/codegame.git-deploy/views/rank.jade:24 22| td #{index + 1} 23| td > 24| a(href="/#{item.User.login}") #{item.User.name} 25| td #{item.win} 26| td #{item.lost} 27| td #{Math.round(item.win / (item.win + item.lost) * 100)}% Cannot read property 'login' of null TypeError: Cannot read property 'login' of null at eval (eval at <anonymous> (/home/git/codegame.git-deploy/node_modules/jade/lib/jade.js:172:8), <anonymous>:399:52) at eval (eval at <anonymous> (/home/git/codegame.git-deploy/node_modules/jade/lib/jade.js:172:8), <anonymous>:558:4) at eval (eval at <anonymous> (/home/git/codegame.git-deploy/node_modules/jade/lib/jade.js:172:8), <anonymous>:617:22) at res (/home/git/codegame.git-deploy/node_modules/jade/lib/jade.js:173:38) at Object.exports.render (/home/git/codegame.git-deploy/node_modules/jade/lib/jade.js:269:10) at Object.exports.renderFile (/home/git/codegame.git-deploy/node_modules/jade/lib/jade.js:305:18) at View.exports.renderFile [as engine] (/home/git/codegame.git-deploy/node_modules/jade/lib/jade.js:290:21) at View.render (/home/git/codegame.git-deploy/node_modules/express/lib/view.js:93:8) at EventEmitter.app.render (/home/git/codegame.git-deploy/node_modules/express/lib/application.js:530:10) at ServerResponse.res.render (/home/git/codegame.git-deploy/node_modules/express/lib/response.js:904:7) |
28 luin 2014-12-02 22:19:26 +08:00 @a591826944 嗯嗯修上面的 bug 时数据没删掉,已经删好啦 |
29 a591826944 2014-12-02 22:19:40 +08:00 @luin 我问个问题。。我程序里面 有概率 随机转向 。。但是我运行的时候为什么不是随机的 而是 每次运行路线都一样 |
30 luin 2014-12-02 22:21:53 +08:00 @a591826944 可以看在 GitHub 上的讨论: https://github.com/luin/CodeGame/issues/15 总结就是为了保证比赛结果的一致性,Math.random 的随机种子是脚本本身的摘要。所以同一脚本每次运行的结果是一样的,但对单次运行而言,每次 random 都是随机的。如果有问题的话欢迎到 GitHub 上讨论~~ |
32 wtbhk 2014-12-02 22:34:37 +08:00 这个不是Zihua做的那个吗 |
33 sennes 2014-12-02 22:36:04 +08:00 发现slack不会用。是不是要先去slack注册一下? |
36 fyu2012 2014-12-02 23:10:24 +08:00 Javascript菜鸟来报名 [email protected] |
37 oyxhm 2014-12-02 23:36:41 +08:00 |
38 g0thic 2014-12-02 23:40:57 +08:00 支持 你..... |
39 outofbound 2014-12-03 07:21:52 +08:00 |
41 sailxjx 2014-12-03 09:33:11 +08:00 搭车参观 [email protected] |
42 hayeah OP |
43 Cee 2014-12-03 10:29:03 +08:00 支持一下! |
44 greatdk 2014-12-03 10:35:21 +08:00 看起来好好玩的样子 |
46 chairuosen 2014-12-03 10:57:53 +08:00 报名 chairuosen[at]Gmail |
49 ren2881971 2014-12-03 10:58:13 +08:00 没用js 搞过这个。 直接看开发文档就能开始撸了么? |
50 mcfog 2014-12-03 11:01:51 +08:00 随机地图呢(伸手) 固定地图针对性太强已累感不爱_> |
53 luin 2014-12-03 11:39:15 +08:00 @ren2881971 对的,直接看开发文档现在就可以写了。Hackathon 期间选手就不能互相对战了,现在还可以 |
54 loddit 2014-12-03 11:44:45 +08:00 |
55 Fei 2014-12-03 11:50:19 +08:00 支持! |
56 vnhwd 2014-12-03 11:51:20 +08:00 求围观~ @hayeah [email protected] |
57 typcn 2014-12-03 12:04:34 +08:00 感觉。。。还是不献丑了 |
60 littlewey 2014-12-03 12:21:43 +08:00 via iPhone 支持! |
61 bengol 2014-12-03 12:26:14 +08:00 |
62 lighttao 2014-12-03 12:38:30 +08:00 |
63 typcn 2014-12-03 12:46:51 +08:00 |
65 jc4myself 2014-12-03 12:55:07 +08:00 |
66 a591826944 2014-12-03 12:56:37 +08:00 @hayeah Slack我下好了 也注册了。。怎么进群? |
67 hayeah OP @a591826944 我发邀请到你邮箱了 |
68 datou552211 2014-12-03 12:59:14 +08:00 执行onIdle是不是也会消耗掉一帧? |
69 a591826944 2014-12-03 13:00:05 +08:00 @hayeah 搜噶。。刚刚看到 |
70 hayeah OP @datou552211 有邮箱不?加你到 codegame slack 小组 |
71 luin 2014-12-03 13:15:31 +08:00 @datou552211 有效指令和无效指令(撞到墙还 go 或者场上有你的子弹还 fire)都会消耗帧数,但是 onIdle 本身不会消耗。当然执行 onIdle 时表示你的坦克已经没有任何指令需要执行了,如果 onIdle 函数不发出新指令,坦克该帧就不会动了,等到下一帧会继续执行 onIdle。可以加 slack 来讨论具体规则~ |
72 greatdk 2014-12-03 13:20:00 +08:00 [email protected] 刚弄了个一动不动,直到对方坦克跑头上才开炮的AI,虐了第一名的,哈哈哈,不过如果对方是以吃星星为主的就不行了 |
76 datou552211 2014-12-03 14:10:42 +08:00 |
77 luin 2014-12-03 14:17:53 +08:00 @datou552211 不会等待的。流程是系统每帧会检查坦克有没有剩余可执行的指令,如果有则取出一个指令并执行它(每个指令都耗时一帧);如果没有则该帧坦克静止不动,然后引擎会执行 onIdle 函数并继续下一帧的循环(所以 onIdle 函数增加的指令会在下一帧执行)。 |
78 greatdk 2014-12-03 14:20:01 +08:00 卧槽宕机了?这个好好玩正在研究啊别死了啊 |
79 gkiwi 2014-12-03 14:21:14 +08:00 bugkiwi gmail 谢谢! |
80 blueandhack 2014-12-03 14:25:18 +08:00 blueandhack gmail.com |
82 greatdk 2014-12-03 14:44:53 +08:00 怎么一点运行就结束并且说赢的原因是『代码运行时间更短』? |
83 simapple 2014-12-03 15:00:08 +08:00 来晚了,频繁502 和超时 |
85 simapple 2014-12-03 15:16:07 +08:00 |
86 Esay 2014-12-03 15:19:21 +08:00 |
87 Esay 2014-12-03 15:20:32 +08:00 sorry,刚看到有最大帧数的限制 |
91 simonxia 2014-12-03 17:11:55 +08:00 子弹没有限制吧 [email protected] |
93 anyexxx 2014-12-03 18:03:42 +08:00 突然发现这周末没空 |
94 sharkli 2014-12-03 18:34:08 +08:00 mark |
95 shawnhill 2014-12-03 19:06:17 +08:00 |
96 zhuweiyou 2014-12-03 20:15:50 +08:00 |
97 greatdk 2014-12-03 20:39:48 +08:00 玩了一下午,还写了篇文章 http://www.wdk.pw/763.html |
99 Livid MOD PRO 好的,替换了。 |
100 typcn 2014-12-04 00:46:28 +08:00 via iPad 哈哈 上榜了 |