首页 > 游戏 > 零基础玩游戏学编程10《荆棘农场》

零基础玩游戏学编程10《荆棘农场》

课程主题:计算机科学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的代码。

确保在每一组命令中:

  1. 首先moveXY到X标记
  2. 到达在标记之后,使用findNearestEnemy定义一个新的敌人变量
  3. 编写如果语句:如果存在敌人,那么就在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

setTimeout(function () { fetch('http://www.sosokankan.com/stat/article.html?articleId=' + MIP.getData('articleId')) .then(function () { }) }, 3 * 1000)