• 「网易官方」极客战记(codecombat)攻略-沙漠-囤积黄金-hoarding-gold


    (点击图片进入关卡)

    如果你让贪婪的欲望指挥你,你会永远迷失于沙漠里。

    简介

    在正常结束之前使用 break 语句来停止循环。

    默认代码

    # 收集25金币,然后告诉 Naria 总数
    # 当金币总数大于25,使用 break 来停止收集金币。
    totalGold = 0
    while True:
        coin = hero.findNearestItem()
        if coin:
            # 捡起金币

     

            # 将金币的价值加进 totalGold.(查看帮助了解更多.)
            # 使用以下方法得到它的价值:: coin.value

     

        pass
        if totalGold >= 25:
            # 这会中断循环并且执行循环下面的语句
            # 循环结束后,运行循环后的代码。
            break
    # 完成收集金币!
    hero.moveXY(58, 33)
    # 去告诉 Naria 你收集了多少金币。

    概览

    在这关你会学到如何手动 break (中断, 跳出) 一个循环.

    当你 break 一个循环时, 循环会马上终止运行, 并且你的程序将会执行循环之后的代码.

    第一件要做的事是使用 moveXY 和金币的 pos 属性来捡起你发现的金币.

    然后, 确保你使用金币的 value 属性将捡起的金币的价值加到你的 totalGold 计数器. 对于绝大部分的编程语言, 代码看上去像这样:

    # 像这样相加:
    totalGold = totalGold + coin.value
    # 或者这样:
    totalGold += coin.value

    示例代码会教你, 当 totalGold 大于或等于 25 时, 怎么中断一个循环.

    顺便说下, 为了告诉 Naria 你有多少金币, 你可以只用 say(totalGold) , 不过你喜欢来点花样的话…… 你可以用字符串连接运算符, 像这样:

    hero.say("你好 Naria,我收集了 " + totalGold + " 金币!")

    囤积黄金 解法

    # 收集25金币,然后告诉 Naria 总数
    # 当金币总数大于25,使用 break 来停止收集金币。
    totalGold = 0
    while True:
        coin = hero.findNearestItem()
        if coin:
            # 捡起金币
            hero.moveXY(coin.pos.x, coin.pos.y)
            # 将金币的价值加进 totalGold.(查看帮助了解更多.)
            # 使用以下方法得到它的价值:: coin.value
            totalGold += coin.value
        if totalGold >= 25:
            # 这会中断循环并且执行循环下面的语句
            # 循环结束后,运行循环后的代码。
            break
    # 完成收集金币!
    hero.moveXY(58, 33)
    # 去告诉 Naria 你收集了多少金币。
    hero.say(totalGold)
     
    本攻略发于极客战记官方教学栏目,原文地址为:
  • 相关阅读:
    HOT: AgentFramework 即将发布
    关于配置 Apache + SVN 1.5 + SSL
    LINQ to SQL(LINQ2SQL) vs. ADO.NET Entity Framework(ADOEF)ccBoy版 阅读笔记
    关于导出属性
    linq to sql 与linq to entities的选择
    linq to sql 算ORM吗?
    匿名方法实现(转)
    Aop中动态横切与静态横切
    老张的灵魂——敏捷回顾
    忙于webmis中
  • 原文地址:https://www.cnblogs.com/codecombat/p/13253255.html
Copyright © 2020-2023  润新知