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

1,Kithgard地牢

  1. hero.moveRight()
  2. hero.moveDown()
  3. hero.moveRight()

2,深藏的宝石

  1. hero.moveRight()
  2. hero.moveDown()
  3. hero.moveUp()
  4. hero.moveUp()
  5. hero.moveRight()

3,幽灵守卫

  1. # 避开食人魔的视线,夺取宝石。
  2. hero.moveRight()
  3. hero.moveUp()
  4. hero.moveRight()
  5. hero.moveDown()
  6. hero.moveRight()

4,真实姓名

  1. hero.moveRight()
  2. hero.attack("Brak")
  3. hero.attack("Brak")
  4. hero.moveRight()
  5. hero.attack("Treg")
  6. hero.attack("Treg")
  7. hero.moveRight()
  8. hero.moveRight()

5,高举之剑

  1. # 打败食人魔
  2. # 记住,每个攻击两次。
  3. hero.moveRight()
  4. hero.attack("Rig")
  5. hero.attack("Rig")
  6. hero.attack("Gurt")
  7. hero.attack("Gurt")
  8. hero.attack("Ack")
  9. hero.attack("Ack")

6,注解监牢

  1. hero.say("密码是什么?")
  2. # 使用"say()"函式来说出密码.
  3. # 密码是: "Achoo"
  4. hero.say("Achoo")
  5. hero.moveUp()
  6. hero.moveUp()

7,Kithgard的图书管理员

  1. hero.moveRight()
  2. hero.say("Hush")
  3. hero.moveRight()

8,焰中舞动

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

9,循环又循环

  1. # 在 while true 里的代码会永远重复!
  2. while True:
  3. # 走起
  4. hero.moveRight()
  5. hero.moveUp()
  6. hero.moveLeft()
  7. hero.moveDown()

10,闹鬼迷宫

  1. while True:
  2. # 在这里添加命令来重复。
  3. hero.moveRight()
  4. hero.moveRight()
  5. hero.moveUp()
  6. hero.moveUp()

11,再次迷宫历险

  1. while True:
  2. hero.moveRight()
  3. hero.moveUp()
  4. hero.moveRight()
  5. hero.moveDown()

12,恐惧之门

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

13,已知敌人

  1. # 你可以用名称标签作为变量。
  2. enemy1 = "Kratt"
  3. enemy2 = "Gert"
  4. enemy3 = "Ursa"
  5. while True:
  6. hero.attack(enemy3)
  7. hero.attack(enemy1)
  8. hero.attack(enemy2)

14,名字大师

  1. # 你的英雄不知道这些敌人的名字!
  2. # 这眼镜给了你 “findNearestEnemy” 寻找最近敌人的能力。
  3. enemy1 = hero.findNearestEnemy()
  4. hero.attack(enemy1)
  5. hero.attack(enemy1)
  6.  
  7. enemy2 = hero.findNearestEnemy()
  8. hero.attack(enemy2)
  9. hero.attack(enemy2)
  10.  
  11. enemy3 = hero.findNearestEnemy()
  12. hero.attack(enemy3)
  13. hero.attack(enemy3)

15,近战

  1. hero.moveRight()
  2. enemy1 = hero.findNearestEnemy()
  3. # 现在,攻击那个变量,
  4. hero.attack(enemy1)
  5. hero.attack(enemy1)
  6.  
  7. hero.moveRight()
  8. enemy2 = hero.findNearestEnemy()
  9. hero.attack(enemy2)
  10. hero.attack(enemy2)
  11. hero.moveRight()

16,矮人骚乱

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

17,最后的Kithman族

  1. # 使用loop循环移动并攻击目标
  2. while True:
  3. hero.moveRight()
  4. hero.moveUp()
  5. enemy = hero.findNearestEnemy()
  6. hero.attack(enemy)
  7. hero.moveRight()
  8. hero.moveDown()
  9. hero.moveDown()
  10. hero.moveUp()

18,KithGard之门

  1. # 建造三个栅栏来隔离兽人!
  2. hero.moveDown()
  3. hero.buildXY("fence", 36, 34)
  4. hero.buildXY("fence", 36, 31)
  5. hero.buildXY("fence", 36, 27)
  6. hero.moveRight()
  7. hero.moveRight()
  8. hero.moveRight()
  9. hero.moveRight()

可选关卡1:不祥的征兆

  1. # 你的目标是保护地图右边的人存活。
  2. # 你不需要和食人巨怪打,只管逃命!你的盟友会保护你。
  3. hero.moveRight()
  4. hero.moveRight()
  5. hero.moveUp()
  6. hero.moveRight()
  7. hero.moveRight()
  8. hero.moveRight()
  9. hero.moveDown()
  10. hero.moveRight()
  11. hero.moveDown()
  12. hero.moveRight()
  13. hero.moveRight()

可选关卡2:Kithgard精通

  1. # 使用移动命令到达迷宫的终点。
  2. # 计算你收集到的宝石数量,然后在到达火球陷阱时通过说出当前的宝石数量来使陷阱失效。
  3. # 在起点的地方会有一只乌鸦告诉你一个密码。在门的附近说出该密码来开门。
  4. # 当你靠近食人魔时杀死它。
  5. # 你可以在需要的时候使用loop来重复所有的指令。
  6. # 如果你通过了这个关卡,你就可以直接跳到边远地区的森林!
  7. hero.moveUp()
  8. hero.moveRight(3)
  9. hero.moveUp()
  10. hero.moveDown()
  11. hero.moveRight()
  12. hero.say("Swordfish")
  13. hero.moveRight(2)
  14. hero.moveUp()
  15. hero.say("")
  16. hero.moveUp(2)
  17. enemy1 = hero.findNearestEnemy()
  18. hero.attack(enemy1)
  19. hero.attack(enemy1)
  20. hero.moveLeft(4)
  21. hero.moveUp(3)
  22. hero.moveRight(3)
  23. hero.moveUp()
  24. hero.moveDown()
  25. hero.moveRight()
  26. hero.say("Swordfish")
  27. hero.moveRight(2)
  28. hero.moveUp()
  29. hero.say("")
  30. hero.moveUp(2)
  31. enemy2 = hero.findNearestEnemy()
  32. hero.attack(enemy2)
  33. hero.attack(enemy2)
  34. hero.moveLeft(6)

感受:

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

CodeCombat地牢关卡Python代码的更多相关文章

  1. CodeCombat森林关卡Python代码

    地牢关卡过完,接下来是边缘的森林! 1,森林保卫战 hero.moveUp() hero.buildXY("fence", 40, 52) hero.moveDown() hero ...

  2. codecombat之地牢关卡Python代码

    1.地牢 # 向宝石进发. # 小心撞墙! # 在下面输入你的代码. self.moveRight() self.moveDown() self.moveRight() 2.深藏的宝石 # 利用你的移 ...

  3. Python和多线程(multi-threading)。这是个好主意码?列举一些让Python代码以并行方式运行的方法。

    Python并不支持真正意义上的多线程.Python中提供了多线程包,但是如果你想通过多线程提高代码的速度,使用多线程包并不是个好主意.Python中有一个被称为Global Interpreter ...

  4. python面试题之多线程好吗?列举一些让Python代码以并行方式运行的方法

    答案 Python并不支持真正意义上的多线程.Python中提供了多线程包,但是如果你想通过多线程提高代码的速度,使用多线程包并不是个好主意.Python中有一个被称为Global Interpret ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. if __name__== "__main__" 的意思(作用)python代码复用

    if __name__== "__main__" 的意思(作用)python代码复用 转自:大步's Blog  http://www.dabu.info/if-__-name__ ...

  7. Python 代码风格

    1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要. 请记住可读性标准的目标是提升可读性.这些规则存在的目的就是为了帮助人读写代码,而不是相反. ...

  8. 一行python代码实现树结构

    树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...

  9. [Dynamic Language] 用Sphinx自动生成python代码注释文档

    用Sphinx自动生成python代码注释文档 pip install -U sphinx 安装好了之后,对Python代码的文档,一般使用sphinx-apidoc来自动生成:查看帮助mac-abe ...

随机推荐

  1. 微网站|手机端html弹窗、弹层、提示框、加载条

    layer mobile是为移动设备(手机.平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选 ...

  2. 简单的sqlhelper的学习日志

    一:今天做了一个简单的sqlhelper,还有调用,将今天学的内容总结一下,解决方案如下: 二:对应的sqlhelper的内容: using System; using System.Collecti ...

  3. DIOCP开源项目-DIOCP3 大文件的传输DEMO<断点续传>

    首先该DEMO在StreamCoder上面做的改动,期间导致StreamCoderDEMO经常出现问题,导致大家运行的时候,频频出现问题,表示道歉. 以下是测试的结果,从服务器下载传输了一个3G左右的 ...

  4. 【Qt】qt库结构及示例

    QT库结构 Qt图形库是一个组织严谨的C++类库,其结构如图所示 细说Qt库 Qt类库中包含了上百个类,结构十分复杂,上图展示了Qt_3.2类库的基本结构. Qt类库中的类可以分成两种类型: 一种是直 ...

  5. 通过kafka提供的命令来查看offset消费情况

    使用kafka的bin目录下面的kafka-consumer-groups.sh命令可以查看offset消费情况,注意,如果你的offset是存在kafka集群上的,就指定kafka服务器的地址boo ...

  6. maven 使用记录之修改 maven默认jdk版本

    maven package执行的时候会遇到jdk版本不对的问题 :原因是 maven所指定的jdk版本与项目使用的jdk版本不一致 1.项目属性的 java compiler可以设置 2.直接修改 m ...

  7. Gridview排序与分页-不使用“DataSourceControl DataSource”的情况下如何分页和排序 ...

    如果你在GridView控件上设置 AllowPaging="true" or AllowSorting="true" 而没有使用使用数据源控件 DataSou ...

  8. [Python] 探索性编程与idleX

    1 探索式编程 前面介绍过几个Python的Interactive Shell,对于Python, Ruby这类动态语言来说,一个交互式的shell(用 emacs的术语来说,叫做REPL,也就是Re ...

  9. 迭代器模式和组合模式(head first设计模式——8)

    把迭代器模式和组合模式放在同一篇的原因是其联系比较紧密. 一.迭代器模式 1.1迭代器模式定义 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不是暴露其内部的表示. 这个模式提供了一种方法 ...

  10. 电子印章在Odoo的实现步骤

    1. 首先用PS制作一个电子印章,具体步骤可参考 http://www.jb51.net/photoshop/173568.html 2. 给Odoo中的pdf添加印章的原理,就是利用Odoo的QWe ...