首页 > 其他 > 详细

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

时间:2020-07-10 14:38:56      阅读:64      评论:0      收藏:0      [点我收藏+]
技术分享图片
(点击图片进入关卡)

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

简介

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

你可以使用一个变量作为 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)
 
本攻略发于极客战记官方教学栏目,原文地址为:

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

原文:https://www.cnblogs.com/codecombat/p/13278790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!