首页 > 其他 > 详细

【网易官方】极客战记(codecombat)攻略-森林-盗墓者tomb-raider

时间:2020-01-17 17:41:19      阅读:82      评论:0      收藏:0      [点我收藏+]
技术分享图片
一座被遗忘的墓地!

简介

技术分享图片

记得参数是一种给函数传递信息的方式。它是函数被调用时预定义的变量,包含在 () 内。

def checkAndEat(target):
    if target.type == "fruit":
        hero.eat(target)
    else:
        hero.toss(target)
while True:
    hero.moveUp()
    nearestTree = hero.findNearestTree()
    food = hero.harvest(nearestTree)
    checkAndEat(food)

默认代码

# 森林中一座被遗忘的墓地!
# 但是食人魔紧追不舍。
# 在防御矮人的同时破开坟墓
# 这个函数应该在敌人存在时攻击,否则攻击门!
def checkToDefend(target):
    # 检查`target`是否存在
        # 如果是这样,攻击`target`。
    # 如果没有`target`,使用else去做点别的事
        # 否则攻击 "Door"
    pass
while True:
    enemy = hero.findNearestEnemy()
    checkToDefend(enemy)

概览

是时候填入函数体并用函数让代码简洁明了了!

记住,parameter(参数)是将信息传递到独立函数中的方式。它是一个预定义的变量,包含调用执行时函数之后() 内的内容。参见下列代码,看函数是如何调用的:

# 这里‘定义‘了一个函数:
def moveUpAndDown():
    hero.moveUp()# 这里是在调用moveUp函数。
    hero.moveDown()# 这里是在调用moveDown函数。
hero.say("我在说话!") #这是在调用say方法。
moveUpAndDown() # 这是在调用自定义的moveUpAndDown方法。

盗墓者 解法

# 森林中一座被遗忘的墓地!
# 但是食人魔紧追不舍。
# 在防御矮人的同时破开坟墓
# 这个函数应该在敌人存在时攻击,否则攻击门!
def checkToDefend(target):
    # 检查`target`是否存在
    if target:
        # 如果是这样,攻击`target`。
        hero.attack(target)
    # 如果没有`target`,使用else去做点别的事
    else:
        # 否则攻击 "Door"
        hero.attack("Door")
while True:
    enemy = hero.findNearestEnemy()
    checkToDefend(enemy)
 
 
本攻略发于极客战记官方教学栏目,原文地址为:

【网易官方】极客战记(codecombat)攻略-森林-盗墓者tomb-raider

原文:https://www.cnblogs.com/codecombat/p/12202029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!