近幾年機(jī)器人編程課大火,街頭巷尾、商場樓宇之間突然冒出了大量的課外班。作為一個碼農(nóng)爸爸,每當(dāng)看到印著喬布斯、蓋茨、有時甚至還有扎克伯格頭像的宣傳材料,難免會有一種心癢的感覺。我也進(jìn)去咨詢過,培訓(xùn)機(jī)構(gòu)的“老師”們?nèi)硕己躰ice,她們耐心地聽取我的問題,解答我的疑惑。當(dāng)她們再三確認(rèn)我并非求職之后,一般會面露難色地告訴我:“36歲來上這個課恐怕不太合適?!?/p>
但她們說我六歲的兒子如果愿意上課她們還是非常歡迎的。好吧,給兒子約了一節(jié)試聽課,課堂效果不錯,老師帶領(lǐng)孩子們玩游戲,通過給一只小瓢蟲設(shè)計行走路線來學(xué)習(xí)基本的程序結(jié)構(gòu),孩子們不知不覺學(xué)到了編程知識,同時玩得還很開心。兒子一下課就興沖沖地跑來對我說:“爸爸我要報這個課!”
我毫不猶豫地拒絕了他。我自己就是一個碼農(nóng)啊,寫程序可是我的工作,孩子不就是想上個機(jī)器人課嘛,這個東西我也可以教,買個機(jī)器人教具就行了嘛。另外,在家教兒子編程最大的好處是,我就可以名正言順地跟孩子一起玩啦!
想到這里,孫繼海,不,爸爸渾身充滿了力量。
打開搜索引擎,開始做功課。短短半天時間,各種美國德國玩具大獎,奶爸虎媽必購清單,天上飛的地下跑的算是了解了個大概,最后,我決定還是買個跟試聽課差不多的機(jī)器人,有過接觸易于上手是其最大的優(yōu)點,當(dāng)然最重要的還是價格便宜。
就是這個叫botley的機(jī)器人,其實很多親子公號都推過,比如“毛爸”這篇:這款玩具,我喜歡至極 | LR Botley編程機(jī)器人體驗報告。
還有“錢兒爸”這篇:編程竟可以不用平板和電腦,這下不擔(dān)心孩子眼睛了。。。。
還有“芊媽”這篇:給孩子入的第1個編程機(jī)器人,我推薦這款。
這幾篇介紹得都不錯,天花亂墜,看完這三篇廣告我差點下了三次訂單。不過我是個程序狗,程序狗一般都很狗(摳門),所以我決定下單之前再看一下亞馬遜海外購。
擦了擦自己的狗眼,我沒有看錯吧?仔細(xì)比較了一番,雖然標(biāo)題不同,但第一個跟第三個是完全相同的產(chǎn)品,這樣看即便加上稅費,國行的價格依然比美亞高一倍不止,而那些公眾號們開的團(tuán)價格普遍也在六七百以上,所以我又給自己省了四百塊錢,開心。
當(dāng)然,省錢的結(jié)果就是要忍受海外快遞公司屎一樣的服務(wù),一利一弊吧,好處也不能讓你占全了。
機(jī)器人到貨之后我先自己試玩了一次。這個botley機(jī)器人被稱為“不需要屏幕”的編程機(jī)器人,這個標(biāo)簽解決了不少家長對孩子過度使用屏幕的擔(dān)心,不過可沒聽過這些家長抱怨孩子看書太多。botley的編程主要通過一個遙控器進(jìn)行,當(dāng)然了,這樣一來編出來的程序肯定不會太復(fù)雜,實際上呢,在編程模式下(還有一個巡線模式),botley能接受四種指令:前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn),另外botley比其他同類行動型機(jī)器人高級的地方在于,它還通過兩個額外按鍵實現(xiàn)了循環(huán)和分支的功能,盡管都是以一種別別扭扭的方式。
所以這個botley就是這么玩的:你為它編制運動軌跡,通過指令序列輸入到遙控器中,然后點擊最大的運行按鍵,機(jī)器人就開始動起來,如果你程序編制正確,最終botley就會停在你希望它去到的位置。
空口無憑,代碼為證(Talk is cheap, show me your code)!我給這個機(jī)器人編制了第一條運動程序,我命令它在這塊紙板場地上轉(zhuǎn)個來回。于是我給它編好程序:
前進(jìn)—前進(jìn)—左轉(zhuǎn)—前進(jìn)—左轉(zhuǎn)—前進(jìn)—前進(jìn)—左轉(zhuǎn)—前進(jìn)—左轉(zhuǎn)
看,小機(jī)器人是多么的聽話,你讓它干啥它就干啥,從不越雷池一步,更重要的是,它可從來不會抱怨你的年齡太大。好啦,趁著兒子還沒發(fā)現(xiàn),趕緊把它重新包裝好,等到兒子不注意的時候再拿出來,對他說:“看!爸爸給你買了什么好玩的?”
兒子拿到玩具后很興奮,跟我想象的差不多。拆開包裝玩的第一個游戲是跟試聽課上一樣的“路線規(guī)劃”,我們倆一個人為機(jī)器人設(shè)置各種障礙,另一個人為機(jī)器人編寫路線程序,讓機(jī)器人繞過這些障礙,到達(dá)最后終點。游戲效果很好,反反復(fù)復(fù)玩了一個晚上,兒子一直很開心。
但總玩兒一個游戲也沒啥意思,畢竟我都快四十了,我也會膩的。MIT的雷斯尼克教授說一個好的玩具應(yīng)該具備三個特質(zhì):“低矮的地板,高高的天花板,以及寬闊的圍墻”。botley這個機(jī)器人地板是夠低了,孩子上手很快,高天花板呢就別想了,四條指令加分支循環(huán)離人工智能差距太遠(yuǎn)。而圍墻寬不寬,這個就要靠玩游戲的人自己的游戲能力了。
于是我和兒子設(shè)計了第二個游戲:擁擠的停車場。
游戲是這樣的,botley站在停車場入口,一臉茫然,它要停到停車場里去,但停車場里有些車位已經(jīng)停了車了,我們需要為機(jī)器人編程,讓它找到合適的停車位停進(jìn)去。
前進(jìn)—前進(jìn)—左轉(zhuǎn)—前進(jìn),這個程序其實比之前的程序還要簡單,但因為換了一個場景,就變得有意義,也更有意思了。兒子很快就被這個新“故事”吸引了,開始聚精會神地給機(jī)器人設(shè)計路線,玩得不亦樂乎,他不厭其煩地將汽車變換車位,然后編寫程序指揮機(jī)器人停車入庫。
但是很快他就又發(fā)明了自己的玩法,他不再每次將機(jī)器人擺到初始位置,而是從各個車位上不停地挪動,就像一個準(zhǔn)備科目二駕照考試的新手司機(jī)一樣,不厭其煩地從一個車位開出來,經(jīng)過一番折騰,挪到另一個車位去,樂此不疲。他甚至為此設(shè)計了好幾個復(fù)雜的停車場地圖,地形復(fù)雜程度堪比縮小版的西紅門薈聚地下停車場。
這讓我想起了自己。我本身是一個停車?yán)щy癥患者,有一次我下車后看到了一個更好的空位,非要重新上車將停好的車開出來,擠過一個狹窄的通道,結(jié)果把旁邊的車給刮了,你看,真是有其子必有其父!
開心的一天結(jié)束了,兒子在我的反復(fù)催促下戀戀不舍地上了床。確認(rèn)他睡著以后,我把機(jī)器人又翻了出來,現(xiàn)在是我自己的游戲時間啦!
我給停車場游戲做了個改進(jìn),改進(jìn)后的機(jī)器人事先不知道哪個位置可以停車,它要自己尋找空閑車位,并在找到之后停進(jìn)去。這段程序復(fù)雜一點,需要用到機(jī)器人的IF分支功能,這個功能,算了,以后再講吧,老婆又來催我睡覺了。