codecombat中国游戏网址:
http://www.codecombat.cn/
所有代码为javascript代码分享
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31、为援兵坚持住
// 食人魔正在爬悬崖
// 为集结民兵组织保护足够长时间的农民。
loop {
var flag = this.findFlag();
var enemy = this.findNearestEnemy();
if (flag) {
// 捡旗子
this.pickUpFlag(flag);
}
else if (enemy) {
// 否则,攻击!
// 使用旗子移动到指定位置,如果收割技能冷却,就使用收割技能。
if (this.isReady("cleave")) {
this.cleave(enemy);
}
else {
this.attack(enemy);
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32、致命追逐
// 收集金币使用旗子来建造陷阱
// 你在这处理这些食人魔
loop {
var flag = this.findFlag();
var item = this.findNearestItem();
if (flag) {
this.pickUpFlag(flag);
var flagpos = flag.pos ;
var x = flagpos.x ;
var y = flagpos.y ;
this.buildXY("fire-trap", x, y);
}
else if (item) {
var itempos = item.pos ;
var m = itempos.x ;
var n = itempos.y ;
this.moveXY(m, n);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33、敏捷的匕首
// 长距离用你的弓,短距离用匕首
loop {
var enemy = this.findNearestEnemy();
if (enemy) {
var distance = this.distanceTo(enemy);
if (distance < this.throwRange) {
// 向敌人扔你的匕首
this.throw(enemy);
}
else {
// 用你的弓攻击敌人
this.attack(enemy);
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34、弹片
// 使用炸药干掉食人魔
// 然后用你的弓干掉他们
loop {
var enemy = this.findNearestEnemy();
if (enemy) {
if (this.isReady("throw")) {
var distance = this.distanceTo(enemy);
// 如果食人魔距离多于15米的时候,扔炸药炸他
// 使用 if 来比较距离和15
if (distance > 15) {
this.throw(enemy);
}
// 使用 else 来攻击它如果你不能够炸它
else {
this.attack(enemy);
}
}
else {
this.attack(enemy);
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35、死亡之触
// 在短距离中释放你的『吸取生命』技能。
// 使用你的法丈在远距离攻击。
loop {
var enemy = this.findNearestEnemy();
if (enemy) {
var distance = this.distanceTo(enemy);
if (distance < 15) {
// 在敌人里释放『吸取生命』技能。
this.cast("drain-life", enemy);
}
else {
// 使用你的盟友攻击敌人。
this.attack(enemy);
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36、修骨者
// 拯救盟友的士兵来突围
loop {
if (this.canCast("regen")) {
var bernardDistance = this.distanceTo("Bernard");
if (bernardDistance < 10) {
// Bernard需要治疗!
this.cast("regen", "Bernard");
}
// 使用『if』和『distanceTo』来治疗 Chandra
// 如果她小于10米的距离。
var chandraDistance = this.distanceTo("Chandra");
if (chandraDistance < 10) {
this.cast("regen", "Chandra");
}
}
else {
// 如果你没有执行 regen,使用 if 和 distanceTo
// 来攻击那些小于一定距离的敌人 this.attackRange.
var enemy = this.findNearestEnemy();
if (enemy !== null) {
this.attack(enemy);
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37、强攻农舍
//注意更换更好的装备
// 士兵会慢慢到达,但是食人魔会淹没他们。
// 基本的攻击循环是不能够让你活下来的
loop {
var flag = this.findFlag();
var enemy = this.findNearestEnemy();
if(flag) {
this.pickUpFlag(flag);
}
if (this.findNearestItem()) {
var itempos = this.findNearestItem().pos;
var x = itempos.x ;
var y = itempos.y ;
this.moveXY(x, y);
}
else {
if (this.canCast("drain-life")) {
this.cast("drain-life", enemy);
}
else if (this.canCast("regen")) {
this.cast("regen", this);
}
else if (enemy !== null) {
this.attack(enemy);
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38、不公平的支持
// 偷偷穿过森林,伏击萨满。
// 听从指挥官Craig 小心接近中的敌人。
// 放置旗子后,按提交。
loop {
var flag = this.findFlag();
var enemy = this.findNearestEnemy();
var distance = this.distanceTo("Commander Craig");
if (flag){
// 捡起旗子。
this.pickUpFlag(flag);
}
else if (distance < this.attackRange) {
this.cast("regen", "Commander Craig");
}
else if (enemy){
// 攻击视野内的敌人。
this.attack(enemy);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39、战术时机
// 帮助前线。
// 如果任何人溜,放回一个旗子。
loop {
var enemy = this.findNearestEnemy();
var flag = this.findFlag();
if (flag) {
this.pickUpFlag(flag);
}
else if (this.canCast("drain-life")) {
this.cast("drain-life", enemy);
}
else if (this.canCast("regen")) {
this.cast("regen", this);
}
else {
this.attack(enemy);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40、林间空地末日
//我使用了活动获得物品龙爪法杖
// 一波食人魔靠近,使用旗子赢得战役!
loop {
var flag = this.findFlag();
var enemy = this.findNearestEnemy();
if (flag) {
this.pickUpFlag(flag);
}
else if (this.canCast("summon-fangrider")) {
this.cast("summon-fangrider");
}
else if (enemy) {
if (this.canCast("regen")) {
this.cast("regen", this);
}
else {
this.attack(enemy);
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41、保卫要塞
代码同40关-林间空地末日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42、边远宝藏
// 从2~3个树丛里 收集100个金币
// 如果你赢了,会变得更难(并且有更多奖励)
// 如果你输了,需要等待一天再次挑战
// 记住,每次提交都会得到新的随机种子。
// 从2~3个树丛里 收集100个金币
// 如果你赢了,会变得更难(并且有更多奖励)
// 如果你输了,需要等待一天再次挑战
// 记住,每次提交都会得到新的随机种子。
loop {
var flag = this.findFlag();
var item = this.findNearestItem();
if (this.canCast("summon-fangrider")) {
this.cast("summon-fangrider");
}
if (flag) {
this.pickUpFlag(flag);
}
if (this.canCast("regen")) {
this.cast("regen", this);
}
if (item) {
var itemp = item.pos ;
var x = itemp.x ;
var y = itemp.y ;
this.moveXY(x, y);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43、野外逃亡
// 生存一分钟。
// 如果你赢了,这关卡将会变得更难(以及更好的奖励)。
// 如果你输了,你必须等待24小时后才能再次挑战。
// 记得,每一次提交都会获得不同的地图。
loop {
var flag = this.findFlag();
var item = this.findNearestItem();
var enemy = this.findNearestEnemy();
if (this.canCast("summon-fangrider")) {
this.cast("summon-fangrider");
}
if (flag) {
this.pickUpFlag(flag);
}
if (this.canCast("regen")) {
this.cast("regen", this);
}
if (enemy) {
this.attack(enemy);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44、失落的维京
// 你必须点击帮助按钮查看本关的详细描述
// 乌鸦会告诉你这些迷宫的参数都是什么用处!
// 你已经向北走了多少sideSteps,距离红色X 标记。
var sideSteps = 1;
// 你已经向东走了多少步,距离红色X 标记。
var steps = 1;
// 用步数乘以这个来确定你的 X 坐标,别修改这个!
var X_PACE_LENGTH = 4;
// 用sideSteps成衣这个来确定你的 Y 坐标,别修改这个!
var Y_PACE_LENGTH = 6;
// 这个迷宫在 X 方向有35步
while(steps <= 35) {
// 进行下一步:
this.moveXY(steps * X_PACE_LENGTH, sideSteps * Y_PACE_LENGTH);
// 根据特殊规则,增加合适的步数和 sideSteps
steps++;
if (steps <= 6) {
sideSteps ++ ;
}
if (steps > 6 && steps <= 11) {
sideSteps -- ;
}
if (steps == 12) {
sideSteps += 5 ;
}
if (steps == 14) {
sideSteps -= 4 ;
}
if (steps > 15 && steps <= 18) {
sideSteps ++ ;
}
if (steps > 18 && steps <= 21) {
sideSteps -- ;
}
if (steps > 22 && steps <=23) {
sideSteps += 3 ;
}
if (steps > 33 && steps <= 34) {
sideSteps ++ ;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~