Blockly Games 是一系列編程教育小游戲,專門為沒有計算編程經(jīng)驗的兒童設(shè)計。它用谷歌2012年推出的可視化編程語言Blockly語言制作,它是完全開源的,你可以在github(https://github.com/google/
blockly-games)找到源碼自行搭建。不會自己搭建也沒有關(guān)系,已經(jīng)有人搭建好了,搜索“少兒編程教程網(wǎng)”(https://blockly-games.kidscoding8.com/block
ly-games/zh-hans/index.html?lang=zh-
hans)就可以找到“Blockly游戲”,不管你是否有編程經(jīng)驗,Blockly游戲都能讓你在燒腦的同時提升編程能力。
Blockly 游戲共計七個大關(guān)卡五十余個小關(guān)卡,難度逐步提高。迷宮這個大關(guān)卡主要目標(biāo)是建立循環(huán)和條件判斷兩種編程的基本概念。希望你能在正確解題之后通過分析路線敘述思路試試不同的解決方案并嘗試繼續(xù)精簡模塊,這樣一定能更好提升能力。
一般人會在迷宮第十關(guān)遇到第一個難關(guān)。這一關(guān)要求在9個積木內(nèi)走到終點。
題目的提示是一直沿著左邊墻行走。
這個提示就是迷宮常見的解法左手法則,就是對于出口在外墻上的迷宮一直沿著左邊的墻壁走,所有的路口都向左轉(zhuǎn)就總能到達出口。
為了完成一直左轉(zhuǎn),我們首先判斷如果有向左轉(zhuǎn)的路口就左轉(zhuǎn)并進入,如果沒有左轉(zhuǎn)路口就優(yōu)先向前走其次向右走,如果都沒有(斷頭路)就向左轉(zhuǎn),這樣就可以繼續(xù)左轉(zhuǎn)前進了。
在根據(jù)提示完成有優(yōu)先左轉(zhuǎn)的通用解題思路之后,我們還可以根據(jù)這個迷宮的地圖看看能不能找一條最快到達的路線。關(guān)鍵在于第二個路口是一個三叉路口需要向右轉(zhuǎn)前進,所以判斷時優(yōu)先向右轉(zhuǎn),其他路口向左轉(zhuǎn)并前進。
如果你覺得這個游戲很有趣,以后我們還可以繼續(xù)探討后面更難的關(guān)卡。