课程主题:计算机科学2-python
学习内容:介绍参数,变量,如果语句,和算法。
课时:46
适合年龄段:9岁+(适合家长陪孩子一起学习)
如何加入班级学习?(看:为什么通过游戏来学习编程很重要?)
#10。荆棘农场
关卡概览和解法
保卫农场,放过农民难民,同时防止食人魔攻入。
简介
在三个入口附近巡逻,如果看到敌人,就在对应X处建造一个"fire-trap"
建造"fire-trap"状语从句:建造"fence"很类似,只是字符串不一样:
英雄。buildXY (“防火陷阱”,20,20 )
默认代码
#在村口巡逻。
#当你见到食人魔时,建造一个火焰陷阱 “火陷阱” 。
#不要让任何农民受到误伤。
而 True:
英雄。moveXY (43,50 )
最高 = 英雄。findNearestEnemy ()
如果 顶部:
英雄。buildXY (“防火陷阱”,43,50 )
英雄。moveXY (25,34 )
左 = 英雄。findNearestEnemy ()
#检查 `left` 的英文否存在。
#在 25,34 处建造一个陷阱,如果敌人存在的话教育。
英雄。moveXY (43,20 )
#为下面的敌人设置一个变量。
#检查下面的英文否有敌人存在。
#在 43,20 处建造一个陷阱,如果敌人存在的话教育。
概览
食人魔从上,左,下来袭,因此的你循环中需要三组命令:一组用于top,一组用于left,一组用于bottom。
基于top的示例代码关系编写出left状语从句:bottom的代码。
确保在每一组命令中:
- 首先moveXY到X标记
- 到达在标记之后,使用findNearestEnemy定义一个新的敌人变量
- 编写如果语句:如果存在敌人,那么就在X标记处建造一个"fire-trap"
此后,你的循环将反复运行,在三个入口处反复巡逻。
只有在看到食人魔来袭时,你才需要建造火焰陷阱,否则想要进入村庄的农民会被误伤!
如果卡关,可以你看看仔细top那部分代码,left状语从句:bottom的代码可以参照关系着来。
荆棘农场解法
#在村口巡逻。
#当你见到食人魔时,建造一个火焰陷阱 “火陷阱” 。
#不要让任何农民受到误伤。
而 True:
英雄。moveXY (43,50 )
最高 = 英雄。findNearestEnemy ()
如果 顶部:
英雄。buildXY (“防火陷阱”,43,50 )
英雄。moveXY (25,34 )
左 = 英雄。findNearestEnemy ()
如果 离开:
英雄。buildXY (“防火陷阱”,25,34 )
英雄。moveXY (43,20 )
底部 = 英雄。findNearestEnemy ()
如果 底部:
英雄。buildXY (“防火陷阱”,43,20 )
#概念挑战。清除
关卡概览和解法
使用条件(如果)语句来检查敌人是否存在。
简介
这是一个概念挑战关卡:使用条件(如果)语句来检查敌人是否存在。
移动到每个红色的X标记处。
在每个X标记处,检查是否存在敌人,如果存在,则将其击败。
敌人是随机出现的,你无法预测他们会出现在哪里。你必须用条件语句检查。
默认代码
#移动到每个红色 X 标记处,并检查的英文否有敌人在那儿。
#如果敌人存在,在继续前进之前击败他们。
概览
敬请期待!
清理解法
#移动到每个红色 X 标记处,并检查的英文否有敌人在那儿。
#如果敌人存在,在继续前进之前击败他们。
英雄。moveXY (18,14 )
敌人 = 英雄。findNearestEnemy ()
如果是 敌人:
英雄。攻击(敌人)
英雄。攻击(敌人)
英雄。moveXY (62,14 )
敌人 = 英雄。findNearestEnemy ()
如果是 敌人:
英雄。攻击(敌人)
英雄。攻击(敌人)
英雄。moveXY (62,54 )
敌人 = 英雄。findNearestEnemy ()
如果是 敌人:
英雄。攻击(敌人)
英雄。攻击(敌人)
英雄。moveXY (18,54 )
敌人 = 英雄。findNearestEnemy ()
如果是 敌人:
英雄。攻击(敌人)
英雄。攻击(敌人)
#组合挑战。中点
关卡概览和解法
使用XY坐标和如果语句来保护村庄。
简介
这是一个组合挑战!
通过移动到每个X标记并建造"fire-trap",来防止食人魔侵入村庄。
最好只在看到食人魔时才建造陷阱!
你需要使用这些概念:
- XY坐标
- 如果语句
默认代码
#使用循环上下巡逻,并在每个 X 标志处停下。
#建造 “火陷阱” 来阻止食人魔入侵。
#最好只在看到食人魔时才建造陷阱。
概览
敬请期待!
中点解法
- 完整解决方案
- 部分解决方案 1
此解决方案使用所有概念:xy坐标和if语句。
#使用循环上下巡逻,并在每个 X 标志处停下。
#建造 “火陷阱” 来阻止食人魔入侵。
#最好只在看到食人魔时才建造陷阱。
而 True:
英雄。moveXY (32,52 )
topEnemy = 英雄。findNearestEnemy ()
如果 topEnemy:
英雄。buildXY (“防火陷阱”,35,52 )
英雄。moveXY (32,34 )
middleEnemy = 英雄。findNearestEnemy ()
如果 middleEnemy:
英雄。buildXY (“防火陷阱”,35,34 )
英雄。moveXY (32,16 )
bottomEnemy = 英雄。findNearestEnemy ()
如果 bottomEnemy:
英雄。buildXY (“防火陷阱”,35,16 )
英雄。moveXY (32,34 )
middleEnemy = 英雄。findNearestEnemy ()
如果 middleEnemy:
英雄。buildXY (“防火陷阱”,35,34 )
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1518320.html