「网易官方」极客战记(codecombat)攻略-沙漠-山谷的风与牛-canyon-of-storms

「网易官方」极客战记(codecombat)攻略-沙漠-山谷的风与牛-canyon-of-storms_第1张图片
(点击图片进入关卡)

向野牛学习怎么躲避自然灾害

简介

风暴即将到来,但在到达之前你还有一点时间收集硬币。 观察沙牦牛,他们知道风暴何时开始。

你可以使用一个变量作为 while 循环的条件,只要确保它在循环中不断更新!

# 初始化条件:
yak = hero.findNearestEnemy()
while yak:
    # 做材料...
    # 更新循环条件:
    yak = hero.findNearestEnemy()

默认代码

# 沙漠风暴!收衣服啦!!
# 牛牛检测到风暴迹象
# 把变量做为执行条件
yak = hero.findNearestEnemy()
# 至少还有一只牛牛在场时:
while yak:
    item = hero.findNearestItem()
    if item:
        hero.moveXY(item.pos.x, item.pos.y)
    # 更新变量`yak`的值
    # 使用findNearestEnemy()

 

    pass
# 牛没了!
# 快去撤离点:红X

概览

就像我们用 enemy 作为 if 陈述的条件来确定敌人的存在:

enemy = hero.findNearestEnemy()
if enemy:
    hero.attack(enemy)

我们也可以使用 enemy (或 yak ,在这个级别)作为 while 循环的条件:

enemy = hero.findNearestEnemy()
while enemy:
    # 有敌人的时候做点什么
    #一定要更新敌人循环的敌人!
    enemy = hero.findNearestEnemy()

山谷的风与牛 解法

# 沙漠风暴!收衣服啦!!
# 牛牛检测到风暴迹象
# 把变量做为执行条件
yak = hero.findNearestEnemy()
# 至少还有一只牛牛在场时:
while yak:
    item = hero.findNearestItem()
    if item:
        hero.moveXY(item.pos.x, item.pos.y)
    # 更新变量`yak`的值
    # 使用findNearestEnemy()
    yak = hero.findNearestEnemy()
# 牛没了!
# 快去撤离点:红X
hero.moveXY(38, 58)
 
本攻略发于极客战记官方教学栏目,原文地址为:
https://codecombat.163.com/news/jikezhanji-shangudefengheniu
极客战记——学编程,用玩的

你可能感兴趣的:(「网易官方」极客战记(codecombat)攻略-沙漠-山谷的风与牛-canyon-of-storms)