codecombat极客战记森林1-20关

所有代码均使用python编写

1、裂天碎地

在这里插入图片描述

# 当你退到安全距离以外他们就会引爆.
# 然后,奔跑吧少年!
hero.moveRight(2)
hero.buildXY("fire-trap", 35, 29)
hero.buildXY("fire-trap", 35, 35)
hero.moveLeft(2)
hero.moveRight(3)

2、平原森林保卫战

在这里插入图片描述
#在标记上建造两个围栏保护村民
#把鼠标放在地图上得到X,Y坐标
hero.buildXY(“fence”, 40, 53)
hero.buildXY(“fence”, 40, 20)


3、一步走错

在这里插入图片描述
#英雄完全困惑了!
#纠正他们的路径,别让他们走到地雷上

hero.moveXY(11, 36)
hero.moveXY(34, 25)
hero.moveXY(40, 56)
hero.moveXY(77, 58)



4、森林逃避

在这里插入图片描述

# 区域内有一名猎头者!
# 在森林附近跑动,以躲避他的视线
while True:
    hero.moveXY(56,44)
    hero.moveXY(40,56)
    hero.moveXY(24, 44)
    hero.moveXY(25, 25)
    hero.moveXY(39, 12)
    hero.moveXY(56, 24)
    # 用 moveXY 在森林中移动,确保存活。
    # Don't forget about indents.

5、边地伏击战

在这里插入图片描述

hero.moveXY(24, 42)
enemy = hero.findNearestEnemy()
if enemy:
    hero.attack(enemy)
    hero.attack(enemy)

hero.moveXY(27, 60)
enemy = hero.findNearestEnemy()
if enemy:
    # 攻击敌人,如果存在的话!
    hero.attack(enemy)
    hero.attack(enemy)
    pass # pass是一个占位符

hero.moveXY(42, 50)
enemy = hero.findNearestEnemy()
# 使用if语句检查敌人是否存在。
if enemy:
    
    # 攻击敌人,如果存在的话!
    hero.attack(enemy)
    hero.attack(enemy)

hero.moveXY(39, 24)
# 找到最近的敌人:
enemy = hero.findNearestEnemy()  
# 检查敌人是否存在:
if enemy:
    # 攻击敌人,如果存在的话!
    hero.attack(enemy)
    hero.attack(enemy)

6、羊肠小道

在这里插入图片描述

# 到小路的尽头去,并在那儿修一个栅栏。
# 利用你的 moveXY(x, y)坐标移动功能。

# It's the first point of the path.
hero.moveXY(36, 59)
hero.moveXY(36, 13)
# Move at the next points of the path.
hero.moveXY(72, 59)
hero.buildXY("fence", 73, 54)
# Build a fence to stop the ogre.

7、林地小屋

在这里插入图片描述

# 通过林地,务必留意危险!
# 这些森林小屋中可能有食人魔!

hero.moveXY(19, 33)
enemy = hero.findNearestEnemy()
# if语句会检查某变量是否有食人魔。
if enemy:
    hero.attack(enemy)
    hero.attack(enemy)

hero.moveXY(49, 51)
enemy = hero.findNearestEnemy()
if enemy:
    # 攻击这里的敌人:
    hero.attack(enemy)
    hero.attack(enemy)
    
    # pass不做任何事情,它只负责结束if语句
    pass

hero.moveXY(58, 14)
enemy = hero.findNearestEnemy()
# 使用if语句检查敌人是否存在:
if enemy:
    # 如果敌人存在,就攻击它:
    hero.attack(enemy)
    hero.attack(enemy)
    
   

8、九个宝石

在这里插入图片描述

# Collect all the gems in 4 moveXY's or less!
# Programmers need to think creatively!
hero.moveXY(31, 48)
hero.moveXY(70, 48)
hero.moveXY(31, 11)
hero.moveXY(31, 35)

9、巡逻兵的克星A

在这里插入图片描述

# 记得敌人可能还不存在。
while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        # 如果有敌人,攻击它!
        hero.attack(enemy)
    else:
        
        pass

10、巡逻兵的克星

在这里插入图片描述

# 记得敌人可能还不存在。
while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        # 如果有敌人,攻击它!
        hero.attack(enemy)
    else:
        pass

11、野餐毁灭者

在这里插入图片描述

# 记得敌人可能还不存在。
while True:
    enemy = hero.findNearestEnemy()
    # 如果有敌人,攻击它!
    if enemy:
        hero.attack(enemy)

12、鹰眼

在这里插入图片描述

# 记得敌人可能还不存在。
while True:
    enemy = hero.findNearestEnemy()
    # 如果有敌人,攻击它!
    if enemy:
        hero.attack(enemy)

13、宝石或者死亡

在这里插入图片描述

# 在 if 条件下的命令只有在条件为真的时候运行。
# 修复所有的 if 条件判定来赢得本关

# ==的意思是等于
if 1 + 2 + 1 == 3:  # ∆ 让条件不成立。
    hero.moveXY(5, 15)  # 移动到第一个地雷位置

if 2 + 2 == 4:  # ∆ 让条件成立。
	hero.moveXY(15, 40)  # 移动到第一个宝石的位置。

# !=的意思是不等于
if 2 + 2 == 4:  # ∆ 让条件成立。
	hero.moveXY(25, 15)  # 移动到第二个宝石的位置
	
# <的意思是比什么小
if 2 + 0 < 3:  # ∆ 让条件成立。
    enemy = hero.findNearestEnemy()
    hero.attack(enemy)

if 5 < 4:  # ∆ 让条件不成立。
	hero.moveXY(40, 55)

if False:  # ∆ 让条件不成立。
	hero.moveXY(50, 10)

14、咬手指的人

在这里插入图片描述

# 只有当 if 条件为真的时候,if 语句下面的命令才会执行。
# 在条件中,==表示左右两边相等
if 2 + 2 == 4:
    hero.say("Hollo world!")
if 2 + 2 == 5:
    hero.say("Yes, you!")

# 改变这里的条件让你的英雄说『来找我!』 Come at me!
if 3 + 3 == 6:  # ∆ 让条件成立
    hero.say("Come at me来找我吧!")

if 2 == 2:  # ∆ 让条件成立
    # 添加一句或者更多骂人的话来吸引食人魔,来点有创意的!
    hero.say("来吧...小子,我要砍了你")

15、IF的盛宴

在这里插入图片描述

# 在食人魔的营地中打败它们!

while True:
    enemy = hero.findNearestEnemy()
    # 使用一个 “if” 语句去检查是否有敌人存在:
    if enemy:
        # 攻击敌人,如果存在的话:
        hero.attack(enemy)

16、村庄守护者

在这里插入图片描述

# 在村口巡逻。
# 如果发现敌人,就攻击它。
while True:
    hero.moveXY(35, 34)
    leftEnemy = hero.findNearestEnemy()
    if leftEnemy:
        hero.attack(leftEnemy)
        
    # 现在移动到右侧入口。
    hero.moveXY(60, 32)
    # 找到正确的敌人。
    rightenemy = hero.findNearestEnemy()
    if rightenemy:
        hero.attack(rightenemy)
    # 如果有正确的敌人,使用if来攻击。

17、荆 农场

在这里插入图片描述

# 在村口巡逻。
# 当你见到食人魔,建造一个火焰陷阱"fire-trap"。
# 不要让任何农民受到伤害。

while True:
    hero.moveXY(43, 50)
    top = hero.findNearestEnemy()
    if top:
        hero.buildXY("fire-trap", 43, 50)

    hero.moveXY(25, 34)
    left = hero.findNearestEnemy()
    # 检查左边是否存在。
    if left:
        # 如果敌人存在,在25, 34处建造一个陷阱。
        hero.buildXY("fire-trap", 25, 34)
    hero.moveXY(43, 20)
    # 为下面的敌人设置一个变量。
    right = hero.findNearestEnemy()
    # 检查下面是否有敌人存在。
    if right:
        # 建造一个陷阱,如果敌人存在的话。
        hero.buildXY("fire-trap", 43, 20)

18、食人魔营地

在这里插入图片描述

# 如果有敌人,那么就攻击它
# 否则,攻击宝箱

while True:
    # 使用if/else语句
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.attack(enemy)
    else:
        hero.attack("Chest")

19、背靠背

在这里插入图片描述

# 待在中间防守!

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        # 亦或主动出击...
        hero.attack(enemy)
        hero.say("我干掉了一只小食人魔")
        pass
    else:
        # 亦或回到你的阵地防守。
        hero.moveXY(42, 36)
        hero.say("我没有找到小食人魔,回家了")
        pass

20、PEEK-A-BOOM

在这里插入图片描述

# Build traps on the path when the hero sees a munchkin!

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        # Build a "fire-trap" at the Red X (41, 24)
        hero.buildXY("fire-trap", 41, 24)
        hero.buildXY("fire-trap", 41, 24)
        
    # Add an else below to move back to the clearing
    else:
        
        # Move to the Wooden X (19, 19)
        hero.moveXY(19, 19)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值