(点击图片进入关卡)
返回到 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()
本攻略发于极客战记官方教学栏目,原文地址为: