CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码2
巡逻兵克星A(练习)
# 记得敌人可能还不存在。
while True:
enemy = hero.findNearestEnemy()
if enemy:
# 如果有敌人,攻击它!
hero.attack(enemy)
pass
野餐毁灭者
# 记得敌人可能还不存在。
while True:
enemy = hero.findNearestEnemy()
# 如果有敌人,攻击它!
if enemy:
hero.attack(enemy)
鹰眼
# 记得敌人可能还不存在。
while True:
enemy = hero.findNearestEnemy()
# 如果有敌人,攻击它!
if enemy:
hero.attack(enemy)
是不是感觉如上代码都是重复的感觉。其实这是让你一直在 不断练习进行代码强化的过程,你编写1遍是记下了一点,编写2遍又加深了印象,在继续练习你的印象会越来越深!!!
背靠背(卡帕商品的广告吗?好像是的呢,这关过了之后,你发现你获得的新的装备并且可以使用心新的方法了!!!)
# 待在中间防守!
while True:
enemy = hero.findNearestEnemy()
if enemy:
# 亦或主动出击...
hero.attack(enemy)
pass
else:
# 亦或回到你的阵地防守。
hero.moveXY(40, 34)
pass
咬手指的人(叫阵)
表达式学习关卡,本节你将接触到检查表达式两边是否相等的内容
# 只有当 if 条件为真的时候,if 语句下面的命令才会执行。
# 在条件中,==表示左右两边相等
if 2 + 2 == 4:
hero.say("Hey!")
if 2 + 2 == 5:
hero.say("Yes, you!")
# 改变这里的条件让你的英雄说『来找我!』
if 3 + 3 != 7: # ∆ 让条件成立
hero.say("Come at me!")
if 2 + 18 == 20: # ∆ 让条件成立
# 添加一句或者更多骂人的话来吸引食人魔,来点有创意的!
hero.say("F**K You!!!")
pass
村庄守护者
# 在村口巡逻。
# 如果发现敌人,就攻击它。
while True:
hero.moveXY(35, 34)
left = hero.findNearestEnemy()
if left:
hero.attack(left)
hero.attack(left)
# 现在移动到右侧入口。
hero.moveXY(60, 34)
# 找到正确的敌人。
right = hero.findNearestEnemy()
# 如果有正确的敌人,使用if来攻击。
if right:
hero.attack(right)
hero.attack(right)
宝石或者死亡
# 在 if 条件下的命令只有在条件为真的时候运行。
# 修复所有的 if 条件判定来赢得本关
# ==的意思是等于
if 1 + 1 + 1 != 3: # ∆ 让条件不成立。
hero.moveXY(5, 15) # 移动到第一个地雷位置
if 2 + 3 == 5: # ∆ 让条件成立。
hero.moveXY(15, 40) # 移动到第一个宝石的位置。
# !=的意思是不等于
if 2 + 2 == 4: # ∆ 让条件成立。
hero.moveXY(25, 15) # 移动到第二个宝石的位置
# <的意思是比什么小
if 2 + 0 < 3: # ∆ 让条件成立。
enemy = hero.findNearestEnemy()
hero.attack(enemy)
if 21 < 4: # ∆ 让条件不成立。
hero.moveXY(40, 55)
if False: # ∆ 让条件不成立。
hero.moveXY(50, 10)
if True: # ∆ 让条件成立。
hero.moveXY(55, 25)
Burls教你学布尔
# 布尔值要么是真 True 要么是假 False
# == 表示 ”等于吗“?
# 所以, A == B 是在问:”A 是等于 B吗?“
# 答案会是一个布尔值!
# 如果太难了,点一下”Hints“ 提示按钮!
# 问题: 2 == 3
# 回答正确的答案:
hero.say(False)
# 问题: 3 == 3
# 回答 True 真 或者 False 假 2:
hero.say(True)
# 问题: "Three" == 3
# 回答 True 真 或者 False 假 3:
hero.say(False)
# 问题: "Three" == "Three"
# 回答 True 真 或者 False 假 4:
hero.say(True)
# 问题: 1 + 2 == 3
# 回答 True 真 或者 False 假 5:
hero.say(True)