zoukankan      html  css  js  c++  java
  • 「网易官方」极客战记(codecombat)攻略-沙漠-沙丘-the-dunes

    (点击图片进入关卡)

    看,沙漠,充满了荣耀、危机,当然还有沙子,很多很多的沙子。

    简介

    检查敌人类型 enemy.type ,以决定攻击哪些敌人

    if enemy.type == "sand-yak" or enemy.type == "burl":
        # 不要攻击这些类型的敌人。
    else:
        # 否则就是别的类型,那就攻击。

    默认代码

    # 收集硬币,忽略"sand-yak"和"burl"。
    while True:
        enemy = hero.findNearestEnemy()
        item = hero.findNearestItem()
        if enemy:
            if enemy.type == "sand-yak" or enemy.type == "burl":
                # 别攻击!赶紧收集硬币。

     

                    pass
                else:
                    # 否则,攻击。

     

                    pass

     

            elif item:
                # 收集硬币:移动到物品的位置。

     

                pass
            else:
                hero.moveXY(41, 31)
    # 当牦牛靠近时向右移动10米来躲避
    # 躲避4头牦牛完成此关
    while True:
        # 使用你的灵石获取你当前的 x 和 y 位置。
        x = hero.pos.x
        y = hero.pos.y

     

        # 找到最近的耗牛。
        yak = hero.findNearestEnemy()

     

        # 使用 if 仅仅当牦牛少于10米距离的时候。
        if hero.distanceTo(yak) < 10:
            # 向右移动,添加10到你的x位置。

     

            # 使用 moveXY 来移动!

     

            pass

     

    概览

    还记得濒危树瘤之战关卡吗? 本关中,我们将检查 enemy.type 属性,以确保只攻击食人魔,而不攻击 "sand-yak"或者 "burl" 类型。

    沙牦牛是强大凶猛的野兽,大小和速度各异。 如果你攻击或是离得太近,沙牦牛会立马踏平你。但如果你保持距离,它们就会保持平静。

    查看示例代码是如何使用或运算符的:

    if enemy.type == "sand-yak" or enemy.type == "burl":
        # 不要攻击!接着收集硬币。

    它的意思是,如果 这样 或者 那样,那么就 ... 这可以将 "sand-yak" 和 "burl" 两种类型的检查,合到一条if语句中。

    沙丘 解法

    # 收集硬币,忽略"sand-yak"和"burl"。
    while True:
        enemy = hero.findNearestEnemy()
        item = hero.findNearestItem()
        if enemy:
            if enemy.type == "sand-yak" or enemy.type == "burl":
                # 别攻击!赶紧收集硬币。
                if item:
                    hero.moveXY(item.pos.x, item.pos.y)
                    pass
                else:
                    # 否则,攻击。
                    hero.attack(enemy)
                    pass

     

            elif item:
                # 收集硬币:移动到物品的位置。
                hero.moveXY(item.pos.x, item.pos.y)
                pass
            else:
                hero.moveXY(41, 31)
     

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

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

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

  • 相关阅读:
    字符串(String)的创建,以及字符串的属性及方法
    javascript的对象、类和方法
    画布 canvas 的相关内容
    数组的创建,及数组的方法
    css的字体单位
    html中如何清除浮动
    配置adb环境变量连接模拟器安装软件及卸载
    Robot Framework环境搭建步骤
    搭建robotframwork+selenium2library自动化测试环境,简称RFS
    图像界面还原备份mysql
  • 原文地址:https://www.cnblogs.com/codecombat/p/12966946.html
Copyright © 2011-2022 走看看