【CodeCombat-Python】边远地区的森林 11~20
来源:互联网 发布:.sit域名说明 编辑:程序博客网 时间:2024/04/19 18:44
11、跃火林中
# 在这关,别碰恶魔石!往其他方向移动避开它们!while True: evilstone = hero.findNearestItem() if evilstone: pos = evilstone.pos if pos.x == 46: # 如果恶魔石在右边,走到左边。 hero.moveXY(34, 22) pass else: # 如果恶魔石在左边,走到左边。 hero.moveXY(46, 22) pass else: # If there's no evilstone, go to the middle. hero.moveXY(40, 22) pass
这关的提示有一个地方错误了
12、村庄漫游者
这关有开始定义函数
# This defines a function called findAndAttackEnemydef findAndAttackEnemy(): enemy = hero.findNearestEnemy() if enemy: hero.attack(enemy)# This code is not part of the function.while True: # Now you can patrol the village using findAndAttackEnemy hero.moveXY(35, 34) findAndAttackEnemy() # Now move to the right entrance. hero.moveXY(60,31) # Use findAndAttackEnemy findAndAttackEnemy()
13、边远地区交叉口
# 一大波兽人正在到来!# 使用 checkAndAttack 函数让代码易读。# 这个函式有一个参数# 参数是一种给函数传递信息的方式。def checkAndAttack(target): # 'target'参数只是一个变数! # 它包含了函数调用时的参数。 if target: hero.attack(target) hero.moveXY(43, 34)while True: hero.moveXY(58, 52) topEnemy = hero.findNearestEnemy() checkAndAttack(topEnemy) # 移动到底部的X标记处。 hero.moveXY(58,16) # 创建名为 bottomEnemy 的变量,寻找最近敌人。 bottomEnemy = hero.findNearestEnemy() pass # 使用 checkAndAttack 函数,并包括 bottomEnemy 变量。 checkAndAttack(bottomEnemy)
14、无敌旋风斩
# 這裡顯示如何定義一個稱為cleaveWhenClose的函式# 函式定義了一個參數稱為targetdef cleaveWhenClose(target): if hero.distanceTo(target) < 5: pass # 把你的攻擊程式碼放在這裡 # 如果旋風斬就緒,對目標施放旋風斬 if hero.isReady("cleave"): hero.cleave(enemy) # 否則,直接攻擊目標! else: hero.attack(enemy)# 這裡的程式碼不是函式的一部份.while True: enemy = hero.findNearestEnemy() if enemy: # 記得在cleaveWhenClose函式裡面,我們改用target作為指向敵人的變數. cleaveWhenClose(enemy)
15、朋友与敌人
# 农民和士兵聚集在森林。# 命令农民战斗,苦工远离!while True: friend = hero.findNearestFriend() if friend: hero.say("To battle, " + friend.id + "!") # 寻找最近的敌人,然后让他们滚蛋 enemy = hero.findNearestEnemy() if enemy: hero.say("ByeBye,"+enemy.id+"!")
16、巫师之门
# 去找Laszlo并取得他的密码数字.hero.moveXY(30, 13)las = hero.findNearestFriend().getSecret()# 向 Laszlo 的数字中加7就能得到 Erzsebet的号码# 去找Erzsebet并告诉她魔法数字.erz = las + 7hero.moveXY(17, 26)hero.say(erz)# 将 Erzsebet 的数字除以 4 得到 Simoyi 的数字。# 去找Simonyi并告诉他数字.sim = erz / 4hero.moveXY(30, 39)hero.say(sim)# 将 Simonyi 的数字乘以 Laszlo 的数字得到 Agata 的数字。# 去找Agata并告诉她数字.aga = sim * lashero.moveXY(43, 28)hero.say(aga)
17、宝库追逐战
# 跟随硬币的轨迹来到红色 X 标记的出口while True: # 这能找到最近的敌人。 item = hero.findNearestItem() if item: # 这将物品的 pos,就是坐标,存储在变量中。 itemPosition = item.pos # 将物品的 X 和 Y 坐标放进变量。 itemX = itemPosition.x itemY = itemPosition.y # 现在,使用moveXY来移动到itemX和itemY: hero.moveXY(itemX, itemY)
18、看不见的距离
# 你的任务是告诉他兽人的距离。# 这个函数寻找最近的敌人,并返回距离。# 假如没有敌人,函式会回传0.def nearestEnemyDistance(): enemy = hero.findNearestEnemy() result = 0 if enemy: result = hero.distanceTo(enemy) return resultwhile True: # 呼叫 nearestEnemyDistance() 和 # 储存结果到 enemyDistance变数里头. enemyDistance = nearestEnemyDistance() # 假如 enemyDistance 大于0: if enemyDistance > 0 : # 说出 enemyDistance变数的值. hero.say(enemyDistance)
19、困兽之斗
# 你掉进陷阱里了!别动!你会受伤的!# 这个函数检查敌人是否再攻击范围。def inAttackRange(enemy): distance = hero.distanceTo(enemy) # 几乎所有的剑攻击距离都是3. if distance <= 3: return True else: return False# 只有兽人在范围内才攻击他们.while True: # 找到最近的敌人,并将其储存在一个变量中。 enemy = hero.findNearestEnemy() # 调用 inAttackRange(enemy),将 enemy 作为参数 # 把结果保存于 “canAttack” 变量中 canAttack = inAttackRange(enemy) # 假如储存在 canAttack的结果是 True, 然后下手! if canAttack == True: hero.attack(enemy) if hero.isReady("cleave"): hero.cleave(enemy) pass pass
20、盐碱地(难度3(可能是我自己理解错了))
没有尝试其他代码解决,这关卡了一阵子。
# 兽人正在攻击附近的殖民地!# 小心,兽人在地上放了毒药。# 收集硬币并打败兽人,但是要避开毛怪(burls)和毒药!while True: enemy = hero.findNearestEnemy() if enemy.type == "munchkin" or enemy.type == "thrower": hero.attack(enemy) item = hero.findNearestItem() # 检查物品类型,确保英雄不会捡起毒药! # 寻找类型:'gem' 和 'coin' if item.type == "gem" or item.type == "coin": if item.type == "coin": #这一段代码可以不用,注释掉依然会找金币,把coin换成gem后,hero也不会走向毒药,这点让我很郁闷。 coinP = item.pos coinX = coinP.x; coinY = coinP.y; hero.moveXY(coinX, coinY)
阅读全文
0 0
- 【CodeCombat-Python】边远地区的森林 11~20
- 【CodeCombat-Python】边远地区的森林 1~10
- codecombat之边远地区的森林1-11关及地牢38关代码分享
- codecombat之边远地区的森林12-22关及地牢39关代码分享
- codecombat之边远地区的森林23-30关及地牢40\41关代码分享
- codecombat之边远地区的森林31-44关代码分享
- codecomebat游戏代码--边缘地区的森林
- 边远山区的免费午餐
- CodeCombat-胆怯的辱骂
- 【CodeCombat-Python】地牢-kithgard 斗殴
- CodeCombat
- 随机森林算法的python实现
- 用Python的Turtle库绘制森林
- CodeCombat无法保存游戏进度的说明
- codecombat之Sarven沙漠13-24关及森林45/46关代码分享
- codecombat安息之云山峰1-10关及森林47/48关代码分享
- codecombat安息之云山峰32-36关及森林49关代码分享
- python抓取安居客上的所有地区链接
- 利用脚本自动安装Linux系统
- JAVA 7并发编程实战手册
- Java学习12:异常
- opencv学习——直方图反向投影分割
- 数据结构--链表(C++)
- 【CodeCombat-Python】边远地区的森林 11~20
- 空间关系模糊描述(一)
- <胡策day> 10.30 T1 小学数学
- scrapy学习(1)
- 推荐系统的评价参数
- LeetCode111. Minimum Depth of Binary Tree
- 【Linux入门学习之】vi/vim编辑器必知必会
- vld使用
- U盘容量从16G变成8M解决办法