• [Python] Codecombat 攻略 地牢 Kithgard (1-22关)


    首页:https://cn.codecombat.com/play
    语言:Python

    第一界面:地牢 Kithgard(22关)
    时间:1-3小时
    内容:语法、方法、参数、字符串、循环、变量等
    网页:https://cn.codecombat.com/play/dungeon

    闯关:
    第1关:地牢 Kithgard
    子网页:https://cn.codecombat.com/play/level/dungeons-of-kithgard?

    # 向宝石进发。
    # 小心撞墙!
    # 在下面输入你的代码。
    
    hero.moveRight()
    hero.moveDown()
    hero.moveRight()

    第2关:深藏的宝石
    子网页:https://cn.codecombat.com/play/level/gems-in-the-deep?

    # 利用你的移动命令收集所有宝石。
    
    hero.moveRight()
    hero.moveDown()
    hero.moveUp()
    hero.moveUp()
    hero.moveRight()

    第3关:幽灵守卫
    子网页:https://cn.codecombat.com/play/level/shadow-guard?

    # 避开食人魔的视线,夺取宝石。
    
    hero.moveRight()
    hero.moveUp()
    hero.moveRight()
    hero.moveDown()
    hero.moveRight()

    第4关:不详的征兆
    子网页:https://cn.codecombat.com/play/level/signs-and-portents?

    # 你的目标是保护地图右边的人存活。
    # 你不需要和食人巨怪打,只管逃命!你的盟友会保护你。
    
    hero.moveRight()
    hero.moveRight()
    hero.moveUp()
    hero.moveRight()
    hero.moveRight()
    hero.moveRight()
    hero.moveDown()
    hero.moveRight()
    hero.moveDown()
    hero.moveRight()
    hero.moveRight()

    第5关:真实姓名
    子网页:https://cn.codecombat.com/play/level/true-names?

    # 抵抗Brak and Treg!
    # 你必须攻击小食人魔两次。
    
    hero.moveRight()
    hero.attack("Brak")
    hero.attack("Brak")
    hero.moveRight()
    hero.attack("Treg")
    hero.attack("Treg")
    hero.moveRight()
    hero.moveRight()

    第6关:高举之剑
    子网页:https://cn.codecombat.com/play/level/the-raised-sword?

    # 打败食人魔
    # 记住,每个攻击两次。
    
    hero.attack("Rig")
    hero.attack("Rig")
    hero.attack("Gurt")
    hero.attack("Gurt")
    hero.attack("Ack")
    hero.attack("Ack")
    hero.moveRight()

    第7关:注解监狱
    子网页:https://cn.codecombat.com/play/level/cell-commentary?

    hero.say("密码是什么?")
    # 使用"say()"函式来说出密码.
    # 密码是: "Achoo"
    
    hero.say("Achoo")
    hero.moveUp()
    hero.moveUp()

    第8关:kithguard的图书馆管理员
    子网页:https://cn.codecombat.com/play/level/kithgard-librarian?

    # 你需要图书馆大门的开门密码!
    # 密码就在帮助指导页面中!
    # 请点击代码窗口下的蓝色“帮助”按钮来打开关卡的帮助页面。
    # 大多数关卡的帮助页面中有详细的帮助信息。如果你在关卡中遇到了困难,请点击“帮助”按钮!
    
    hero.moveRight()
    hero.say("我还不知道密码呢!") #
    hero.say("Hush")
    hero.moveRight()

     

    第9关:焰中舞动
    子网页:https://cn.codecombat.com/play/level/fire-dancing?

    # 代码通常按写下的顺序执行
    # 循环多次重复一个代码块
    # 按Tab或4个空格把移动指令缩进在循环内部
    
    while True:
        hero.moveRight()
        # 以下注释展示如何制造循环
        hero.moveLeft()

    第10关:循环又循环
    子网页:https://cn.codecombat.com/play/level/loop-da-loop?

    # 在 while true 里的代码会永远重复!
    
    while True:
        # 走起
        hero.moveRight()
        # 动起来
        hero.moveUp()
        # 左走
        hero.moveLeft()
        # 右走
        hero.moveDown()

    第11关:闹鬼迷宫
    子网页:https://cn.codecombat.com/play/level/haunted-kithmaze?

    # “loop” 能够让你更轻易地重复一件事
    
    while True:
        # 在这里添加命令来重复。
        hero.moveRight()
        hero.moveRight()
        hero.moveUp()
        hero.moveUp()

    第12关:再次迷宫历险
    子网页:https://cn.codecombat.com/play/level/the-second-kithmaze?

    # 使用loop循环穿越迷宫!
    
    while True:
        hero.moveRight()
        hero.moveUp()
        hero.moveRight()
        hero.moveDown()

    第13关:恐惧之门
    子网页:https://cn.codecombat.com/play/level/dread-door?

    # 攻击大门(Door)
    # 需要攻击很多次,请使用loop循环
    
    while True:
        hero.attack("Door")

    第14关:已知敌人
    子网页:https://cn.codecombat.com/play/level/known-enemy?

    # 你可以用名称标签作为变量。
    
    enemy1 = "Kratt"
    enemy2 = "Gert"
    enemy3 = "Ursa"
    
    hero.attack(enemy1)
    hero.attack(enemy1)
    hero.attack(enemy2) hero.attack(enemy2)
    hero.attack(enemy3) hero.attack(enemy3)

    第15关:名字大师
    子网页:https://cn.codecombat.com/play/level/master-of-names?

    # 你的英雄不知道这些敌人的名字!
    # 这眼镜给了你 “findNearestEnemy” 寻找最近敌人的能力。
    
    enemy1 = hero.findNearestEnemy()
    hero.attack(enemy1)
    hero.attack(enemy1)
    
    enemy2 = hero.findNearestEnemy()
    hero.attack(enemy2)
    hero.attack(enemy2)
    
    enemy3 = hero.findNearestEnemy()
    hero.attack(enemy3)
    hero.attack(enemy3)

    第16关:近战
    子网页:https://cn.codecombat.com/play/level/closing-the-distance?

    hero.moveRight()
    
    # 通过上一个关卡,你应该能认识这个。
    enemy1 = hero.findNearestEnemy()
    # 现在,攻击那个变量,
    hero.attack(enemy1)
    hero.attack(enemy1)
    hero.moveRight()
    
    enemy2 = hero.findNearestEnemy()
    hero.attack(enemy2)
    hero.moveRight()

     

    第17关:矮人骚乱
    子网页:https://cn.codecombat.com/play/level/a-mayhem-of-munchkins?

    # 在 while true循环里,使用 findNearestEnemy() 并攻击!
    
    while True:
        enemy = hero.findNearestEnemy()
        hero.attack(enemy)

    第18关:最后的Kithman族
    子网页:https://cn.codecombat.com/play/level/the-final-kithmaze?

    # 使用loop循环移动并攻击目标
    
    while True:
        hero.moveRight()
        hero.moveUp()
        enemy = hero.findNearestEnemy()
        hero.attack(enemy)
        hero.attack(enemy)
        hero.moveRight()
        hero.moveDown()
        hero.moveDown()
        hero.moveUp()

    第19关:Kithgard之门
    子网页:https://cn.codecombat.com/play/level/kithgard-gates?

    # 建造三个栅栏来隔离兽人!
    
    hero.moveDown()
    hero.buildXY("fence", 36, 34)
    hero.buildXY("fence", 36, 30)
    hero.buildXY("fence", 36, 27)
    hero.moveRight()
    hero.moveRight()
    hero.moveRight()

    【竞技AI】第20关:洞穴求生
    子网页:https://cn.codecombat.com/play/level/cavern-survival?

    # 生存时间比敌人的英雄长!
    while True: # 制定自己的战略。有创意! enemy = hero.findNearestEnemy() hero.attack(enemy) if hero.distanceTo(enemy) < 3: while hero.isReady("cleave"): hero.cleave(enemy)

    【挑战升级】第21关:Kithgard斗殴
    子网页:https://cn.codecombat.com/play/level/kithgard-brawl?

    第一次:

    # 在一波波的食人魔攻击中活下来。
    # 如果你赢了,本关会变得更难,但给更多的奖励。
    # 如果你输了,你必须等一天之后才能重新提交。
    # 每次提交都会获得新的随机种子。
    
    while True:
        enemy = hero.findNearestEnemy()
        item = hero.findNearestItem()
        while item:
            hero.moveXY(item.pos.x, item.pos.y)
            break
        if enemy:
            if hero.isReady("cleave"):
                hero.cleave(enemy)
            else:
                hero.attack(enemy) 

    第二次:【未通关】

    # 在一波波的食人魔攻击中活下来。
    # 如果你赢了,本关会变得更难,但给更多的奖励。
    # 如果你输了,你必须等一天之后才能重新提交。
    # 每次提交都会获得新的随机种子。
    
    while True:
        flag = hero.findFlag("green")
        enemy=hero.findNearestEnemy()
        item = hero.findNearestItem()
        if flag:
            hero.pickUpFlag(flag)
        if item:
            hero.moveXY(item.pos.x, item.pos.y)
        if enemy:
            if hero.isReady("cleave"):
                hero.cleave(enemy)
            elif hero.isReady("bash"):
                hero.bash(enemy)
            else:
                hero.attack(enemy)

    【直接升级】第22关:Kithgard精通(每过段时间英雄的路线会更新,所以每个用户不完全一样)
    子网页:https://cn.codecombat.com/play/level/kithgard-mastery? 

    # 使用移动命令到达迷宫的终点。
    # 计算你收集到的宝石数量,然后在到达火球陷阱时通过说出当前的宝石数量来使陷阱失效。
    # 在起点的地方会有一只乌鸦告诉你一个密码。在门的附近说出该密码来开门。
    # 当你靠近食人魔时杀死它。
    # 你可以在需要的时候使用loop来重复所有的指令。
    # 如果你通过了这个关卡,你就可以直接跳到边远地区的森林!
    
    while True:
        hero.moveRight()
        hero.moveUp(2)
        enemy = hero.findNearestEnemy() 
        hero.attack(enemy)
        hero.moveLeft()
        hero.moveUp(2)
        hero.moveRight(2)
        hero.moveUp()
        hero.moveDown()
        hero.moveRight()
        hero.moveDown(2)
        hero.say("1")
        hero.say("2")
        hero.moveDown(2)
        hero.say("Swordfish")
        hero.moveRight(2)

    初学Python。

    请多指教。

    -----转载请注明出处,否则作者有权追究法律责任。

  • 相关阅读:
    唯一元素List UniqueList
    汉诺塔 Hanoi 递归示例demo附代码
    TreeView控件保存恢复结点展开状态
    F#个人学习笔记2(F# survey)
    F#个人学习笔记1(F# survey)
    多文件上传控件(附示例下载)
    由desktopsavemode引起的Emacs配置失效
    Emacs+hideif.el 隐藏预编译代码(或彩色显示预编译代码)
    Emacs的Tab键
    Emacs+highlightparentheses高亮括号
  • 原文地址:https://www.cnblogs.com/learningpython-xinersubai/p/7658898.html
Copyright © 2020-2023  润新知