Codecombat游戏攻略(计算机科学三)2

更新时间:2023-07-03 22:37:53 阅读: 评论:0

Codecombat游戏攻略(计算机科学三)2第33关逻辑之路
判断cretB ⾮真,⾛上⾯;否则,⾛下⾯(这⾥⾯要先⾃⼰进⾏逻辑判断)
if…el语句
或者这样⽤(不⽤⾃⼰进⾏判断)
// 如果 cretB ⾮真,⾛上⾯;否则,⾛下⾯。
var cretE = !cretB;
if (cretE) {
} el {
}
/
/ 从巫师那得到两个秘密的true/fal值。
// 查看提⽰,可以了解如何编写逻辑表达式。
var cretA = hero.findNearestFriend().getSecretA();
var cretB = hero.findNearestFriend().getSecretB();
// 如果 cretA 和 cretB 都为真,⾛上⾯的路;否则,⾛下⾯。
var cretC = cretA && cretB;
if (cretC) {
} el {
}
// 如果 cretA 或 cretB 有⼀个为真,⾛上⾯;否则,⾛下⾯。
if (cretA || cretB) {
} el {
}
// 如果 cretB ⾮真,⾛上⾯;否则,⾛下⾯。
if (cretB) {
} el {
}
第三⼗四关逻辑之圈
注意逻辑判断
// 移动到巫师旁,获得他的秘密值。
英语四级词组var cretA = hero.findNearestFriend().getSecretA();
var cretB = hero.findNearestFriend().getSecretB();
var cretC = hero.findNearestFriend().getSecretC();
// 如果所有三个值都为真,则⾛上⾯。
// 否则,往下⾛。保存第四个值。
var cretD = cretA && cretB && cretC;
if (cretD) {
} el {
}
// 如果三个值中的任何⼀个为真,则往左⾛。
// 否则,向右⾛。保存第五个值。
if (cretA || cretB || cretC) {
} el {
}
// 如果所有五个值都为真,则⾛上⾯。
// 否则,⾛下⾯。
if (cretA && cretB && cretC) {
返回英文} el {
}
第三⼗五关逻辑结论
运算符优先级
或与⾮优先于and
// 移动到 'Eszter' ⾝边,从她那得到三个秘密值。
var cretA = hero.findNearestFriend().getSecretA();
var cretB = hero.findNearestFriend().getSecretB();
var cretC = hero.findNearestFriend().getSecretC();
// 如果A AND B为真,或者如果C为真,对'Tamas'说"TRUE"。否则说"FALSE"
// 记得⽤括号让逻辑顺序正确。
var tam = cretA && cretB || cretC;
熊孩子的故事
hero.say(tam);
// 如果A OR B为真,且如果C为真,对'Zsofi'说"TRUE"。否则说"FALSE"
if (cretA || cretB && cretC) {
hero.say("true");
} el {
hero.say("fal");
}
// 如果A OR C为真,且如果B OR C为真,对'Istvan'说"TRUE"。否则说"FALSE" veXY(37, 34);
if (cretA || cretC && cretB || cretC) {
hero.say("true");
} el {
hero.say("fal");
}
// 如果A AND B为真,或者如果B为真且C为⾮真,对'Csilla'说"TRUE"。否则说"FALSE" veXY(40, 22);
if (cretA && cretB || cretB && cretC) {
hero.say("true");
} el {
hero.say("fal");
}
挑战或与⾮
使⽤while循环
先检查是否有enemy或是item,再进⾏判断;
// 只在`type`是"potion"或"lightstone"的情况下收集物品。
// 如果敌⼈类型`type`不是"burl",且距离⼩于15⽶,则攻击敌⼈。
while (true) {
var item = hero.findNearestItem();
周时if (item) {
if (pe == "potion" || pe == "lightstone") {
}
}
var enemy = hero.findNearestEnemy();
var distance = hero.distanceTo(enemy);
if (enemy) {
if (pe != "burl" && distance < 15) {
hero.attack(enemy);
}
}
}
第三⼗六关强壮的沙牦⽜
为变量赋值
-
= 赋值运算符
// 当牦⽜靠近时,向右移动10⽶来躲避。
// 躲避4头牦⽜来通过此关。
while (true) {
// 获取英雄当前位置的x和y坐标。
天窗教案var x = hero.pos.x;
var y = hero.pos.y;
// 找到最近的耗⽜。
var yak = hero.findNearestEnemy();
// 如果到牦⽜的距离⼩于10:
if (hero.distanceTo(yak) < 10) {
/
/ 向右移动,在英雄位置的x坐标值基础上加10。        x += 10;
// 使⽤moveXY(x, y)来移动!
}
}
第三⼗七关绿洲
-=赋值运算符
// 向右移动以到达绿洲,
// 向左移动以避免附近的牦⽜。
while (true) {
var x = hero.pos.x;
var y = hero.pos.y;
var enemy = hero.findNearestEnemy();
if (enemy && hero.distanceTo(enemy) < 10) {
// ⽤x减10来向左移动。
x -= 10;
// 使⽤moveXY移动到新的x,y位置。
} el {
// ⽤x加10来向右移动。
x += 10;
// 使⽤moveXY移动到新的x,y位置。
}
}
第三⼗⼋关 SARVEN路
+= 赋值运算符
// 朝绿洲前进。⼩⼼新的敌⼈:⾷⼈魔侦察兵!
// 通过增加当前的x和y坐标值来向右上移动。
while (true) {
// 如果有敌⼈,则攻击。
var enemy = hero.findNearestEnemy();
if (enemy) {
hero.attack(enemy);
}    // 否则,继续向右上移动。
el {
var x = hero.pos.x;
var y = hero.pos.y;
x += 10;
y += 10;
}
}
挑战⼲燥灌溉
/
/ 沿斜线,向左移动6⽶,向上移动4⽶。
// 击败你发现的敌⼈,然后再次移动。
while (true) {
var x = hero.pos.x;
var y = hero.pos.y;
var enemy = hero.findNearestEnemy();
x -= 6;
y += 4;
if (enemy) {
hero.attack(enemy);
}
}
第三⼗九关 SARVEN间隙
赋值给变量也可以,直接写也可以hero.pos.y;
// 每次向下移动10⽶,朝绿洲移动。
// 在每个⾷⼈魔左边20⽶的位置建造围栏。
while (true) {
var enemy = hero.findNearestEnemy();
if (enemy) {
// 在敌⼈左边20个单位处使⽤buildXY建造⼀段"fence"
var x = enemy.pos.x;
var y = enemy.pos.y;
x -= 20;
hero.buildXY("fence", x, y);
} el {
// 向下使⽤moveXY移动10⽶。
var a = hero.pos.y;
a -= 10;
}
}
第四⼗关⼗字路⼝
/
/ 使⽤ "fire-trap"打败⾷⼈魔。
while (true) {
var enemy = hero.findNearestEnemy();
if (enemy) {
// 如果敌⼈在英雄的左侧:
if (enemy.pos.x < hero.pos.x) {
// 在左侧X处使⽤buildXY建造⼀个"fire-trap"。
hero.buildXY("fire-trap", 25, 34);    // 如果敌⼈在英雄的右侧:        } el if (enemy.pos.x > hero.pos.x) {
// 在右侧X处使⽤buildXY建造⼀个"fire-trap"。
hero.buildXY("fire-trap", 55, 34);    // 如果敌⼈在英雄下⾯。        } el if (enemy.pos.y < hero.pos.y) {
// 在下⾯的X处使⽤buildXY建造⼀个"fire-trap"。
hero.buildXY("fire-trap", 40, 19);    // 如果敌⼈在英雄上⾯。        } el if (enemy.pos.y > hero.pos.y) {
// 在上⾯的X处使⽤buildXY建造⼀个"fire-trap"。
hero.buildXY("fire-trap", 40, 49);
}
}
// 移动回中⼼。
}
第四⼗⼀关截断
// 站在农民和塔之间。
while (true) {
防止铁生锈的方法
var enemy = hero.findNearestEnemy();
var friend = hero.findNearestFriend();
// 通过将friend.pos.x和enemy.pos.x相加来计算x
// 然后除以2。
// 如需更多帮助,请查看指南!
var aa = (enemy.pos.x + friend.pos.x) / 2;
// 现在对y做同样的事情
var bb = (friend.pos.y + enemy.pos.y) / 2;
// 移动到计算得到的X和Y坐标。
}
第四⼗⼆关雷蹄
if/el语句
// 向右朝绿洲移动。
// 看到牦⽜时,在上⽅或是下⽅建造⼀段"fence"
while (true) {
var yak = hero.findNearestEnemy();
if (yak) {行距怎么设置
// 如果yak.pos.y⼤于hero.pos.y
if (yak.pos.y > hero.pos.y) {
// 使⽤buildXY在牦⽜下⽅10⽶处建造⼀段"fence"            hero.buildXY("fence", yak.pos.x, yak.pos.y - 10);        }    // 否则:
el {
// 使⽤buildXY在牦⽜上⽅10⽶处建造⼀段"fence"            hero.buildXY("fence", yak.pos.x, yak.pos.y + 10);        }
}
// 使⽤moveXY向右朝绿洲移动10⽶。
}
第四⼗三关  KITHGARD附魔师函数声明和调⽤
// 定义你⾃⼰的简单移动函数。
// 定义moveRight
// 注意:每个函数都应该让英雄移动12⽶!
function moveRight() {
var x = hero.pos.x + 12;
var y = hero.pos.y;
}
// 定义moveDown
function moveDown() {
var a = hero.pos.x;
var b = hero.pos.y - 12;
菊花的样子描写}
// 定义moveUp
function moveUp() {
var c = hero.pos.x;
var d = hero.pos.y + 12;
}
// 现在,使⽤这些函数!
moveRight();

本文发布于:2023-07-03 22:37:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1076842.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:移动   逻辑   位置   绿洲   英雄   函数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图