• 「网易官方」极客战记(codecombat)攻略-沙漠-Kithgard 魔术师-kithgard-enchanter


    (点击图片进入关卡)

    返回到 Kithgard 地牢,这次是函数强大!

    简介

    记住更简单的时代,回到 Kithgard 地牢吧,当时你只需要一双简单的靴子为你的生活奔跑?

    那么这次你连靴子都没有!

    你需要通过 moveRight , moveUp 和 moveDown 函数来附魔你自己的靴子!

    默认代码

    # 定义您自己的简单移动函数。
    # 定义moveRight
    # 注意:每个功能都应该移动英雄12米!
    def moveRight():
        x = hero.pos.x + 12
        y = hero.pos.y
        hero.moveXY(x, y)
    # 定义moveUp
    # 定义moveDown
    # 现在,使用这些函数!
    moveRight()
    moveDown()
    moveUp()
    moveUp()
    moveRight()

    概览

    函数是编码的重要组成部分。

    你一直在使用函数:任何时候你写代码像:

    hero.attack(enemy)

    ... 你正在调用(或调用)一个名为 attack 的函数。

    当您调用 attack 时执行的实际代码很长且很复杂。 想象一下,如果你每次想要挥动剑,都必须在程序中写 25 行代码! 这是函数的第一个好处:它将一大堆代码缩减为一行。

    这不仅可以避免您一遍又一遍地重新输入相同的代码, 它还使代码更容易理解,因为它需要的是真正复杂的逻辑(“OK,所以我要攻击”。 我有武器吗?我离我的武器够近了吗? 使用我的武器需要多长时间? 我打? 我是否会造成伤害?“),并使其容易理解: attack 。

    现在你不仅要调用函数,还要定义你自己的函数!

    定义一个函数有两个部分: 名称和主体.

    这个名称是以后用来调用函数的函数,比如 attack 。

    正文是调用该函数时将执行的代码。

    有时候也有争论(比如用 attack(enemy) 敌人),但是我们会在以后的关卡里讨论。

    Kithgard 魔术师 解法

    # 定义您自己的简单移动函数。
    # 定义moveRight
    # 注意:每个功能都应该移动英雄12米!
    def moveRight():
        target = {"x": hero.pos.x + 12, "y": hero.pos.y}
        x = hero.pos.x + 12
        y = hero.pos.y
        hero.moveXY(x, y)
    # 定义moveUp
    def moveUp():
        target = {"x": hero.pos.x, "y": hero.pos.y + 12}
        x = hero.pos.x
        y = hero.pos.y + 12
        hero.moveXY(x, y)
    # 定义moveDown
    def moveDown():
        target = {"x": hero.pos.x, "y": hero.pos.y - 12}
        x = hero.pos.x
        y = hero.pos.y - 12
        hero.moveXY(x, y)
    # 现在,使用这些函数!
    moveRight()
    moveDown()
    moveUp()
    moveUp()
    moveRight()
     
     
    本攻略发于极客战记官方教学栏目,原文地址为:
     
     
  • 相关阅读:
    每日日报16
    每日日报15
    每日日报14
    每日日报13
    每日日报12
    每日日报11
    每日日报10
    每日作业报告
    每日作业报告
    每日作业报告
  • 原文地址:https://www.cnblogs.com/codecombat/p/13177201.html
Copyright © 2020-2023  润新知