zoukankan      html  css  js  c++  java
  • CodeCombat地牢关卡Python代码

    最近迷上了玩CodeCombat,特将地牢关卡的Python代码整理如下,供有兴趣的人学习交流探讨

    1,Kithgard地牢

    hero.moveRight()
    hero.moveDown()
    hero.moveRight()

    2,深藏的宝石

    hero.moveRight()
    hero.moveDown()
    hero.moveUp()
    hero.moveUp()
    hero.moveRight()

    3,幽灵守卫

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

    4,真实姓名

    hero.moveRight()
    hero.attack("Brak")
    hero.attack("Brak")
    hero.moveRight()
    hero.attack("Treg")
    hero.attack("Treg")
    hero.moveRight()
    hero.moveRight()

    5,高举之剑

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

    6,注解监牢

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

    7,Kithgard的图书管理员

    hero.moveRight()
    hero.say("Hush") 
    hero.moveRight()

    8,焰中舞动

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

    9,循环又循环

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

    10,闹鬼迷宫

    while True:
        # 在这里添加命令来重复。
        hero.moveRight()
        hero.moveRight()
        hero.moveUp()
        hero.moveUp()
        

    11,再次迷宫历险

    while True:
        hero.moveRight()
        hero.moveUp()
        hero.moveRight()
        hero.moveDown()

    12,恐惧之门

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

    13,已知敌人

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

    14,名字大师

    # 你的英雄不知道这些敌人的名字!
    # 这眼镜给了你 “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)

    15,近战

    hero.moveRight()
    enemy1 = hero.findNearestEnemy()
    # 现在,攻击那个变量,
    hero.attack(enemy1)
    hero.attack(enemy1)
    
    hero.moveRight()
    enemy2 = hero.findNearestEnemy()
    hero.attack(enemy2)
    hero.attack(enemy2)
    hero.moveRight()

    16,矮人骚乱

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

    17,最后的Kithman族

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

    18,KithGard之门

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

    可选关卡1:不祥的征兆

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

    可选关卡2:Kithgard精通

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

     感受:

    很有趣,通过游戏进行交互式学习编程。累了困了用这个提神也是很不错的方法~

  • 相关阅读:
    【转】【MFC】 StretchBlt绘图图像失真
    【转】MFC 各类型相互转换
    【转】MFC CListCtrl 使用技巧
    【数学】关于已知线段长度获取某一点对应线段的百分比
    【MySQL】MySQL 常用语法之锁表与解锁表
    C#通用类库
    WPF Knowledge Points
    WPF中的WndProc
    C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值
    c#正则获取html里面a标签href的值
  • 原文地址:https://www.cnblogs.com/OctoptusLian/p/7384831.html
Copyright © 2011-2022 走看看