求教sarven 沙漠中克隆冲突沙漠风暴一关怎么过

codecombat之Sarven沙漠13-24关及森林45/46关代码分享
时间: 10:03:30
&&&& 阅读:797
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&codecombat中国游戏网址:
所有代码为javascript代码分享
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13、诱饵钻
//&我们在测试一个新的战斗单位:诱饵。
//&创建4个诱饵,然后汇报给&Naria
var&decoysBuilt&=&0;
&&&&var&item&=&this.findNearest(this.findItems());
&&&&//&掠夺金币!
&&&&var&x&=&item.pos.x&;
&&&&var&y&=&item.pos.y&;
&&&&this.moveXY(x,&y);
&&&&//&每个诱饵消费25个金币,使用石英灵石。
&&&&//&让它知道当你有超过25个金币的时候&this.gold.
&&&&if&(this.gold&&&25)&{
&&&&&&&&this.buildXY("decoy",&x,&y);
&&&&&&&&decoysBuilt&++&;
&&&&//&当你一直走的时候,保持统计你创建的诱饵的数量。
&&&&if&(decoysBuilt&==&4)&{
&&&&//&当你创建了4个诱饵时跳出循环
this.moveXY(14,&36);
this.say("完成创建诱饵!");
//&去找&Naria&并告诉她你创建了多少个诱饵。
this.say("4");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14、牦牛牵引
//&保护&brandy&避免那些冲来的口渴的耗牛!
//&收集金币来建造诱饵干扰耗牛。
//&使用旗子来决定什么时候在哪里建造诱饵。
&&&&var&flag&=&this.findFlag();
&&&&var&item&=&this.findNearest(this.findItems());
&&&&if&(flag)&{
&&&&&&&&if&(this.gold&&=&25)&{
&&&&&&&&&&&&var&x&=&flag.pos.x&;
&&&&&&&&&&&&var&y&=&flag.pos.y&;
&&&&&&&&&&&&this.buildXY("decoy",&x,&y);
&&&&&&&&this.pickUpFlag(flag);
&&&&if&(item)&{
&&&&&&&&var&goldx&=&item.pos.x&;
&&&&&&&&var&goldy&=&item.pos.y&;
&&&&&&&&this.moveXY(goldx,&goldy);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15、沙漠战役
//&while循环重复直到条件为假。
//&在while&循环内部执行动作,否认则它永远不能执行。
var&ordersGiven&=&0;
while&(ordersGiven&&&5)&{
&&&&//&在站场上移动和排列你的盟友。&(如果你是直接在他们面前,他们只能听到你的。
&&&&var&x&=&this.pos.x;
&&&&var&y&=&this.pos.y&-&9;
&&&&this.moveXY(x,&y);
&&&&this.say("Attack!");
&&&&ordersGiven&++&;
//&当你找到规律,加入攻击。
&&&&var&enemy&=&this.findNearest(this.findEnemies());
&&&&if&(enemy)&{
&&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&else&{
&&&&&&&&&&&&this.attack(enemy);
&&&&&&&&}&&&&&&&
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&总是采取行动在一个while循环,否则会无限!
//&使用循环直到你有足够的击杀10个芒奇金人&
var&hits&=&0;
this.moveXY(58,&30);
while&(hits&&&10)&{
&&&&var&enemy&=&this.findNearest(this.findEnemies());
&&&&if&(enemy)&{
&&&&&&&&this.attack(enemy);
&&&&&&&&hits&++&;
//&当你完成后,撤退到伏击点。
this.moveXY(79,&33);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17、Sarven&拯救
//&从强盗中救出农民并送她回到村。
//&选择适合你的路线,避开巡逻或直面迎接他们。
//&药水会有随机效果–有好的,也有不好的。
//&觉得自己很勇敢?如果你可以得到食人魔的财宝的话,就会得到奖励。
&&&&var&flag&=&this.findFlag();
&&&&var&enemy&=&this.findNearest(this.findEnemies());
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&if&(enemy)&{
&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&this.cleave(enemy);
&&&&&&&&else&{
&&&&&&&&&&&&this.attack(enemy);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18、神圣的雕像
同17关Sarven&拯救代码
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19、蜃景制造者
//&当你的金币小于25个的时候,收集金币。
//&然后建造诱饵来引诱食人魔离开路线。
//&当你的生命值满了,冲着小食人魔喊叫侮辱他们,引诱他们。
//&然后退回到你的基地伏击他们。
&&&&while&(this.gold&&&25)&{
&&&&&&&&var&mygold&=&this.findNearest(this.findItems()).
&&&&&&&&var&x&=&mygold.x&;
&&&&&&&&var&y&=&mygold.y&;
&&&&&&&&this.moveXY(x,&y);
&&&&this.buildXY("decoy",&72,&69);
&&&&var&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&if&(this.health&==&this.maxHealth)&{
&&&&&&&&this.say("Come&on&baby&!");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20、Sarven&救世主
//&一个数组就是物品的数列。
//&这个数组是一个朋友名字的数列。
var&friendNames&=&[‘Joan‘,&‘Ronan‘,&‘Nikita‘,&‘Augustus‘];
//&数组从零开始计数,不是1!
var&friendIndex&=&0;
//&循环该数组中的每一个名字
//&使用.lenght&属性来得到数组的长度。
while&(friendIndex&&&friendNames.length)&{
&&&&//&使用方括号来获得数组中的名字。
&&&&var&friendName&=&friendNames[friendIndex];
&&&&//&告诉你的朋友回家。
&&&&//&使用+来连接两个字符串。
&&&&this.say(friendName&+&‘,&go&home!‘);
&&&&friendIndex&++&;
&&&&//&增加索引来获取数组中的下一个名字
this.moveXY(22,&31);
this.buildXY("fence",&29,&30);
//&回去建造栅栏让食人魔远离。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21、奇数沙尘暴
//&这个数组包含朋友和食人魔。
//&偶数元素是食人魔,奇数元素是伙伴。
var&everybody&=&[‘Yetu‘,&‘Tabitha‘,&‘Rasha‘,&‘Max‘,&‘Yazul‘,&&‘Todd‘];
var&enemyIndex&=&0;
while&(enemyIndex&&&everybody.length)&{
&&&&//&使用方括号把食人魔的名字从数组中获取出来
&&&&var&enemyname&=&everybody[enemyIndex]&;
&&&&//&使用变量传入食人魔的名字,攻击它们。
&&&&this.attack(enemyname);
&&&&//&每次递增2,来跳过朋友。
&&&&enemyIndex&+=&2;
this.moveXY(36,&53);
//&在击败食人魔之后,向绿洲移动。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&用findEnemies把敌人存在数组enemies中
//&只攻击萨满巫师,不要攻击牦牛!
var&enemies&=&this.findEnemies();
var&enemyIndex&=&0;
//&把这段代码用一个while&loop&功能循环遍历所有的敌人
while&(enemyIndex&&&enemies.length)&{
&&&&var&enemy&=&enemies[enemyIndex];
&&&&if&(enemy.type&==&‘shaman‘)&{
&&&&&&&&while&(enemy.health&&&0)&{
&&&&&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&this.attack(enemy);
&&&&enemyIndex&++&;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&首先,在所有的敌人中循环...
var&enemies&=&this.findEnemies();
var&enemyIndex&=&0;
//&...但是仅攻击&‘thrower‘&类型的敌人。
//&别忘了使用你的特殊能力!
while&(enemyIndex&&&enemies.length)&{
&&&&if&(enemies[enemyIndex].type&==&"thrower")&{
&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&this.cleave(enemies[enemyIndex]);
&&&&&&&&else&{
&&&&&&&&&&&&this.attack(enemies[enemyIndex]);
&&&&enemyIndex&++&;
//&然后再到所有的敌人中循环...
enemies&=&this.findEnemies();
enemyIndex&=&0;
//&...干掉仍然活着的每个
while&(enemyIndex&&&enemies.length)&{
&&&&if&(this.isReady("cleave"))&{
&&&&&&&&this.cleave(enemies[enemyIndex]);
&&&&else&{
&&&&&&&&this.attack(enemies[enemyIndex]);
&&&&enemyIndex&++&;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24、Sarven&牧羊人
//&使用&while&循环来对付食人魔。
&&&&var&enemies&=&this.findEnemies();
&&&&var&enemyIndex&=&0;
&&&&while&(enemyIndex&&&enemies.length)&{
&&&&&&&&//&将攻击逻辑放到&while&循环里来攻击所有的敌人。
&&&&&&&&//&Find&the&array‘s&length&with:&enemies.length
&&&&&&&&var&enemy&=&enemies[enemyIndex];
&&&&&&&&//&"!="&意思是&"不等于"
&&&&&&&&if&(enemy.type&!=&"sand-yak")&{
&&&&&&&&&&&&//&当敌人的健康值大于0,攻击它!
&&&&&&&&&&&&if&(enemy.health&&&0)&{
&&&&&&&&&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&&&&&&&&&this.cleave(enemy);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else&if&(this.isReady("bash"))&{
&&&&&&&&&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else&{
&&&&&&&&&&&&&&&&&&&&this.attack(enemy);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&enemyIndex&++&;
&&&&//&在两波敌人之间,移动回中央。
&&&&this.moveXY(40,&32);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
番外篇:森林45关-野马
&&&&//&你怎么寻找最近的友好单位?
&&&&//&马=?
&&&&var&horse&=&this.findNearest(this.findFriends());
&&&&var&flag&=&this.findFlag();
&&&&if&(horse&)&{
&&&&&&&&var&x1&=&horse.pos.x&-&7;
&&&&&&&&var&x2&=&horse.pos.x&+&7;
&&&&&&&&if&(x1&&=&1)&{
&&&&&&&&&&&&//&移动到马的y坐标,但使用x1作为x坐标。
&&&&&&&&&&&&this.moveXY(x1,&horse.pos.y);
&&&&&&&&}&else&if&(x2&&=&79)&{
&&&&&&&&&&&&//&移动到马的y坐标,但使用x2作为x坐标。
&&&&&&&&&&&&this.moveXY(x2,&horse.pos.y);
&&&&&&&&var&distance&=&this.distanceTo(horse);
&&&&&&&&if&(distance&&=&10)&{
&&&&&&&&&&&&this.say("Whoa");
&&&&&&&&&&&&//&移到到红色的x来使马返回农场。&
&&&&&&&&&&&&//&移回牧场开始寻找下一匹马。
&&&&&&&&&&&&if&(flag)&{
&&&&&&&&&&&&&&&&this.pickUpFlag(flag);
&&&&&&&&&&&&}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
番外篇:森林46关-天启
//使用增加速度的装备
//&炮火的天启在接近我们!
//&在60秒内躲避炮弹。
//&提示:旗子可能派上用场,比如Coinucopia这关。
//&因为攻击是每次提交时随机的,所以你不能使用moveXY这个指令。
&&&&var&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
this.shield();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://my.oschina.net/comA/blog/499145
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!codecombat之Sarven沙漠25-37关代码分享-爱编程
codecombat之Sarven沙漠25-37关代码分享
codecombat中国游戏网址:
所有代码为javascript代码分享
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25、捡闪亮东西的人
//&很快的获取最多的金币
&&&&var&coins&=&this.findItems();
&&&&var&coinIndex&=&0;
&&&&while&(coinIndex&&&coins.length)&{
&&&&&&&&//&把这个封装进循环里枚举所有的硬币
&&&&&&&&var&coin&=&coins[coinIndex];
&&&&&&&&//&金币价值3点。
&&&&&&&&if&(coin.value&==&3)&{
&&&&&&&&&&&&//&只捡金币。
&&&&&&&&&&&&var&x&=&coin.pos.x&;
&&&&&&&&&&&&var&y&=&coin.pos.y&;
&&&&&&&&&&&&this.moveXY(x,&y);
&&&&&&&&coinIndex&++&;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//法师+恶龙法杖
&&&&var&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&if&(this.canCast("summon-fangrider"))&{
&&&&&&&&this.cast("summon-fangrider");
&&&&var&enemy&=&this.findNearest(this.findEnemies());
&&&&if&(enemy)&{
&&&&&&&&if&(this.canCast("regen"))&{
&&&&&&&&&&&&this.cast("regen",&this);
&&&&&&&&else&{
&&&&&&&&&&&&this.attack(enemy);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27、疯狂的&Maxer
//战士注意强化装备
//&优先杀掉最远的敌人。
&&&&var&farthest&=&
&&&&var&maxDistance&=&0;
&&&&var&enemyIndex&=&0;
&&&&var&enemies&=&this.findEnemies();
&&&&//&查看全部敌人,找出最远的那个。
&&&&while&(enemyIndex&&&enemies.length)&{
&&&&&&&&var&target&=&enemies[enemyIndex];
&&&&&&&&//&是不是有敌人比我们能看到的最远的敌人还要远?
&&&&&&&&var&distance&=&this.distanceTo(target);
&&&&&&&&if&(distance&&&maxDistance)&{
&&&&&&&&&&&&maxDistance&=&
&&&&&&&&&&&&farthest&=&
&&&&&&&&enemyIndex&+=&1;
&&&&if&(farthest)&{
&&&&&&&&//&干掉最远的敌人!
&&&&&&&&//&如果敌人血量大于0就保持攻击。
&&&&&&&&while&(farthest.health&&&0)&{
&&&&&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&&&&&this.cleave(farthest);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&if&(this.isReady("bash"))&{
&&&&&&&&&&&&&&&&this.bash(farthest);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&{
&&&&&&&&&&&&&&&&this.attack(farthest);
&&&&&&&&&&&&}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28、Sand&Snakes
//&This&field&is&covered&in&firetraps.&&Thankfully&we've&sent&a&scout&ahead&to&find&a&path.&&He&left&coins&along&the&path&so&that&if&we&always&stick&to&the&nearest&coin,&we'll&avoid&the&traps.
//&This&canyon&seems&to&interfere&with&your&findNearest&glasses!
//&You'll&need&to&find&the&nearest&coins&on&your&own.
&&&&var&coins&=&this.findItems();
&&&&var&coinIndex&=&0;
&&&&var&nearest&=&
&&&&var&nearestDistance&=&9999;
&&&&//&Loop&through&all&the&coins&to&find&the&nearest&one.
&&&&while(coinIndex&&&coins.length)&{
&&&&&&&&var&coin&=&coins[coinIndex];
&&&&&&&&coinIndex++;
&&&&&&&&var&distance&=&this.distanceTo(coin);
&&&&&&&&//&If&this&coin's&distance&is&less&than&the&nearestDistance
&&&&&&&&&&&&//&Set&nearest&to&coin
&&&&&&&&&&&&//&Set&nearestDistance&to&distance
&&&&&&&&if&(distance&&&nearestDistance)&{
&&&&&&&&&&&&nearset&=&coin&;
&&&&&&&&&&&&nearestDistance&=&distance&;
&&&&if&(nearset)&{
&&&&&&&&var&x&=&nearset.pos.x&;
&&&&&&&&var&y&=&nearset.pos.y&;
&&&&&&&&this.moveXY(x,&y);
&&&&//&If&there's&a&nearest&coin,&move&to&its&position.&You'll&need&moveXY&so&you&don't&cut&corners&and&hit&a&trap.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29、疯狂MAXER反击
//更换更好的装备
//&小一点的食人魔会造成更多的伤害!
//&优先攻击最少健康的食人魔
&&&&var&weakest&=&
&&&&var&leastHealth&=&99999;
&&&&var&enemyIndex&=&0;
&&&&var&enemies&=&this.findEnemies();
&&&&//&循环攻击所有敌人。
&&&&//&如果一个敌人的生命小于最小生命,
&&&&//&让它成为最弱的,并设置它的生命为&leastHealth
&&&&while&(enemyIndex&&&enemies.length)&{
&&&&&&&&var&enemy&=&enemies[enemyIndex]&;
&&&&&&&&if&(enemy.health&&&leastHealth)&{
&&&&&&&&&&&&weakest&=&enemy&;
&&&&&&&&&&&&leastHealth&=&enemy.health&;&
&&&&&&&&enemyIndex&++&;
&&&&if&(weakest)&{
&&&&&&&&//&攻击最弱的食人魔。
&&&&&&&&while&(weakest.health&&&0)&{
&&&&&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&&&&&this.bash(weakest);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&{
&&&&&&&&&&&&&&&&this.attack(weakest);
&&&&&&&&&&&&}&&&&&&&&&&&
NO.2使用巫师(拥有恶龙爪子法杖)
//&小一点的食人魔会造成更多的伤害!
//&优先攻击最少健康的食人魔
&&&&var&weakest&=&
&&&&var&leastHealth&=&99999;
&&&&var&enemyIndex&=&0;
&&&&var&enemies&=&this.findEnemies();
&&&&//&循环攻击所有敌人。
&&&&//&如果一个敌人的生命小于最小生命,
&&&&//&让它成为最弱的,并设置它的生命为&leastHealth
&&&&while&(enemyIndex&&&enemies.length)&{
&&&&&&&&var&enemy&=&enemies[enemyIndex]&;
&&&&&&&&if&(enemy.health&&&leastHealth)&{
&&&&&&&&&&&&weakest&=&enemy&;
&&&&&&&&&&&&leastHealth&=&enemy.health&;&
&&&&&&&&enemyIndex&++&;
&&&&if&(weakest)&{
&&&&&&&&if&(this.canCast("summon-fangrider"))&{
&&&&&&&&&&&&this.cast("summon-fangrider");
&&&&&&&&if&(this.canCast("regen"))&{
&&&&&&&&&&&&this.cast("regen",&this);
&&&&&&&&//&攻击最弱的食人魔。
&&&&&&&&while&(weakest.health&&&0)&{
&&&&&&&&&&&&this.attack(weakest);&&&&&&&&&&&
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30、疯狂&Maxer&卖光了
//&金币会在几秒钟之后消失!
//&在他们消失前,收集所有的金币。
&&&&var&closestGold&=&
&&&&var&minGoldDist&=&I
&&&&var&coinIndex&=&0;
&&&&var&coins&=&this.findItems();
&&&&//&找到最近的金币
&&&&//&记住,金币价值3点。
&&&&while&(coinIndex&&&coins.length){
&&&&&&&&var&coin&=&coins[coinIndex]&;
&&&&&&&&var&distance&=&this.distanceTo(coin);
&&&&&&&&if&(distance&&&minGoldDist&&&&coin.value&==&3)&{
&&&&&&&&&&&&closestGold&=&coin&;
&&&&&&&&&&&&minGoldDist&=&distance&;
&&&&&&&&coinIndex&++&;
&&&&if&(closestGold)&{
&&&&&&&&var&x&=&closestGold.pos.x&;
&&&&&&&&var&y&=&closestGold.pos.y&;
&&&&&&&&this.moveXY(x,&y);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31、疯狂的&Maxer&变得贪婪
//&比你的分身收集的金币多。
//&你只有几秒钟来收集金币,聪明的选择你的路线!
&&&&var&bestCoin&=&
&&&&var&maxRating&=&0;
&&&&var&coinIndex&=&0;
&&&&var&coins&=&this.findItems();
&&&&//&试着计算"价值/距离"来决定你要收集哪个金币。
&&&&while&(coinIndex&&&coins.length){
&&&&&&&&var&coin&=&coins[coinIndex]&;
&&&&&&&&var&distance&=&this.distanceTo(coin)&;
&&&&&&&&var&values&=&coin.value/distance&;
&&&&&&&&if&(values&&&maxRating)&{
&&&&&&&&&&&&maxRating&=&values&;
&&&&&&&&&&&&bestCoin&=&coin&;
&&&&&&&&coinIndex&++&;
&&&&if&(bestCoin)&{
&&&&&&&&var&x&=&bestCoin.pos.x&;
&&&&&&&&var&y&=&bestCoin.pos.y&;
&&&&&&&&this.moveXY(x,&y);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32、疯狂的&Maxer:兑现
//&你不能到你朋友那边去保卫他们!
//&告诉他们回家,弓箭手会帮助他们
&&&&var&weakestFriend&=&
&&&&var&leastHealth&=&9999;
&&&&var&friendIndex&=&0;
&&&&var&friends&=&this.findFriends();
&&&&//&告诉最弱的朋友先回家。
&&&&while&(friendIndex&&&friends.length)&{
&&&&&&&&var&friend&=&friends[friendIndex]&;
&&&&&&&&var&yourhealth&=&friend.health&;&&&&&&&&
&&&&&&&&if&(yourhealth&&&leastHealth)&{
&&&&&&&&&&&&weakestFriend&=&friend&;
&&&&&&&&&&&&leastHealth&=&yourhealth&;
&&&&&&&&friendIndex&++&;
&&&&if&(weakestFriend)&{
&&&&&&&&this.say("Hey&"&+&weakestFriend.id&+&",&go&home!");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33、Harrowland
//&使用你最聪明的编程技术来胜过你的对手!
&&&&var&weakestenemy&=&null&;
&&&&var&leasthealth&=&999999&;
&&&&var&enemys&=&this.findEnemies();
&&&&var&enemyindex&=&0&;
&&&&while&(enemyindex&&&enemys.length)&{
&&&&&&&&var&enemy&=&enemys[enemyindex]&;
&&&&&&&&var&health&=&enemy.
&&&&&&&&if&(health&&&leasthealth)&{
&&&&&&&&&&&&leasthealth&=&health&;
&&&&&&&&&&&&weakestenemy&=&enemy&;
&&&&&&&&enemyindex&++&;
&&&&if&(weakestenemy)&{
&&&&&&&&while&(weakestenemy.health&&&0)&{
&&&&&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&&&&&this.cleave(weakestenemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&if&(this.isReady("bash")){
&&&&&&&&&&&&&&&&this.bash(weakestenemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&{
&&&&&&&&&&&&&&&&this.attack(weakestenemy);
&&&&&&&&&&&&}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34、克隆冲突
//&你需要更好的策略和好的装备来赢得这关。
&&&&var&weakestenemy&=&null&;
&&&&var&leasthealth&=&999999&;
&&&&var&enemys&=&this.findEnemies();
&&&&var&enemyindex&=&0&;
&&&&while&(enemyindex&&&enemys.length)&{
&&&&&&&&var&enemy&=&enemys[enemyindex]&;
&&&&&&&&var&health&=&enemy.
&&&&&&&&if&(health&&&leasthealth)&{
&&&&&&&&&&&&leasthealth&=&health&;
&&&&&&&&&&&&weakestenemy&=&enemy&;
&&&&&&&&enemyindex&++&;
&&&&if&(weakestenemy&&&&this.distanceTo(weakestenemy)&&&40)&{
&&&&&&&&while&(weakestenemy.health&&&0)&{
&&&&&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&&&&&this.cleave(weakestenemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&if&(this.isReady("bash")){
&&&&&&&&&&&&&&&&this.bash(weakestenemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&{
&&&&&&&&&&&&&&&&this.attack(weakestenemy);
&&&&&&&&&&&&}
//&你需要更好的策略和好的装备来赢得这关。
&&&&var&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&var&weakf&=&
&&&&var&heal&=&99999&;
&&&&var&frindex&=&0&;
&&&&var&friends&=&this.findFriends();
&&&&while&(frindex&&&friends.length)&{
&&&&&&&&var&friend&=&friends[frindex]&;
&&&&&&&&var&health&=&friend.health&;
&&&&&&&&if&(health&&&heal)&{
&&&&&&&&&&&&weakf&=&friend&;&&&&&&&&&&&&
&&&&&&&&&&&&heal&=&
&&&&&&&&frindex&++&;
&&&&var&weakenemy&=&null&;
&&&&var&heals&=&99999&;
&&&&var&enemyindex&=&0&;
&&&&var&enemys&=&this.findEnemies();
&&&&while&(enemyindex&&&enemys.length)&{
&&&&&&&&var&enemy&=&enemys[enemyindex]&;
&&&&&&&&var&healths&=&enemy.health&;
&&&&&&&&if&(healths&&&heals)&{
&&&&&&&&&&&&weakenemy&=&enemy&;
&&&&&&&&&&&&heals&=&healths&;
&&&&&&&&enemyindex&++&;
&&&&if&(this.canCast("summon-fangrider"))&{
&&&&&&&&this.cast("summon-fangrider");
&&&&if&(weakf)&{
&&&&&&&&if&(this.canCast("regen"))&{
&&&&&&&&&&&&this.cast("regen",&weakf);
&&&&&&&&else&{
&&&&&&&&&&&&if&(this.distanceTo(weakenemy)&&&40)&{
&&&&&&&&&&&&&&&&this.attack(weakenemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35、Sarven&斗殴
//&活两分钟。
//&如果你赢了,本关会变得更难,更多奖励。
//&如果你输了,你必须等一天之后再提交。
//&记住,每次提交都会有新的随机种子。
&&&&var&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&var&enemy&=&this.findNearest(this.findEnemies());
&&&&if&(this.canCast("summon-fangrider"))&{
&&&&&&&&this.cast("summon-fangrider");
&&&&else&if&(&this.canCast("regen"))&{
&&&&&&&&this.cast("regen",&this);
&&&&else&{
&&&&&&&&if&(enemy&&&&this.distanceTo(enemy)&&&20)&{
&&&&&&&&&&&&this.attack(enemy);&
&&&&&&&&}&&&&&
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36、Sarven的宝藏
//&用传输机躲避食人魔收集150个金币
//&如果你赢了,会变得更难(并且有更多奖励)
//&如果你输了,需要等待一天再次挑战
//&记住,每次提交都会得到一个新的随机种子。
&&&&var&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&if&(this.canCast("summon-fangrider"))&{
&&&&&&&&this.cast("summon-fangrider");
&&&&else&if&(this.canCast("regen"))&{
&&&&&&&&this.cast("regen",&this);
&&&&else&{
&&&&&&&&var&golds&=&this.findNearest(this.findItems());
&&&&&&&&var&x&=&golds.pos.x&;
&&&&&&&&var&y&=&golds.pos.y&;
&&&&&&&&this.moveXY(x,&y);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37、Sarven&围困
//&Defend&your&towers&in&this&replayable&challenge&level!
//&Step&on&an&X&if&you&have&20&gold&to&build&a&soldier.
&&&&var&item&=&this.findNearest(this.findItems());
&&&&var&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&else&if&(this.canCast("summon-fangrider"))&{
&&&&&&&&this.cast("summon-fangrider");
&&&&else&if&(item)&{
&&&&&&&&var&x&=&item.pos.x&;
&&&&&&&&var&y&=&item.pos.y&;
&&&&&&&&this.moveXY(x,&y);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
版权所有 爱编程 (C) Copyright 2012. . All Rights Reserved.
闽ICP备号-3
微信扫一扫关注爱编程,每天为您推送一篇经典技术文章。codecombat之Sarven沙漠1-12关代码分享
时间: 13:40:57
&&&& 阅读:265
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&codecombat中国游戏网址:
所有代码为javascript代码分享
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&收集硬币,忽略砂耗牛和树榴。和投掷者,食人魔战斗。
&&&&enemy&=&this.findNearestEnemy();
&&&&item&=&this.findNearestItem();
&&&&flag&=&this.findFlag();
&&&&if&(flag)&{
&&&&&&&&this.pickUpFlag(flag);
&&&&if&(enemy)&{
&&&&&&&&if&(enemy.type&==&"sand-yak"&||&enemy.type&==&"burl")&{
&&&&&&&&&&&&//&别和砂耗牛,树榴打!赶紧收集硬币。
&&&&&&&&&&&&if&(item)&{
&&&&&&&&&&&&&&&&//&收集钱币。
&&&&&&&&&&&&&&&&var&itemp&=&item.pos&;
&&&&&&&&&&&&&&&&var&x&=&itemp.x&;
&&&&&&&&&&&&&&&&var&y&=&itemp.y&;
&&&&&&&&&&&&&&&&this.moveXY(x,&y);
&&&&&&&&&&&&}
&&&&&&&&//&但如果敌人的类型是『投掷者』或者『食人魔』,攻击他们
&&&&&&&&else&{
&&&&&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&&&&&this.cleave(enemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&{
&&&&&&&&&&&&&&&&this.attack(enemy);
&&&&&&&&&&&&}
&&&&}&else&if&(item)&{
&&&&&&&&//&收集钱币。
&&&&&&&&var&itempos&=&item.pos&;
&&&&&&&&var&x1&=&itempos.x&;
&&&&&&&&var&y1&=&itempos.y&;
&&&&&&&&this.moveXY(x1,&y1);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2、强壮的沙牦牛
//&当牦牛靠近时向右移动10米来躲避
//&躲避4头牦牛完成此关
&&&&//&使用&if&仅仅当牦牛少于10米距离的时候。
&&&&var&enemy&=&this.findNearestEnemy();
&&&&var&distance&=&this.distanceTo(enemy);
&&&&if&(distance&&&10)&{
&&&&&&&&var&x&=&this.pos.x&+&10;
&&&&&&&&var&y&=&this.pos.y;
&&&&&&&&this.moveXY(x,&y);&
&&&&//&向右移动加上你当前的&X&坐标
&&&&//&使用的灵石来感知&this.pos.&
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&向绿洲移动
//&but&move&left&to&avoid&nearby&yaks.
&&&&var&enemy&=&this.findNearestEnemy();
&&&&if&(enemy&&&&this.distanceTo(enemy)&&&10)&{
&&&&&&&&//&通过在你的X坐标上减去10来移动到左边
&&&&&&&&var&x&=this.pos.x&-&10&;
&&&&&&&&var&y&=this.pos.y&;
&&&&&&&&this.moveXY(x,&y);
&&&&}&else&{
&&&&&&&&//&通过在你的X坐标上加上10来移动到右边
&&&&&&&&var&x1&=&this.pos.x&+&10&;
&&&&&&&&var&y1&=&this.pos.y&;
&&&&&&&&this.moveXY(x1,&y1);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&到达绿洲。小心新的敌人:食人魔侦察兵!
//&通过添加你当前的X位置和Y位置以向上向右走
&&&&//&攻击任何你看到的敌人,或者一直向上向右走
&&&&var&enemy&=&this.findNearestEnemy();
&&&&if&(enemy)&{
&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&this.cleave(enemy);
&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&else&{
&&&&&&&&&&&&this.attack(enemy);
&&&&else&{
&&&&&&&&var&x&=&this.pos.x&+&10;
&&&&&&&&var&y&=&this.pos.y&+&10;&
&&&&&&&&this.moveXY(x,&y);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5、Sarven&的距离
//&每次向下移动10米,来走到绿洲。
//&在每个食人魔左边20米的位置建造栅栏。
&&&&enemy&=&this.findNearestEnemy();
&&&&if&(enemy)&{
&&&&&&&&//&在敌人左边建造20个单位的栅栏。
&&&&&&&&var&&buildpos&=&enemy.pos&;
&&&&&&&&var&x&=&buildpos.x&-&20&;
&&&&&&&&var&y&=&buildpos.y&;
&&&&&&&&this.buildXY("fence",&x,&y);
&&&&}&else&{
&&&&&&&&//&每次向下移动10个单位。
&&&&&&&&var&mypos&=&this.pos&;
&&&&&&&&var&myx&=&mypos.x&;
&&&&&&&&var&myy&=&mypos.y&-&10;
&&&&&&&&this.moveXY(myx,&myy);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&到达绿洲,
//&用栅栏引导砂牦牛到你去的地方
&&&&var&yak&=&this.findNearestEnemy();
&&&&if&(yak)&{
&&&&&&&&//&如果它的&y&值大于你的,那么耗牛在你前面
&&&&&&&&//&如果耗牛在你前面,在它后面10米建立一个栅栏
&&&&&&&&var&x&=&yak.pos.x&;
&&&&&&&&var&y&=&yak.pos.y&;
&&&&&&&&if&(yak.pos.y&&&this.pos.y)&{
&&&&&&&&&&&&y&-=&10&;
&&&&&&&&&&&&this.buildXY("fence",&x,&y);
&&&&&&&&//&如果耗牛在你后面,在它前面10m&建立一个栅栏
&&&&&&&&else&{
&&&&&&&&&&&&y&+=&10&;
&&&&&&&&&&&&this.buildXY("fence",&x,&y);
&&&&}&else&{
&&&&&&&&//&向右移动10走向绿洲
&&&&&&&&this.moveXY(this.pos.x&+&10,&this.pos.y);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7、医疗注意
//&向救助者求救,当你的生命低于1/3的时候
&&&&var&currentHealth&=&this.
&&&&var&healingThreshold&=&this.maxHealth&/&3;
&&&&var&enemy&=&this.findNearestEnemy();
&&&&//&如果你当前的健康值少于下限,
&&&&//&移动到治疗点说『heal&me』
&&&&//&否则的话,攻击。你需要战斗的更狠点!
&&&&if&(currentHealth&&&healingThreshold)&{
&&&&&&&&this.moveXY(65,&46);
&&&&&&&&this.say("『heal&me』");
&&&&else&{
&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&this.cleave(enemy);
&&&&&&&&else&{
&&&&&&&&&&&&this.attack(enemy);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8、大量牦牛受惊事件
//&通过挡住野兽们来的路来保护村庄。
//&移动到更近的红色&X&位置
//&建造一个栅栏
this.moveXY(70,&26);
this.moveXY(55,&17);
this.moveXY(12,&30);
this.moveXY(31,&51);
this.buildXY("fence",&38,&53);
this.moveXY(14,&29);
this.moveXY(71,&27);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//&让农民和他们的拯救者通过雷区。
//&移动金币,触发火焰陷阱。
//&The&mines&are&randomized,&so&use&findItems.
//&向后移动十米,然后喊『heal』&如果你的生命值低了。
&&&&var&items&=&this.findNearestItem();
&&&&if&(items)&{
&&&&&&&&var&item&=&items.
&&&&&&&&var&x&=&item.x&;
&&&&&&&&var&y&=&item.y&;
&&&&&&&&this.moveXY(x,&y);&&&&&&&&
&&&&if&(this.health&&&this.maxHealth&/&2)&{
&&&&&&&&this.moveXY(this.pos.x&-&10,&this.pos.y);
&&&&&&&&this.say("heal");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10、Sarven&哨兵
//&使用不同的颜色旗子来执行不同的任务。
&&&&var&flagGreen&=&this.findFlag("green");
&&&&var&flagBlack&=&this.findFlag("black");
&&&&var&flagViolet&=&this.findFlag("violet");
&&&&//&如果是绿色旗子,就建立一个栅栏。
&&&&if&(flagGreen)&{
&&&&&&&&var&flagpos&=&flagGreen.
&&&&&&&&var&x&=&flagpos.x&;
&&&&&&&&var&y&=&flagpos.y&;
&&&&&&&&this.pickUpFlag(flagGreen);
&&&&&&&&this.buildXY("fence",&x,&y);
&&&&//&如果是黑色旗子,就建立一个火焰陷阱
&&&&if&(flagBlack)&{
&&&&&&&&var&flagpos1&=&flagBlack.
&&&&&&&&var&x1&=&flagpos1.x&;
&&&&&&&&var&y1&=&flagpos1.y&;
&&&&&&&&this.pickUpFlag(flagBlack);
&&&&&&&&this.buildXY("fire-trap",&x1,&y1);
&&&&//&如果是紫罗兰色的旗子,就移动到目标位置。
&&&&&&&&if&(flagViolet)&{
&&&&&&&&this.pickUpFlag(flagViolet);
&&&&//&记住要捡起旗子,在你都完成之后!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11、节约时间
//&使用你的新技能来选择你要做什么&this.now()
&&&&//&如果是头十秒,进攻。
&&&&var&enemy&=this.findNearestEnemy();
&&&&if&(this.now()&&&10)&{
&&&&&&&&if&(enemy)&{
&&&&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&this.cleave(enemy);
&&&&&&&&&&&}
&&&&&&&&&&&else&{
&&&&&&&&&&&&&&&this.attack(enemy);
&&&&&&&&&&&}&&&&&&&&&&&&
&&&&else&if&(this.now()&&&30)&{
&&&&&&&&var&item&=&this.findNearestItem();
&&&&&&&&var&x&=&item.pos.x&;
&&&&&&&&var&y&=&item.pos.y&;
&&&&&&&&this.moveXY(x,&y);
&&&&//&否则的话,如果是前30秒,收集金币。
&&&&//&后30秒,加入救助。
&&&&else&if&(enemy)&{
&&&&&&&&if&(this.isReady("bash"))&{
&&&&&&&&&&&&this.bash(enemy);
&&&&&&&&if&(this.isReady("cleave"))&{
&&&&&&&&&&&&this.cleave(enemy);
&&&&&&&&else&{
&&&&&&&&&&&&this.attack(enemy);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12、囤积黄金
//&收集25金币,然后告诉&Naria&总数
//&使用&break&来停止收集金币当金币总数大于25.
var&totalGold&=&0;
&&&&var&coin&=&this.findNearestItem();
&&&&//&捡起金币
&&&&var&x&=&coin.pos.x&;
&&&&var&y&=&coin.pos.y&;
&&&&this.moveXY(x,&y);
&&&&//&将金币的价值加进&totalGold.(查看帮助了解更多.)
&&&&//&得到它的价值用:&&coin.value
&&&&totalGold&+=&coin.
&&&&if&(totalGold&&=&25)&{
&&&&&&&&//&&=意思是总金币数大于等于25
&&&&&&&&//&这会中断循环并且执行循环下面的语句
//&完成收集金币!
this.moveXY(58,&33);
//&去找&Naria&告诉他你收集了多少金币
this.say(totalGold);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://my.oschina.net/comA/blog/498590
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!}

我要回帖

更多关于 冲突沙漠风暴 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信