「网易官方」极客战记(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()
 
 
本攻略发于极客战记官方教学栏目,原文地址为:
 
 
原文地址:https://www.cnblogs.com/codecombat/p/13177201.html