下载 App
《3D图形化编程农场》开发日志 03|新手教程,从第一行作物开始
第三天,我把新手教程的起点收到了五块地上。
前两篇聊了为什么做这个游戏,以及怎样从一颗种子走向第一段程序。这次,我想继续解决一个具体的问题:玩家第一次打开游戏,怎样迈出第一步?
做了 7 年图形化编程教学,我很在意入门时给孩子呈现的内容。完整的农场可以有很多机器人、作物和设施,但站在新手的角度,眼前每一样东西都要认识。我希望先给他们一个容易看懂、也能亲手尝试的小目标。
于是,游戏里有了单行模式:一排五块土地,一个机器人,从中间的 (0,0) 出发。左边是 -1、-2,右边是 1、2,这一排的 Y 坐标都保持为 0。
这一行就是最初的练习场。先移动,再开垦、播种、浇水。玩家可以看着脚下的地块发生变化,知道每条指令在做什么。教程使用独立的练习农场,退出后可以回到原来的作品,也可以从主页创建自己的农场。

开发中的实机画面:左侧是五格单行练习场,右侧是循环种植程序的试搭,最后一轮的移动还需要调整。
熟悉一格地的操作之后,我用“种好这一整排”来继续解释程序。
首先要弄清楚的,是初始位置。
机器人出生在中间,而这一排的第一块地在最左边。如果直接开始种植,它就会从中间干活。因此,这段程序先让机器人前往 X=-2、Y=0,再沿着 X 增加的方向移动。
这也是我想让玩家逐渐形成的习惯:运行之前,先想清楚机器人从哪里出发、接下来往哪里走。固定起点以后,再修改程序,就更容易比较两次运行有什么不同。
然后,“循环”就有了一个看得见的用途。
种一格地,需要完成一组动作;种下一格,又要完成相同的一组动作。把“开垦、浇水、播种、移动”放进重复积木,机器人就能沿着这一排连续工作。重复次数不再只是输入框里的一个数字,它和眼前的土地联系了起来。
不过,在整理截图中的程序时,我也发现了一个很适合留给新手思考的问题:
五块地需要种五次,但地块之间只需要移动四次。

截图里把整组动作重复了 5 次。假设机器人从最左边朝右走,最后一轮种完 X=2 的地块后,还会尝试走到 X=3,超出这排土地。
一个容易理解的修改办法是:先重复 4 次“种植并移动”,到达最后一格后,再完成一次种植。这样,五块地都能处理,机器人也会停在农场里面。
我希望这类问题能成为游戏里的探索机会。玩家可以数一数土地,看看机器人停在哪里,再挪动或修改一块积木,验证自己的想法。亲手把程序改对,也是编程带来的成就感。
为了方便触屏修改坐标和重复次数,我还加了数值小键盘,支持负数、小数和加减乘除。输入时能预览结果,确认后才填入积木。
这一排作物有明确的程序和结果,它先帮助玩家掌握基础规则。等到农场扩大,需要安排不同区域、不同机器人的工作时,这些基础规则就有了更多组合的空间。
对我来说,这正是这次“涌现”主题吸引我的地方:从一个清楚的起点、几个简单动作开始,慢慢长出玩家自己的种植方法。
今天先把第一行农田做好。接下来,我会继续打磨这些小小的提示和反馈,让玩家既能看到机器人怎样工作,也能理解自己为什么这样编程。








