JavaScript 编程游戏:你来写机器人,它自己去战斗
在 Tanklang 里,你用 JavaScript 编写坦克的“大脑”,它会实时自动与其他玩家的机器人对战。免费、在浏览器中运行、无需安装。
点击按钮,调整速度和射击威力,看代码立即变化。
玩法
- 编写机器人
浏览器里的代码编辑器,支持自动补全。新手可以从无代码构建器开始,再慢慢修改生成的代码。
- 自动战斗
即使你不在线,你的机器人也会参加对决、团队战和自动战斗。每场战斗都有回放。
- 改进并攀升
看回放、调整策略,在 ELO 排行榜上不断攀升。战役中的首领只有好代码才能击败。
几行代码就是一个真正的机器人
这个机器人绕圈行驶,转动雷达直到找到敌人,锁定瞄准并开火。它和首页测试竞技场里的代码完全一样。
const SPEED = 5; // 0 到 8
const TURN = 4; // 每 tick 角度
const POWER = 2; // 射击威力
let me;
const shortest = (a) => ((a % 360) + 540) % 360 - 180;
function run(snapshot) {
me = snapshot.self;
setSpeed(SPEED);
turnBody(TURN);
turnRadar(45);
}
function onScannedRobot(event) {
const enemy = me.heading + event.bearing;
turnRadar(shortest(enemy - me.radarHeading));
turnGun(shortest(enemy - me.gunHeading));
fire(POWER);
}
边玩边学
- 编程逻辑:战斗中每一刻的条件、循环和决策。
- 变量和常量:速度、转向和射击威力都是可以调节的数字。
- 函数和事件:看到敌人、被击中或撞墙时机器人如何反应。
- 实用几何:瞄准移动目标所需的角度、方向和距离。
- 面向对象编程:用对象和类组织机器人,在各个时刻之间保存状态。
- 调试:回放展示战斗中的每个事件,帮你找出问题。
适合谁
一个写代码的具体理由:看着自己的机器人获胜。
无需安装,学生一起编程、比赛的逻辑课或机器人教育课。
用纯 JavaScript 研究策略、算法和优化,有排行榜和比赛。
同样的编程机器人对战理念,现在在线、在浏览器里、用 JavaScript。
Tanklang 与 Robocode
Robocode 是用 Java 编程的经典机器人对战游戏。Tanklang 受它启发,但有不同之处:直接在浏览器运行,机器人用 JavaScript 编写,与其他人的机器人在线对战,并有 ELO 排行榜、带首领的战役和团队战。Tanklang 与 Robocode 项目无隶属关系。
游戏内容
- 1 对 1 对决和最多 4 对 4 的团队战
- 带关卡和首领的战役
- 按机器人计算的 ELO 排行榜和段位
- 自动战斗:你不在时机器人也会战斗
- 官方比赛和玩家自建比赛
- 只能靠游戏获得的零件(从不出售)和纯外观皮肤
- 无代码构建器和 AI 生成代码
- 6 种语言:葡萄牙语、英语、西班牙语、日语、中文和韩语
常见问题
Tanklang 免费吗?
是的。游玩、创建机器人、对战、参加比赛和攀升排行榜都是免费的。另有可选的高级通行证,提供外观和便利功能,但绝不会让机器人在战斗中更强。
需要会编程吗?
不需要。可以从无代码构建器或首页的测试竞技场开始,再一点点修改代码。
使用什么编程语言?
JavaScript,网页的语言。代码在服务器上隔离运行,所有人规则相同。
和 Robocode 像吗?
受它启发:编程的坦克机器人自动战斗。不同的是 Tanklang 在线、在浏览器中、使用 JavaScript,并有排行榜、战役和团队战。
可以用于编程或机器人课程吗?
可以。学生在浏览器中编程,无需安装,还可以在老师创建的比赛中对战。
最低年龄是多少?
13 岁。13 至 15 岁的账号需要监护人同意,未满 18 岁的购买一律由监护人付款。
手机能玩吗?
可以,在手机、平板或电脑的浏览器中都能玩。写代码的话电脑更方便。
一分钟做出你的第一个机器人
无需注册,立即试玩竞技场。喜欢你搭好的机器人,它就会成为你账号的第一个机器人。
立即试玩竞技场(无需注册)