美文网首页少儿教育
第四课 实践-空中坠落[计算机科学入门(Minecraft)]

第四课 实践-空中坠落[计算机科学入门(Minecraft)]

作者: 辣椒爸 | 来源:发表于2019-08-25 15:17 被阅读3次

    Minecraft世界中到处都有很高的地方。让我们使用事件处理块和计数器提供一份当你从高处坠亡的事后报告。这份死亡报告将会展示你在重生之前掉落的距离(也就是块数)。
    对于这个项目,你希望处在一个拥有巨大悬崖的世界。或者,你可以在创造模式和生存模式之间切换,飞到一个很高的位置来进行测试。
    你将创建一个变量来跟踪你掉落的距离,并在重生后以块为担保报告掉落的距离。

    实践
    拉出聊天命令和玩家事件
    1. 创建一个MakeCode项目,命名为“Falling”。
    2. 从玩家工具箱,拖放一个聊天命令到工作区。
    3. 右键点击聊天命令,选择右键菜单重复。复制两次,最终得到三个聊天命令块。
    4. 三个聊天命令依次命名为"cr"(creative),"su"(survival),"pm"(postmortem)。
    5. 从玩家工具箱,拖放两个事件块到工作区:当玩家步行时、当玩家死亡时。
    6. 当玩家步行时,改为当玩家坠落时。


    创造模式

    首先要做的第一件事是构建聊天命令"cr"。这个命令会让游戏进入创造模式。你可以在创造模式下飞行,所以这非常有助于飞到高处。

    1. 从游戏内容工具箱,拖放更改游戏模式到工作区中的聊天命令"cr"中。
    2. 将更改游戏模式块中的默认生存改为创造(可能翻译为创意),目标玩家改为你自己(@s)。


    现在为了切换到创造模式,你只需要在Minecraft游戏世界中的聊天窗口中输入"cr"并回车即可。然后两次敲击空格键你就可以向上飞到任意希望的高度。

    生存模式

    此时你将希望使用同样的策略将游戏模式更改为生存模式。(只有生存模式下玩家才会坠亡)

    1. 从游戏内容工具箱,拖放更改游戏模式块到工作区中的聊天命令"su"内。
    2. 目标玩家改为你自己(@s)。


    创建变量fall
    1. 在变量工具箱中,点击设置变量按钮,弹出的对话框输入变量名"fall"后点击确定。
      这个变量将递增(累加)玩家落下的每一个块。你也将使用另外一个变量来存储玩家最终到坠落位置的块数。
    跟踪坠落
    1. 在变量工具箱中,点击设置变量按钮,弹出对话框输入变量名为"report"后点击确定。
    2. 在变量工具箱中,拖放以1为幅度更改变量到工作区中的当玩家坠落时事件块内。
    3. 选择变量为fall以取代默认的变量。
    4. 从变量工具箱,拖放两次将变量设置为0块到工作区中的当玩家死亡时事件块内。
    5. 从变量工具箱中,拖放变量fall到工作区替换当玩家死亡时事件块中的将第一个设置变量为0块中的0。
    6. 第二个将变量设置为0块中,从下拉选项中选择变量fall。
      这样将会将最新的fall变量的值保存到report,然后你可以将fall重置为0并进行一个坠落测试。

    当你从42块高的地方坠落后将发生如下的事情:

    1. 你坠落了42块的距离。
    2. 变量fall的值为42。
    3. 复制42到变量report。
    4. fall变量的值重置为0。
    5. 打印report信息。
    6. 你找到别的地方再次跳下去。


    报告坠落高度

    最后,你需要打印坠落高度的信息。

    1. 从玩家工具箱,拖放说"Hi"代码块到当聊天命令"pm"块内。
    2. 从高级>文本工具箱中,拖放组合字符串块替换说"Hi"中的文本"Hi"。


    将变量加入到消息中
    1. 修改组合字符串中的"您好"为"you fell "。
    2. 从变量工具箱中,拖放变量report替换组合字符串中的"世界"。
    增加更多打印信息

    目前打印的信息如"you fell 43",这样是令人疑惑的,你希望打印类似"you fell 43 blocks"的信息。为了这样做,你需要切换到JavaScript模式。

    1. 点击工作区上方的JavaScript切换按钮,切换到MakeCode中的JavaScript编辑模式。

    到目前为止,您尝试的所有块编码也可以以原始形式查看。不要被吓倒 - 只要看看,并尝试阅读它,因为你会读句子。通过在Blocks和JavaScript之间来回查看,您可以很好地了解它的功能!

    1. 找到这行代码player.say("You fell " + report)
    2. 增加字符串"blocks"到字符串组合的最后,修改如下:
    player.say("you fell " + report + " blocks")
    
    返回方块模式
    1. 点击工作区上方的方块按钮可以切换到MakeCode方块编辑模式。
      你看到方块部分发生了怎样的变化吗?你敢于在JavaScript模式下尝试和修改更多内容吗?看看会发生什么?
    试试命令

    现在进入到Minecraft游戏中,输入命令"cr"进入创造模式,两次敲击空格键,按住空格键向上飞直到你飞到足够的高度,然后输入"su"命令切换到生存模式从而坠落到地面。死后单击重生,输入命令"pm",你可以看到打印信息展示了坠落了多少块的距离!


    完整的程序
    挑战

    现在你可以改变一些东西,来创建你自己的不同的、独一无二的情形。

    挑战一 直接打印信息块

    你能找到一种方式直接在Minecraft世界中用方块输出报告吗?你认为这种方式比在聊天窗口显示报告更易读吗?
    这是你需要做的:

    • 把说Hi块改成别的。你能找到能让你打印信息的功能块吗?
    挑战二 创建变量追踪所有坠落的距离块

    当前,代码会报告你最后一次坠落的信息,但是报告你多次坠落的总块数哪?如果你坠落40个块,然后再次坠落50个块,总块数是90个块。输入"pm"命令会打印"you fell 50 blocks"。你的新聊天命令"tot"(total)将会报告"You have fallen 90 blocks total so far! Keep Jumping!"。
    这是您需要做的:

    1. 你需要一个新的变量来存储总的坠落距离块数。
    2. 你每次坠落需要设置变量增加fall的块数。
    3. 你需要建立一个新的聊天命令"tot"(total)或者其他你认为的名称。这无关紧要。
    4. 你需要使用组合字符串来组合文本和变量输出需要打印的信息。


    实验

    这里没有规则,复制并探索性的改变代码看看你能创造出什么,实验部分仅给出建议,做出你自己想做的东西!

    实验一 跟踪游泳的距离

    如果你要报告游泳的距离该怎么办?你也可以报告其他的动作。你可以跟踪多个动作,并最终汇总它们,或者提供一个完整报告来显示所有你做的事情。使用代码并查看可能报告的内容和存储在变量中的内容。

    相关文章

      网友评论

        本文标题:第四课 实践-空中坠落[计算机科学入门(Minecraft)]

        本文链接:https://www.haomeiwen.com/subject/gdlhectx.html