欢迎来到 CodeTank 的世界,将会带你进入一个神奇而充满挑战的代码机器人的世界!
CodeTank(代码坦克)是全世界首个 Javascript 程序员的在线编程对战游戏,是由 腾讯 AlloyTeam 和 HTML5 梦工场联合出品的在线坦克仿真游戏平台,CodeTank 采用 HTML5、Javascript、CSS3、NodeJS、MongoDB 等全新 Web 技术来构建一个基于互联网的在线智能坦克机器人战斗仿真引擎(所以需要支持 HTML5 的浏览器来运行)。
{编程游戏} 也叫 {代码游戏},有许多软件是基于这种思想的,著名的 Robocode 就是来源于机器人大战 Robot Battle 这款软件。Robocode 是 2001 年 7 月在美国 IBM 的 Web alphaWorks 上发布的坦克机器人战斗仿真引擎。不过随时互联网的飞速发展,Robocode 已经开始变得落后。所以,现在有了 Javascript 语言的基于互联网的在线编程对战游戏——CodeTank 代码坦克!
相信每一个男人的内心深处,都有一份对坦克的特殊情结,而用 Javascript 代码来直接控制坦克进行战斗更是会让广大程序员热血沸腾的事情!欢迎大家访问我们的游戏网址:Http://CodeTank.AlloyTeam.com
CodeTank 代码坦克介绍
CodeTank 是一个非常有趣的竞赛性编程游戏平台,通过几行简单的 Javascript 代码和 CodeTank API,每个人都可以方便的构建属于自己富有智能和个性的坦克(Tank)机器人,并通过互联网进行在线互动和竞赛!因为 CodeTank 是纯正的 HTML5 的游戏,所以需要支持 HTML5 的浏览器来运行,经过测试通过的浏览器有 Chrome、Safari、Opera、Firefox、IE9+。
CodeTank 是 Code Game(代码游戏,也叫编程游戏)的一种,可以让你在娱乐的同时学习和提高 Javascript 编程水平以及进行人工智能的研究。它使用 HTML5、CSS3 等 Web 新技术构建的在线平台,天然的基于互联网,Tank 机器人的代码不需要人工上传下载,可以直接在线运行与其他选手进行战斗。
与通常玩的游戏不同的是:玩家需要使用 Javascript 对坦克机器人进行编程,通过给机器人设计智能的代码逻辑来指挥它探测敌人、发动攻击、躲避炮弹等等,而不是由键盘、鼠标直接控制。使用几行简单的代码,就能够让你创建一个活生生的坦克机器人(TankRobot),一个真正的在屏幕上与其他机器人互相对抗的机器人。
Tank 机器人除了可以灵活行走的 Tank 车身(Body)外,还配有雷达(Radar)和火炮(Gun),玩家在探测对手、攻击对手的时候,还需要躲避对手的进攻,在有限的能量消耗殆尽前看谁先把对方消灭,最终以击中目标和未被对手击中的次数来衡量得分的多少。
全世界 Javascript 程序员的游戏
Javascript 是目前世界上最精彩的语言,也是最被误解、最受争议的语言。Javascript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建 cookies,以及更多的应用,是属于网络的脚本语言,是目前互联网上最流行的脚本语言。
TIOBE 近日公布了 2012 年 3 月份的编程兵器谱排行榜,本月的排行榜最大的看点莫过于 Javascript 连升 2 名重新回到了第 8 名的位置,超越了 Perl 和 Python。
Javascript 的复苏使一些业界领袖人物也不得不开始重新审视这种编程语言。Stuart Halloway 曾经在一次 JS 的分享上说过:“在不久的将来,Javascript 将被公认为是一种拥有开发现代应用程序所需的一整套新特性的语言” 。他继而介绍说 Javascript 程序要比类似的 Java 程序紧密十倍。
目前 HTML5 和 NodeJs 受到了不少开发者的火热追捧预计,Javascript 的普及不久将会得到进一步的提升,Javascript 从过去装饰性的一种脚本语言转变为主流的编程语言,人们用它来开发更大更复杂的程序,这就需要 Web 开发人员更深入的了解 Javascript,了解它的过去、现在和未来。
所以 CodeTank 提供给广大初学 Javascript 的开发者一个新选择,通过 CodeTank 可以非常有趣的开始学习 Javascript。
CodeTank 使用 HTML5 的 Canvas 特性来渲染游戏画面,使用了 Javascript 的 OOP(面向对象编程)技术,通过这个编程游戏,初学 Javascript 的开发者会很容易上手写出一个可以在屏幕自由运动的坦克,可以大大提高对 Javascript 的编程兴趣,让你在娱乐的同时学习与提高 Javascript 知识和编程能力。
- CodeTank 编程游戏:Http://CodeTank.AlloyTeam.com
- CodeTank API 文档:Http://CodeTank.AlloyTeam.com/doc/
- CodeTank CheatSheet 速查表: Http://CodeTank.alloyteam.com/doc/cheatsheet.html
- CodeTank 使用教程:Http://CodeTank.AlloyTeam.com/help.html
CodeTank 的微博:
腾讯 AlloyTeam 荣誉出品
参见
文档手册
教程
主页
- CodeTank 官方网站
- CodeTank 坦克代码排名
Dony 2015 年 5 月 24 日
这游戏还在运营吗?我今天才看到,挺感兴趣的,可是怎么注册不了啊??
TAT.Cson 2015 年 5 月 24 日
你好 后台目前有些问题 我们会尽快修复
UF 2015 年 3 月 30 日
保存失敗機率 99% 阿…
重新整理就要重新登錄沒有用 cookie 記錄登陸訊息?
f0rb 2015 年 1 月 31 日
还有没有人在维护啊,怎么刷新一下就要重新登录
f0rb 2015 年 1 月 30 日
自动登录都没有?
sco 2015 年 1 月 21 日
不能注册
Vihan 2014 年 12 月 19 日
为什么不公开源码?
叫我神秘人 2014 年 11 月 21 日
登录按钮为什么没法动?
小D 2014 年 8 月 31 日
请问如何差错呢?光提示错误不知道怎么调试,不知道错误在哪里
还有,请问大神们 Math 函数能直接调用吗?
Jun 2014 年 8 月 11 日
难道就没人解决下吗?从星期五到今天已经 3 天了,都是拉取收藏夹失败,没人管的是吧?
cson 2014 年 8 月 13 日
现在应该可以呀
魂梦魂 2014 年 8 月 3 日
登录 和 注册 不了啊啊啊啊啊啊啊!!!!!!!
猴子大王 2014 年 7 月 31 日
onClick,onMouseXX 可以使用鼠标
onKeyXX 可以用键盘
为什么打字不是用 document。write 啊!
能用程序阴别人吗?
拉取个人坦克列表失败。
me too。
好多代码啊,除了原本会的,一时间还记不下来。
luo 2014 年 7 月 2 日
拉取个人坦克列表失败
也无法保存新建的坦克
Shadow 2014 年 6 月 26 日
问一下 Loop 的间隔时间是多少?
小李 2014 年 6 月 5 日
您好,我很想试玩。觉得这个好有趣又有感觉!!!
我初学,按上述教程写好后,一直提示保存不了
检查过,没有提示错误的红点,
我的代码如下,请问应该如何修改呢?
谢谢指导!!!!!期待尽快收到你的回复。
/**
* CODETANK
* Copyright (c) 2012, Tencent AlloyTeam, All rights reserved.
* http://CodeTank.AlloyTeam.com/
*
* @version 1.0
* @author AlloyTeam
*
* .d8888b. 888 88888888888 888 TM
* d88P Y88b 888 ””888”” 888
* 888 888 888 888 888
* 888 .d88b. .d88888 .d88b. 888 8888b. 88888b. 888 888
* 888 d88″”88b d88″ 888 d8P Y8b 888 “88b 888 “88b 888 .88P
* 888 888 888 888 888 888 88888888 888 .d888888 888 888 888888K
* Y88b d88P Y88..88P Y88b 888 Y8b. 888 888 888 888 888 888 “88b
* “Y8888P” “Y88P” “Y88888 “Y8888 888 “Y888888 888 888 888 888
*
*/
Jx().$package(function(J){
Robot = new J.Class({extend : tank.Robot},{
/**
*robot 主循环
**/
run:function(){
this.ahead(50);
this.turn(Math.PI*2);
this.back(50);
this.turn(-Math.PI);
this.say(“ 我找啊,找啊,找 Tank!”);
},
/**
*看到其他 robot 的处理程序
**/
onScannedRobot:function(e){
if(this.energy>=5){
var a=e.getBearing();
this.turn(a,function(){
this.fire(1);//看到敌人的时候开火
});
//this.ahead({distance:100});
}
this.say(“ 嘿,小样,我发现你了!!”,”deepskyblue”);
//this.back({distance:50});//开火后向后退 50 像素
},
onWin:function(){
this.say(“ 不好意思,我赢啦”,”yellow”);
},
/**
*被子弹击中的处理程序
**/
onHitByBullet:function(e){
this.say(“ 走开,不要打我了啦”,”#ffff00″);
//*this.cleanStateList();
},
/**
*和墙碰撞的处理程序
**/
onHitWall:function(e){
this.say(“ 惨了”,”#ffff00″);
},
onRobotDeath:function(e){
this.say(“ 下次再来”,”#ffff00″);
}
});
});
TAT.Kinvix 2014 年 6 月 30 日
已经修复了
丰月 2014 年 5 月 21 日
code tank 登录后拉取数据失败。。如何解决?我现在普通高中选修课需要用到此编程游戏。。希望管理员尽快解决。。。谢谢!
痴痴 2014 年 4 月 11 日
java N 年前出过的游戏了 你们又用 js 重新搞了一遍?
symie 2014 年 3 月 26 日
blob:http%3A//codetank.alloyteam.com….
Uncaught SyntaxError: Unexpected identifier
chromium 35
没法对战
Heiline 2014 年 3 月 25 日
亲,fire 的 BUG 泛滥的好腻害,现在各种刷分的啊~
cattail 2014 年 3 月 21 日
[ ‘f739614d44d1b29c164c3df362a9d9d0136445d5fb58fca6f5a0e3d8e7e212f0’,
‘f739614d44d1b29c164c3df362a9d9d0987d5fcb724de4a9f670266ee5bd9b30’,
‘f739614d44d1b29c164c3df362a9d9d0d91f9b9237517a01b34ed603d64043fe’,
‘f739614d44d1b29c164c3df362a9d9d09dd966661d3658001726d28a5693c0b9’,
‘f739614d44d1b29c164c3df362a9d9d0cf00f81760e613ccf90cd30ea61754f1’,
‘f739614d44d1b29c164c3df362a9d9d00ac09d038a62b38072f70105a6677e2f’,
‘f739614d44d1b29c164c3df362a9d9d0d0817ae7ae771f03ed7dd39de633e98f’,
‘f739614d44d1b29c164c3df362a9d9d01588a7492c75ab990f93d5c9a52987c0’,
‘f739614d44d1b29c164c3df362a9d9d01d22b0dedfb6aaf6a4145fdf36448a71’,
‘f739614d44d1b29c164c3df362a9d9d0663d31f8656e80459d86f42534bd4eab’,
‘f739614d44d1b29c164c3df362a9d9d08a7cf17fce12a78b336999c945fca680’,
‘f739614d44d1b29c164c3df362a9d9d021decd6aabeff416805864b8d6e41db9’,
‘f739614d44d1b29c164c3df362a9d9d0ed1524ae7c9b13302aa289f925495967’,
‘f739614d44d1b29c164c3df362a9d9d0c4316b1ed09ed4ce04379260c0d6320c’,
‘f739614d44d1b29c164c3df362a9d9d030892d6c9ca0e2a85c69d6113126bb63’ ]
cattail 2014 年 3 月 21 日
f739614d44d1b29c164c3df362a9d9d0136445d5fb58fca6f5a0e3d8e7e212f0