CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码4

边地僵局A

# 矮人正在攻击!
# 攻击会有规律的一波波袭来。
# 可以的话,使用劈斩来清理大量敌人。

while True:
    enemy = hero.findNearestEnemy()
    # 使用带有‘isReady’的if语句来检查 “cleave”
    if hero.isReady("cleave"):
        # 劈斩!
        hero.cleave(enemy)
    # 否则,如果 cleave 还没准备好的话:
    else:
        # 攻击最近的食人魔。
        hero.attack(enemy)

盾击

# 用shield盾牌和cleave顺势斩在两波进攻中活下来
# 如果cleave顺势斩没有准备好,就用你的shield盾牌技能。
# 你将会需要至少142健康值来保证活下来
while True:
    enemy = hero.findNearestEnemy()
    if hero.isReady("cleave"):
        hero.cleave(enemy)
    else:
        hero.shield()

收割小食人魔(你需要有至少500点血)

# 铲除所有遗留的小食人魔
# 确保你有足够的护甲。

while True:
    enemy = hero.findNearestEnemy()
    if hero.isReady("cleave"):
        hero.cleave(enemy)
    else:
        hero.attack(enemy)

测距仪

# 食人魔正在森林中巡视!
# 使用distanceTo方法找到敌人在哪。
# 说出与每个敌人的距离,告诉大炮向哪开火!

enemy1 = "Gort"
distance1 = hero.distanceTo(enemy1)
hero.say(distance1)

enemy2 = "Smasher"
distance2 = hero.distanceTo(enemy2)
# 说出distance2变量!
hero.say(distance2)
# 找到并说出与剩余敌人之间的距离:
# 不要攻击友方!
friend3 = "Charles"
distance3 = hero.distanceTo(friend3)
hero.say("He is my friend!!don not fire!!!")

enemy4 = "Gorgnub"
distance4 = hero.distanceTo(enemy4)
hero.say(distance4)

奥法盟友(你需要至少有300以上的血量,等待你的战友来支援你!!)

记得重复性的工作交给while True来实现!

# 拿下那些兽人 

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        if hero.isReady("cleave"):
            hero.cleave(enemy)
        hero.attack(enemy)

边地僵局B(练习)

# 矮人正在攻击!
# 攻击会有规律的一波波袭来。
# 可以的话,使用劈斩来清理大量敌人。

while True:
    enemy = hero.findNearestEnemy()
    # 使用带有‘isReady’的if语句来检查 “cleave”
    if hero.isReady("cleave"):
        # 劈斩!
        hero.cleave(enemy)
    # 否则,如果 cleave 还没准备好的话:
    else:
        # 攻击最近的食人魔!
        hero.attack(enemy)

通过以上的练习,你是不是感觉你在平时玩的塔防游戏没什么呢,是不是感觉很简单呢,只需要一个while True就可以搞定。是不是感觉自己也可以试试写写植物大战僵尸和保卫萝卜了呢!!哈哈!!

敏捷的匕首(换角色职业挑战,其他角色体验)

1.本关你可以进行体验新的角色,那新的角色的职业和之前的职业不同,之前的职业是战士,而这个职业是游骑兵!所以,他们有不同的技能。
2.本关引入距离的概念,注意学习。

# 长距离用你的弓,短距离用匕首

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        distance = hero.distanceTo(enemy)
        if distance < hero.throwRange:
            # 向敌人扔你的匕首
            hero.throw(enemy)
        else:
            # 用你的弓攻击敌人
            hero.attack(enemy)

弹片

# 使用炸药干掉食人魔
# 然后用你的弓干掉他们

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        if hero.isReady("throw"):
            distance = hero.distanceTo(enemy)
            # 如果食人魔距离多于15米的时候,扔炸药炸他
            # 使用 if 来比较距离和15
            if distance > 15:
            # 使用 else 来攻击它如果你不能够炸它
                hero.throw(enemy)
        else:
            hero.attack(enemy)
CodeCombat 是一个通过玩游戏来学习编程的网站,也是GitHub上最大的开源CoffeeScript(一种脚本语言,类似JavaScript)项目,构筑在几十个开源项目之上的,有上千程序员和玩家为其编写程序、测试游戏。到目前为止,已经翻译成17种国外语言。       它是一款多人编码游戏,该款游戏的任务就是教会大家如何编程,并且通过游戏来提升开发者的技能水平。因为开源,我们可以为孩子们定制我们希望的样式。人们不需要任何编程知识即可了解程序的运行逻辑,并编出实用的代码。      游戏总共超过9千关,每个步骤都会有语音操作提示(非中文),无论你是新手还是编程精英都可以加入到这款游戏中。最重要的是,你是写代码执行游戏。你要扮演得是一名非常有力量的魔法师,要通过你写代码魔法,让你的人去消灭怪兽(其实是怪物)。看起来像是塔防游戏——《王城保卫战》,但却是一款即时战略游戏。每关都会有对话讲解如何操作(遗憾没有中文)左侧是游戏界面,右侧是代码界面,通过在右侧输入关键语句代码,控制左侧角色的移动和攻击等动作。前几关非常简单,几行“上下左右”和“攻击”的代码即可完成通关。每关结束后都有个回顾,告诉你在上一关学到了什么。当输入错误,比如大小写错误,在代码下方会提示具体的出错信息,玩家可以据此Debug。第二关中,你要先去右边吃蘑菇变强,再去击杀怪物。(点击图片查看具体代码,其实向右移动一步即可迟到蘑菇,代码中是两步)第三关,在击杀第一个怪物后,角色的血也不多了,所以要先去下方喝药瓶。下去喝药瓶,输入代码按回车,角色就会照做。第四关前N关都是编程中最基本的顺序语句,随着关数的提升,像“if…else,then”等判断、循环语句也会逐渐加入,可玩性越来越高。玩家在不知不觉也就具备了编程思维。 标签:编程游戏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值