游戏的方式学习python--codecombat代码记录及讲解
北洋的青春
曾任职广电、电网、紫光知名企业,现任职某上市公司运维交付总监
展开
-
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码9
Humantron# Form the rectangle of units around the peasant.# You need 2 archers and 2 soldiers.# This function can be helpful.def summonAndSend(type, x, y): hero.summon(type) unit = hero.b...原创 2019-10-31 19:20:12 · 941 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码8
YAK HEIST# Senick needs big bait for a big burl!# Help Senick find an above average yak!# Don't pick one too deep in the herd, or risk angering the group.# This function should return the average...原创 2019-10-17 00:13:11 · 827 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码2
动物园管理员# 保护笼子。# 放一个士兵在每一个 X 的位置points = []points[0] = {"x": 33, "y": 42}points[1] = {"x": 47, "y": 42}points[2] = {"x": 33, "y": 26}points[3] = {"x": 47, "y": 26}# 1.收集80金币。while hero.gold &l...原创 2019-05-13 22:04:33 · 1101 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码10
毒气攻击# 计算所有食人魔的总生命值。def sumHealth(enemies): # 创建一个变量,将它设为0后开始运算 totalHealth = 0 # 初始化循环索引为0 enemyIndex = 0 # 當 計數 小于敌人數列長度的時候 while enemyIndex < len(enemies): # 将当...原创 2019-05-05 23:17:42 · 2167 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码4
诱饵钻探新的装备,新的开始,按提示购买即可。# 我们在测试一个新的战斗单位:诱饵(decoy)。# 建造4个诱饵,然后汇报总数给Naria。decoysBuilt = 0while True: coin = hero.findNearestItem() if coin: # 收集硬币! hero.moveXY(coin.pos....原创 2019-04-30 14:20:26 · 1253 阅读 · 1 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码9
命令链# 只有你的宠物可以唤醒巫师。def onHear(event): # "hear"事件设置event.speaker属性。 # 检查宠物是否听到了英雄的话: if event.speaker == hero: pet.say("WOOF")# 为"hear"事件指派事件处理器。pet.on("hear", onHear)while T...原创 2019-05-04 13:18:25 · 1397 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码12
Metal Detector(金属探测器)# The artillery uses coins as a target.# You'll be the rangefinder for the artillery.# Write the function.def coinDistance(): # Find the nearest coin, coin = hero.fin...原创 2019-04-19 17:51:27 · 1490 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码11
Chameleons(伪装者)# Ogres are disguised as coins or gems!while True: enemy = hero.findNearestEnemy() # If you see an enemy - attack it: if enemy: hero.attack(enemy) item = her...原创 2019-04-19 17:51:02 · 1723 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码8
危险钥匙# 听圣骑士的,取回正确的钥匙。def onHear(event): # 宠物可以找到圣骑士和钥匙。 paladinUnit = pet.findNearestByType("paladin") goldKey = pet.findNearestByType("gold-key") silverKey = pet.findNearestByType("...原创 2019-05-03 20:18:14 · 970 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码1-5一总结
由于边地森林章节内容较多(覆盖了很多的python的知识),为了知识能够及时的复习,我们进行每40关复习下前面的关卡学习的内容。我们总结的内容全部都是基于我们闯关的关卡来讲解,做不到非常的详细,如果大家想更详细的了解,可以去看相关书籍!一.二维概念理解(1)二维的概念二维由x,y组成,我们需要明确知道的,二维坐标(x, y),注意关卡中标注的X(红色)的位置(2)二维中的东南西北按东南...原创 2019-04-19 12:33:55 · 723 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码7
游魂学习内容:Array LengthAccessing Properties变量While LoopsIterating Over ArraysWhile Loops with Conditionals# 攻击骷髅捡走宝石while True: enemies = hero.findEnemies() enemyIndex = 0 while enemyInde...原创 2019-05-03 12:27:38 · 1014 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第三章)代码6-10--总结
1.关于算法关卡中,用了很少的篇幅介绍了关于python实现相应算法的内容,当然,只是简单的举例进行说明。如果大家后续有想学习机器学的相关内容,可以自行网上去找些资料,学习相关算法的内容。2.数组(列表)一个数组(Array)就是物品的数列。这个数组是一个朋友名字的数列。friendNames = [‘Joan’, ‘Ronan’, ‘Nikita’, ‘Augustus’](1)注意...原创 2019-05-13 20:43:38 · 731 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码5
先有付出 才有回报# 改变while循环的条件。# 在英雄生命值大于200滴血时,一直跑。while hero.health > 200: # Δ 这行要改一下! hero.moveXY(48, 24) hero.moveXY(16, 24)# 移动到Okar那里。hero.moveXY(32, 40)尘埃# 使用循环直到你有足够的击杀10个芒奇金人at...原创 2019-04-30 23:27:02 · 997 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码6
最大公约数这是一个数学姿势,需要较强的数学功底。但是要知道,我们这个是学习的内容,所以不会那么难,按照例子去修改内容就行。敢兴趣的可以去看提示了解算法的内容,请自行百度。而如果你真正的从事了算法类的工作后,你会发现,在python中有很多可供选择使用的算法库,直接调用相关函数即可,无需这样麻烦的去自行实现,当然,如果你想学的更好,那还是了解下比较好!!~~# 计算秘密数字并进入宝库。# 这两...原创 2019-05-01 12:09:55 · 817 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码7
总体来讲,第四关给的钱还是挺多的!!!Highlanders 苏格兰高地部队士兵# You must defeat the ogres# But they are using black magic!# Only the highlander soldiers are immune.# Find highlanders, their names always contain "mac"...原创 2019-06-30 21:40:52 · 2356 阅读 · 1 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码6
从本章开始之后,我们代码中的所有提示全部都为英语翻译,为什么呢?因为我发现到了这种高级关卡后,中文翻译后的很多提示内容转换为中文后都存在异议,这样可能会干扰我们的思路!!!!!snowdrops 雪滴# We need to clear the forest of traps!# The scout prepared a map of the forest.# But be careful...原创 2019-06-23 12:25:33 · 1073 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码4
花的几何学变身画家吧!# 你现在有花环! 你可以做:# toggleFlowers(true/false) - 打开或关闭鲜花。# setFlowerColor("random") - 也可以是 "pink", "red", "blue", "purple", "yellow", or "white"。# 以下是绘制图形的一些函数:# x,y - 图形的中心# size - 图形的...原创 2019-05-23 15:44:39 · 1341 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码3
士兵的痛苦之源# 机器人炸弹会在被摧毁或是碰到敌人时爆炸。# 分散你的士兵,这样他们就不会一起被炸死。while True: enemies = hero.findEnemies() enemy = hero.findNearest(enemies) friends = hero.findFriends() # 将friends数组中的第一个士兵派向敌人。...原创 2019-05-21 18:05:01 · 1171 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码1
我们已经有了前三章的基础了,到了第四章,你会发现提示少之又少了。这时,我们大都要靠自己了!!!加油!!如果你没有思路,请仔细看下装备的说明,毕竟到了这关,你需要购买好多其他的新装备,而新装备中存在了新的函数方法。记得:如果你觉得难,请再次打开时时代码补全功能。注意:本关开始设计到其他人物,需要使用他们的特殊技能,这里在关卡的前面我会明确标注出来,若没有进行标注,则仍然使用开始的人物Anya W...原创 2019-05-11 21:48:51 · 2166 阅读 · 1 评论 -
CodeCombat代码全记录(Python学习利器)--安息之云山峰(第四章)代码5
冰猎人# 追捕4只牦牛。 只选择小的。# 小牦牛名称包含一个"bos"子字符串。# 这个函数检查一个单词是否包含一个子字符串。def isSubstring(word, substring): # 我们通过迭代开始索引。 rightEdge = len(word) - len(substring) # 循环访问单词的索引。 for i in range(r...原创 2019-05-24 14:20:05 · 1608 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第三章)代码1-5--总结
第三章整体目标1.算数运算(1)进一步熟悉运算内容的练习回想二维空间向量内容:以人物为中心,向右移动:x 增大,向左移动:x减小向上移动:y增大,向下移动:y减小(2)判断和敌人的位置关系(3)运算内容yPos += 1 相等于 yPos = yPost + 12.函数还记得我们开始学习的时候调用的移动的方法吗?其实那是我们调用的函数内容。moveRight()# 定...原创 2019-05-07 11:40:17 · 889 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码11-15--总结
第二章整体目标1.将函数的结果保存在变量中的使用形式def inAttackRange(enemy): 。。。。# 调用 inAttackRange(enemy),将 enemy 作为参数# 把结果保存于 “canAttack” 变量中 canAttack = inAttackRange(enemy)2.if else不在重复讲解,可参考第一节的总结的四3.bool...原创 2019-05-06 17:06:16 · 591 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码2
截断你作为挡箭牌,需要给农民兄弟挡箭。# 站在农民和塔之间。while True: enemy = hero.findNearestEnemy() friend = hero.findNearestFriend() # 通过将friend.pos.x和enemy.pos.x相加来计算x # 然后除以2。 # 如需更多帮助,请查看指南! x =...原创 2019-04-23 20:25:19 · 1157 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码3
守时花钱花钱,有钱别攒着,该买装备买装备。# 使用你的新技能来选择你要做什么: hero.timewhile True: # 如果是前十秒,攻击。 if hero.time < 10: enemy = hero.findNearestEnemy() if enemy: hero.attack(enemy) ...原创 2019-04-27 22:19:57 · 2078 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码10
从本章节之后,我们开始学习数字内容相关的知识,更进一步熟悉python中的四则运算,注意多看下提示!!德雅啤酒(似曾相识的味道)# 你可以把字符串连起来,或者把数字连接到字符串中。# Sing along, using string concatenation:# X potions of health on the wall!# X potions of health!# Take ...原创 2019-04-18 12:23:14 · 1408 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码14
返回荆棘农场 A (练习)# 函数maybeBuildTrap定义了两个参数!def maybeBuildTrap(x, y): # 使用x和y作为移动的坐标。 hero.moveXY(x, y) enemy = hero.findNearestEnemy() if enemy: # 使用buildXY在指定xy坐标处建造一个"fire-trap...原创 2019-04-20 21:27:34 · 1407 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码13
Wonderglade(奇境)# You need to collect several items.# But, the burl wants the gems!# Pick up all appearing items EXCEPT gems.while True: item = hero.findNearestItem() if item: # If...原创 2019-04-20 21:26:48 · 1066 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码5
死亡之触本关你将体验另外一个职业(巫师)的不同技能,如果你不知道怎么使用技能,请查看装备所带的方法。# 短距离情况下,施放"drain-life"法术。# 远距离使用魔杖攻击。while True: enemy = hero.findNearestEnemy() if enemy: distance = hero.distanceTo(enemy) ...原创 2019-04-16 16:22:13 · 1699 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码7
攻破突袭# 你可以在循环前写代码hero.moveRight()# 在使用循环逃离迷宫之前,打开"Chest"!hero.moveUp()hero.attack("Chest")# 回到主走廊hero.moveDown()while True: # 移动3次 hero.moveRight(3) # 再走动三次 hero.moveDown(3)恐...原创 2019-04-09 23:37:20 · 1132 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码6
第一阶段地牢关卡快完成时,你是不是发现提示的语句也越来越少了呢?后续的很多关卡都是更加自由的去让你写下你自己的代码及想法去编程了呢?更有一些是挑战关卡,如果觉得难,可以跳过,去学习第二章的内容了!!也就是边地森林!!!战术打击# 击败食人魔。hero.moveDown()hero.moveRight()enemy1 = hero.findNearestEnemy()hero.attac...原创 2019-04-09 22:54:36 · 737 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码5
随着while True的练习,你是不是感觉塔防游戏其实没什么,一个while True就可以实现了呢??严酷考验需要购买个小衣服,称称血量# 使用你学到的技能击败那些食人魔。# 记住:打败食人魔矮人需要两次攻击。while True: hero.moveRight() enemy = hero.findNearestEnemy() hero.attack(ene...原创 2019-04-08 22:35:42 · 689 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码4
迷一般的 Kithmaze (练习)# 对于反复之事,循环是更好的办法。while True: # 此处添加需要重复执行的命令代码。 hero.moveRight() hero.moveDown() hero.moveRight(2) hero.moveUp()再下一步# 使用少于5条语句穿越迷宫while True: hero.move...原创 2019-04-07 19:37:10 · 753 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码3
循环while True:Python中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务,这样我们就省着繁琐的一直调用某个函数或方法一直写语句了。注意:while True 是一个死循环。我们在使用CodeCombat进行python学习的时候,注意一定不要忘了查看提示,当然,提示中不仅仅是教你如何通过此关卡的内容,还有一些对初学者很有用的东西,比...原创 2019-04-07 18:54:30 · 1146 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码2
敌人的陷阱(要求:代码不超过五行)这时,就不会在允许你不断的罗列移动的代码了,就需要进行上面讲解的参数优化的内容了。hero.moveRight(3)hero.moveUp()hero.moveRight()hero.moveDown(3)hero.moveRight(2)狭路相逢hero.moveRight()hero.moveLeft()hero.moveRight(2)...原创 2019-04-07 00:15:21 · 2041 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码15
小心陷阱这里我没有使用技能,你可以编写使用技能来攻击敌人# 如果你试图攻击一个远处的敌人,你的英雄会忽略掉所有的旗子而朝它冲过去。# 你需要确保你只攻击靠近自己的敌人!while True: flag = hero.findFlag() enemy = hero.findNearestEnemy() if flag: # 去拔旗子。 ...原创 2019-04-20 23:03:48 · 3594 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码6
以静制动# 你可以将一个if语句放到另一个if语句当中。# 你必须注意这些if语句是如何互相影响的。# 请确保代码缩进正确!# 从外层if/else结构开始会有帮助。# 使用注释为内层if/else占位预留空间:while True: enemy = hero.findNearestEnemy() # 如果有敌人出现,那么就... if enemy: ...原创 2019-04-16 21:20:46 · 1515 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--Kithgard地牢关卡代码说明及总结
第一章还剩余些关卡,由于都是挑战关卡,这里对我们初学者总体来讲有点困难。那不会影响我们的学习,体验完毕如上的所有关卡后,我们对python的很多内容有了进一步的了解。布吉岛*水硕德司机曾说过,善于总结,我们才能学的更好,走的更远。说明:剩余关卡丛林游戏、Kithgard学徒、Kithgard精通、蜿蜒峡谷、轰轰后续我们在更新相应代码。细心的童鞋可能会发现,在第一章节里,我们说的是已56关的版...原创 2019-04-14 14:20:58 · 2701 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码9
好伙伴的名字B# 宠物需要向英雄和农民问好。# 使用这个函数作为"hear"事件的处理函数:def sayHello(event): # 宠物在说你好: pet.say("致敬")# 使用宠物的pet.on("eventType", functionName)方法.# 这一关里,宠物需要在听到声音后运行sayHellopet.on("hear", sayHello)...原创 2019-04-18 12:21:25 · 1740 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码1
从此章节开始,我们的关卡难度会照之前提升了很多,毕竟你已经在前两章的内容中熟悉了python的基本语法及内容,为了使我们更好的进步,那关卡的难度也在不断的提升!!!!加油!!!绿洲# 向右移动以到达绿洲,# 向左移动以避免附近的牦牛。while True: x = hero.pos.x y = hero.pos.y enemy = hero.findNearestE...原创 2019-04-22 22:59:27 · 1255 阅读 · 0 评论 -
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码4
边地僵局A# 矮人正在攻击!# 攻击会有规律的一波波袭来。# 可以的话,使用劈斩来清理大量敌人。while True: enemy = hero.findNearestEnemy() # 使用带有‘isReady’的if语句来检查 “cleave” if hero.isReady("cleave"): # 劈斩! hero.clea...原创 2019-04-15 15:49:45 · 2120 阅读 · 0 评论