「网易官方」极客战记(codecombat)攻略-森林-边地之叉-backwoods-fork

 ̄綄美尐妖づ 提交于 2020-08-14 23:24:21
(点击图片进入关卡)

使用带参数的自定义函数简化代码!

简介

函数 是编码中的重要概念!将代码中单独的重复部分用函数表示,能使代码变得更加简洁。

函数通常需要 参数 。参数让函数具有更多灵活性,且不妨碍函数优化和简化代码的作用。参数在函数 调用 时被放到圆括号 () 之间。

被调用时的实际参数,在函数定义时同形式参数对应。

# 这个函数拥有一个参数:'target':

def checkAndAttack(target):

    # 'target'是预定义的变量。

    if(target):

        hero.attack(target)

enemy = hero.findNearestEnemy()

# 下面,'enemy'是参数,传递给checkAndAttack作为'target'。

checkAndAttack(enemy)

默认代码

# 使用 checkAndAttack 函数让代码易读。

# 这个函数有一个参数。

# 参数是一种给函数传递信息的方式。

def checkAndAttack(target):

    # 参数'target'只是一个变量!

    # 它包含了函数调用时的参数。

    if target:

        hero.attack(target)

    hero.moveXY(43, 34)

while True:

    hero.moveXY(58, 52)

    topEnemy = hero.findNearestEnemy()

    # 使用 checkAndAttack 函数,并使用 topEnemy 变量。

    checkAndAttack(topEnemy)

    # 移动到底部的X标记处。

    # 创建名为 bottomEnemy 的变量,寻找最近敌人。

    # 使用 checkAndAttack 函数,并使用 bottomEnemy 变量。

概览

函数 是代码的重要组成部分,能够将代码分割成独立的部分,帮助我们更好地理解代码。

函数 不仅能够执行独立动作,还能使用传入的参数。

实参 是函数调用时 () 内包含的信息。

形参 则是传入函数的信息在函数内所使用的变量。

# 函数名后面的'target'是'形参'。

# 形参作为新变量,装载从函数外传入的信息。

def checkAndAttack(target):

    # 'target'是形参预定义变量,只在函数内使用。

    if target:# 检验'target'是否存在。

        hero.attack(target) # 若是如此,那就攻击!

enemy = hero.findNearestEnemy()

# 下面的变量enemy是实参。

# 调用函数时使用实参,能够让函数基于输入内容做出不同动作。

# 这里,我们会攻击任意传入函数作为参数的敌人。

hero.checkAndAttack(enemy)

边地之叉 解法

# 使用 checkAndAttack 函数让代码易读。

# 这个函数有一个参数。

# 参数是一种给函数传递信息的方式。

def checkAndAttack(target):

    # 参数'target'只是一个变量!

    # 它包含了函数调用时的参数。

    if target:

        hero.attack(target)

    hero.moveXY(43, 34)

while True:

    hero.moveXY(58, 52)

    topEnemy = hero.findNearestEnemy()

    # 使用 checkAndAttack 函数,并使用 topEnemy 变量。

    checkAndAttack(topEnemy)


    # 移动到底部的X标记处。

    hero.moveXY(58, 16)

    # 创建名为 bottomEnemy 的变量,寻找最近敌人。

    bottomEnemy = hero.findNearestEnemy()

    # 使用 checkAndAttack 函数,并使用 bottomEnemy 变量。

    checkAndAttack(bottomEnemy)

 

本攻略发于极客战记官方教学栏目,原文地址为:

https://codecombat.163.com/news/jikezhanji-senlinbiandizhicha

极客战记——学编程,用玩的!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!