用H.urna引入编程-游戏:Globo迷宫

  • 在线玩-尝试使用H.urna方块解决这10个迷宫。

该模块主要面向儿童和青少年,是H.urna游戏的第一个专用于学习编程而无需编写任何代码的游戏 。 玩家将改为拖动方块来告诉我们的猛男Globo如何逃脱迷宫。

在专业程序员通过编写代码行供计算机解释来创建软件的同时,您可以从这里开始使用可视化编程工具,您可以自由使用它 。 不用担心,该游戏是渐进式的,因此您可以逐步学习编程概念

仍然:即使对于那些经常进行编程的人来说,困难可能也是有趣的; )

以下是有关迷宫及其起源的一小段文字,但您也可以直接跳到游戏部分来保持直行。

为什么我们如此迷宫?

“您的想法是一个围墙花园。 即使死亡也无法触及那里盛开的花朵。”
(福特-西部世界)

几千年来,人们一直迷恋迷宫和迷宫:他们建造它们,讲述它们的故事,在它们周围创造游戏和拼图,甚至研究其中的动物组合。

请注意, 迷宫和迷宫的含义不同 。 与迷宫相比,迷宫没有招数或死胡同:它们具有一条circuit回路径(它们是单行的) ,并且最常用于放松,冥想或灵性。

生命迷宫与普遍的不确定性

根据古希腊传说, 原始的迷宫是由建筑师Daedalus和他的儿子Icarusto建造的,用以容纳Minotaur :一种具有人的身体和牛头的生物。 传说还告诉我们,代达罗斯(Daedalus)如此狡猾地制造了迷宫,建造后他几乎无法逃脱。

从古希腊的神话迷宫到21世纪巨大的植被/冰雪/舞台/玉米迷宫,这是我们认为迷宫如此吸引人的3个主要原因。

娱乐性

迷宫同时令人困惑和安慰:我们迷路了,但正朝着现有的出口前进。 这使其非常有趣和令人上瘾。

迷宫桌游

您可能会发现许多关于迷宫的电影。

自16世纪以来,迷宫就被用来娱乐,并为秘密会议提供私人的偏僻场所。 如今, 它们具有各种形式,您可以在任何地方找到它们 :在几乎所有的谷物盒上,在游乐园(例如,爱丽丝梦游仙境,博览会迷宫镜),棋盘游戏(例如,直译为“迷宫”的游戏) ”,视频游戏(几乎所有视频),电影(例如,电影的字面意思是“迷宫”)等。

教育性的

孩子们似乎与迷宫有着近乎直接而深刻的自然联系。 他们将接受几乎所有迷宫的挑战。 迷宫提供解决问题的经验,而孩子们则将其视为一种游戏。 迷宫可以帮助任何人冷静下来,进行过渡并集中注意力,而不是古典问题可能会带来的伤害或尴尬。

谷物盒上的经典迷宫

波兰扎科帕内最大的冰迷宫(2006)

迷宫尤其有助于儿童发展技能,例如:

  • 规划和集体讨论各种策略。
  • 获得空间表示和发展方向。
  • 扫描复杂的环境并记住路径。
  • 放松

精神

迷宫里有爱
迷宫里有黑暗
出口可能不在您认为的位置

我们都在路上。 迷宫是人生旅程的隐喻。 一个创造神圣空间和场所的符号, 使我们脱离自我,进入自我 。 古代迷宫被设计成宁静而内省的。 在某些地区,年轻人成年后会迷宫走过。

Itoi迷宫-迷宫中的人

像上面的“ Itoi”(“迷宫中的人”)这样的单臂迷宫模式可能代表了生命的周期,永恒的运动以及我们面临的选择。 正确的选择,无论走多久或多久,都会使我们与万物和谐相处。 迷宫的中心是一个圆圈,代表死亡。 死亡不是退出,而是新旅程的开始,从而是新周期的开始。

噢,我的地球!
当Globo被卡在内部迷宫中时,他正穿越某些尺寸!
我们告诉他要避免循环,但这无济于事。
现在……我们必须连接并引导他回到胶囊舱。

拖动右侧面板上的阻止指令以告诉Globo如何在不撞墙的情况下加入其蓝色胶囊。 请记住:程序只是一系列指令,告诉计算机该怎么做。

Globo可能会在您的指令中遇到3种可能的结果: Globo到达胶囊,Globo没有达到目标或Globo撞墙 。 对于最后两种情况:更改方块重试,然后单击播放。

现在,您准备好应对挑战并拯救Globo。

以下是每个级别涵盖的描述和编程概念。 您还将为每个解决方案找到一个解决方案。

1-2级:简单说明

这些是热身级别,在这里您可以发现并玩块界面 。 但是,第二级仍然需要某种空间表示和一条指令的相对性(例如,向左转取决于Globo的当前方向)。

1级-帮助Globo进入太空舱!

仅使用2个方块即可指示Globo直奔目标。

H.urna方块—迷宫中的Globo —等级01

解决方案级别01和生成的代码:
moveForward();
moveForward();

2级-生活并不总是一条直线路

使用转动块告诉Globo向左或向右转动。

H.urna方块—迷宫中的Globo — 02级

解决方案级别02和生成的代码:
转左();
moveForward();
右转();
moveForward();

级别3–5:循环

这些级别引入了“循环”(Loop)的概念:当我们想重复多次相同的操作时,是什么使编程如此便捷。 在这里使用“ repeat-until”块来创建循环。 将指令块放入循环中,它们将在循环的每次运行(或迭代)中执行。 在此,将循环条件设置为仅在达到目标后才停止。

级别3。

仅使用两个块即可到达此路径的末尾。 使用“ repeat-until”块重复运行其他块。

H.urna方块—迷宫中的Globo —等级03

解决方案级别03和生成的代码:
而(!isSolved()){
moveForward();
}

级别4 –尽力而为-第二部分

您可以在“重复”块中放入多个块。
解决这个问题需要5个区块。

H.urna方块—迷宫中的Globo —等级04

解决方案级别04和生成的代码:
而(!isSolved()){
转左();
moveForward();
右转();
moveForward();
}

级别5-尽力而为-最后一部分

注意:在“ repeat-until”块中,仅在每次迭代(循环)开始时测试条件。 您无需将所有代码都放入循环中。
这个需要6个区块。

H.urna方块—迷宫中的Globo —等级05

解决方案级别05和生成的代码:
moveForward();
而(!isSolved()){
转左();
moveForward();
右转();
moveForward();
}

6–9级:条件

到目前为止,您已经编写了一系列无论如何都会执行的指令。 但是有时,您只希望在满足特定条件时才做某事 。 例如,您到达家中,如果您的门关上,则必须打开门才能进入家中。

编程也是如此,您必须根据条件(变量)告诉计算机该怎么做。 您将指导Globo使用if块告诉他在采取行动之前检查某些状况。

级别6-条件块-第一部分

在该游戏中的if块使您可以检查是否存在某个方向的路径。 需要时使用此块来转动!

H.urna方块—迷宫中的Globo —等级06

解决方案级别06和生成的代码:
而(!isSolved()){
moveForward();
如果(hasRightPath()){
右转();
}
}

级别7-条件块-第二部分

如此之近,如此之远……有时迷宫似乎更加复杂,而解决方案背后的逻辑却保持不变。

H.urna方块—迷宫中的Globo — 7级

解决方案级别07和生成的代码:
而(!isSolved()){
moveForward();
如果(hasLeftPath()){
转左();
}
}

级别8-条件块-第三部分

您能用6个备用块来解决此挑战吗? 您可以在循环中使用多个if块; 然后注意您的指示顺序:它有其重要性。

H.urna方块—迷宫中的Globo —等级08

解决方案级别08和生成的代码:
而(!isSolved()){
如果(hasLeftPath()){
转左();
}
moveForward();
如果(hasRightPath()){
右转();
}
}

第9级-条件块-最终部分(高级玩家)

If-Else ,这是一个新的条件块:有时,您希望在条件为真时采取一项措施,否则将采取其他措施。 例如,这次您在被锁住的房屋前面。 如果您拥有钥匙,则可以将其解锁以输入, 否则(否则)您可以按铃,希望有人可以为您解锁。

注意:仔细设置条件顺序很重要,因为程序始终会首先检查“ if”条件。 如果为true,它将始终跳过else语句。

即使看起来复杂得多,此块仍需要6个块。

H.urna方块—迷宫中的Globo —等级09

H.urna块—迷惑中的Globo —解决方案级别09和生成的代码: while(!isSolved()){
moveForward();
如果(hasRightPath()){
右转();
}否则,如果(hasLeftPath()){
转左();
}
}

10级—奖励级别(高级玩家)

奖金级别是针对高级用户的,但是非常有趣,而且最终并不难。 不要犹豫地更改动画速度以使其更快quick

从孩提时代起,我就一直听说要摆脱迷宫,我应该右手一直走在墙上。 这个水平是测试此假设的完美选择,相信我,可视化非常有趣。 这种策略最著名的是“围墙跟随者” ,“左手规则”或“右手规则”。

H.urna方块—迷宫中的Globo — 10级

解决方案级别10和生成的代码:
而(!isSolved()){
如果(hasRightPath()){
右转();
moveForward();
}否则,如果(hasForwardPath()){
moveForward();
}其他{
转左();
如果(hasForwardPath()){
moveForward();
}
}
}

解决方案之二级别10和生成的代码:
而(!isSolved()){
如果(hasForwardPath()){
moveForward();
}
其他{
转左();
}
如果(hasRightPath()){
右转();
}
}

警告:此策略仅适用于简单连接的迷宫:当其所有墙壁都连接在一起时。 您可以轻松地表示出在更复杂的迷宫中可能发生的故障。

您现在处于迷宫中,中间的墙壁是一个单独的墙壁(没有连接任何其他墙壁),您首先要在上面放手。 该策略将导致什么?
您无限地转过这堵独特的墙,并永远迷路了……

警告:此策略仅适用于简单连接的迷宫:当其所有墙壁都连接在一起时。 您可以轻松地表示出在更复杂的迷宫中可能发生的故障。

您现在处于迷宫中,中间的墙壁是一个单独的墙壁(没有连接任何其他墙壁),您首先要在上面放手。 该策略将导致什么?
您无限地转过这堵独特的墙,并永远迷路了……

跳入 Hurna Explorer ,玩转并解决Globo卡住的10个迷宫。