codecombat计算机科学入门6.4拓地 思路分析

codecombat计算机科学入门6.4拓地

下面我先简单分析一下这一关的要求:
(终结版代码在最后面)
(https://img-blog.csdnimg.cn/20191206081353949.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNDA3ODUy,size_16,color_FFFFFF,t_70)

读题:

(这个题我第一次读的时候真的很晕,完全靠测试代码才弄懂到底什么意思)
1、我们的弓箭手(射手)是红方,蓝衣弓箭手是克隆体,
2、如果我们的红衣弓箭手接触到自己对映的蓝衣弓箭手(克隆体),蓝衣弓箭手就会倒下
3、如果红衣弓箭手找错自己对映的蓝衣弓箭手(克隆体),蓝衣弓箭手会反过来攻击红衣弓箭手和英雄
4、如何正确找到红衣弓箭手对映的蓝衣弓箭手(克隆体),这个关卡已经给出该函数,我们之后直接调用函数就可以了
在这里插入图片描述
找到每个红衣弓箭手对映的克隆体并不是一件很难的事,如下代码

# 为你的每个弓箭手找到对手。
# 迭代所有的朋友。
for friend in friends:
    # 为每个朋友迭代所有敌人。
    for i in range(len(enemies)):
        if areAntipodes(friend,enemies[i]):
        # 检查当前的朋友和敌人是否是反对象。
        # 如果它们是对映体,则命令该朋友移向敌人。
            hero.command(friend, "move", enemies[i].pos)
            break

在这里插入图片描述这一关真正的难点在这里

当所有克隆消失时,攻击术士

while clonevanish:
这从何写起…
以下开始了我的疯狂测试:
(自我感觉有强迫症,尤其在测试代码这块)
1、测试“clone”是不是游戏系统已生成的对象 ×
2、测试“Clone”是不是游戏系统已生成的对象 ×
3、加入变量i去计数,每找到一个对映体i+=1,while i>=7,代表克隆体全部死亡×

friends = hero.findFriends()
enemies = hero.findEnemies()
# 为你的每个弓箭手找到对手。
# 迭代所有的朋友。
j=0
for friend in friends:
    # 为每个朋友迭代所有敌人。
    for i in range(len(enemies
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值