《編程機(jī)器人》:胸中有塊壘,大腦漲智慧

樂趣是科學(xué)的內(nèi)稟屬性,只要把其中的趣味分出一絲到游戲中,就會讓玩家產(chǎn)生強(qiáng)大的追求動機(jī),把游戲性發(fā)揮到極致,《編程機(jī)器人》或許就是一款這樣的游戲。

作者權(quán)發(fā)遣提點(diǎn)兩浙西路通政公事2015年11月25日 14時00分

21972年,圖靈獎得主艾茲赫爾·戴克斯特拉曾說過:“我們使用的工具影響了我們的思維方式和習(xí)慣,進(jìn)而也將深刻影響我們的思維能力?!焙喍灾?,工具參與塑造了我們的思想。關(guān)于這一點(diǎn),還有一句更加通俗易懂的箴言——手里拿著榔頭,你瞅啥都像釘子,總想去敲上一敲。正所謂“身懷利器,殺心自起”是也。

本文要討論的,就是一款訓(xùn)練思維的游戲《LightBot》,中文譯作《編程機(jī)器人》或者《燈光機(jī)器人》。游戲中玩家會控制一臺小機(jī)器人對它下達(dá)指令,目標(biāo)是將地圖內(nèi)的藍(lán)色磚塊全部點(diǎn)亮為黃色。

聽起來雖然簡單,但實(shí)際玩起來異常燒腦。要知道所有和智商掛鉤的游戲都有這樣一個特點(diǎn):前菜好過,戲肉難纏。玩家能夠很快熟悉游戲規(guī)則,卻被困死在一些喪心病狂的關(guān)卡內(nèi),正如這個圖片的笑話(點(diǎn)擊查看)所揭示的。

《編程機(jī)器人》的游戲過程類似于編程解題的套路,每個玩家都對這個譯名深以為然,你可以對機(jī)器人下達(dá)以下幾個基礎(chǔ)指令:

前進(jìn):機(jī)器人向前走一格,遇到障礙將被阻擋。 點(diǎn)燈:機(jī)器人執(zhí)行一個點(diǎn)燈動作,腳下的藍(lán)色地磚將被“點(diǎn)亮”成黃色,黃色地磚將被“點(diǎn)暗”成藍(lán)色,灰色地磚無效果。還有一些小機(jī)關(guān),也可以用點(diǎn)燈動作觸發(fā)。 左轉(zhuǎn):機(jī)器人面朝左轉(zhuǎn)。 右轉(zhuǎn):機(jī)器人面朝右轉(zhuǎn)。 跳躍:機(jī)器人向上可跳躍一格臺階,向下跳躍臺階數(shù)不限,平地跳躍無效果。

7

我們知道,一般的編程語言都有3種控制結(jié)構(gòu):順序、選擇和循環(huán)。除了順序控制結(jié)構(gòu)外,玩家還可以在某些關(guān)卡中將一些指令涂成特殊顏色,機(jī)器人站在相應(yīng)顏色的地磚上會執(zhí)行被涂色的指令,相當(dāng)于編程中的“if…then…”判斷。

玩家可以下達(dá)的指令是有限的,如何在有限的步數(shù)內(nèi)控制機(jī)器人完成預(yù)設(shè)的任務(wù)目標(biāo)則是挑戰(zhàn)之一,這好比律詩需要在篇幅和格律的框架內(nèi)抒發(fā)作者的情感意圖,這才是最令人絞盡腦汁的地方。因此,游戲在多數(shù)關(guān)卡中都提供了函數(shù)功能。函數(shù)的編寫方式和主程序并無不同,差異在于機(jī)器人只運(yùn)行主程序,函數(shù)只有被主程序調(diào)用時才能執(zhí)行。有了函數(shù),主程序就可以多次重復(fù)調(diào)用它,用一個指令來完成一大堆操作。而且函數(shù)之間也可以互相調(diào)用,甚至函數(shù)還能調(diào)用自身形成遞歸,讓循環(huán)一直持續(xù)下去。

加入循環(huán)功能之后是不是更有點(diǎn)編程的味道了?
加入循環(huán)功能之后是不是更有點(diǎn)編程的味道了?
從易到難,循序漸進(jìn)
從易到難,循序漸進(jìn)

講到這里,聰明的讀者應(yīng)該感受到了,這款游戲在娛樂之外還另有目的,就是本文開頭提到的“用工具塑造思維”。

隨著計算機(jī)運(yùn)用的普及,越來越多的工作需要執(zhí)行者引入一種“計算思維”來提升效率。什么是計算思維?我們可以參考某網(wǎng)站的定義:計算思維是運(yùn)用計算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計以及人類行為理解等涵蓋計算機(jī)科學(xué)之廣度的一系列思維活動。

簡而言之,就是用計算機(jī)的邏輯來思考問題,進(jìn)而設(shè)計出計算機(jī)能夠理解的解決問題的方法。比如在《編程機(jī)器人》中,機(jī)器人聽不懂“點(diǎn)亮所有藍(lán)色磚塊”的人類語言,玩家必須模擬機(jī)器人的行動邏輯來下命令:前進(jìn)、左轉(zhuǎn)、前進(jìn)、跳躍、點(diǎn)燈、重復(fù)上一循環(huán)……

一道比較復(fù)雜的關(guān)卡,你需要編寫兩段程序并靈活運(yùn)用循環(huán)命令,而且其中還包含了條件與中斷
一道比較復(fù)雜的關(guān)卡,你需要編寫兩段程序并靈活運(yùn)用循環(huán)命令,而且其中還包含了條件與中斷,比如站在彩色磚塊上點(diǎn)燈把機(jī)器人染色,才能執(zhí)行相應(yīng)色彩的指令

這種模擬引導(dǎo)的激發(fā)效果是很明顯的,簡單來說就是“心猿意馬”——玩家心中的程序員很快就會覺醒,大腦好像會被慢慢植入一套軟件,你的思維越接近一板一眼的機(jī)器人,過關(guān)的進(jìn)度就越快,讀代碼的感受也越加直觀。在我的認(rèn)知中,唯有“珠心算”能與之相比。據(jù)學(xué)過的朋友回憶,玩珠心算的時候腦子里好像加載了一個“珠算”App,計算的過程就是撥弄虛擬算珠,工具對于思維的影響力可見一斑。

一則和程序員有關(guān)的段子,你看懂了么?

對于普通人來說,程序員仍是一類比較神秘的物種。盡管我們經(jīng)常在網(wǎng)上看到一些段子,但流傳最廣的往往都是揶揄“程序員≈單身狗”的低等笑話,真正專業(yè)的梗通常需要一定編程基礎(chǔ)才能看懂,所以也就剩下同行之間以自黑為目的的轉(zhuǎn)播。低等笑話傳得多了,連外人每每看到程序員的帖子都會習(xí)慣性地先黑一把。

《編程機(jī)器人》的遭遇也差不多,雖然沒人黑,但它的玩法不像《2048》或者三消游戲那樣簡單直白,上手存在一定難度,因此盡管在一些小圈子里名氣頗大,但在App Store上的經(jīng)營還是蠻慘淡的。這款游戲被歸類為適合9~11歲兒童,我居然玩得如此投入與咬牙切齒……

如今,有一類以教授知識技巧、提供專業(yè)訓(xùn)練和模擬為主要內(nèi)容的游戲被稱為“嚴(yán)肅游戲”?!毒幊虣C(jī)器人》或許身屬其中,它訓(xùn)練玩家掌握最簡單的計算思維,通過簡約、轉(zhuǎn)化和仿真等方法,把編程這種高大上的活計有趣地展現(xiàn)在普通人面前。當(dāng)然,有趣不等于無腦,它就像那些內(nèi)涵程序員段子一樣,只會被少數(shù)人所鐘愛。畢竟在我們這個國家,有七成網(wǎng)友都贊成“數(shù)學(xué)滾出高考”呢。

icon128-2x玩家或許都有過在游戲時注意力特別集中的體驗(yàn),在玩《編程機(jī)器人》的時候,這種感覺尤為明顯,機(jī)器人的步伐調(diào)試簡直就像編程Debug,胸中如同有塊壘難消,口中念叨著“走左跳跳燈”的密咒,戟指皺眉,狠狠按壓屏幕,一次次失敗,一次次又覺得下次嘗試沒準(zhǔn)就能成功。要是過不了一關(guān),心心念念的都是哪一步可以再壓縮、哪一步可以納入循環(huán),十個女朋友都拉不回來。而若是成功突破一個星級關(guān)卡,那酸爽,真想對空鳴槍一百發(fā)。

樂趣是科學(xué)的內(nèi)稟屬性,只要把其中的趣味分出一絲到游戲中,就會讓玩家產(chǎn)生強(qiáng)大的追求動機(jī),把游戲性發(fā)揮到極致。玩1小時《編程機(jī)器人》,你的心情+2,智慧+1,注意力集中度+500,饑餓感消失。

不過說實(shí)在的,游戲自帶的BGM機(jī)械感實(shí)在太強(qiáng),根本不適宜人類思考,我忍了兩分鐘就怒關(guān)了,改為在后臺循環(huán)其他樂曲。在此感謝肖邦的《降E大調(diào)夜曲》、巴赫的《G大調(diào)小步舞曲》和維瓦爾第的《春》,伴我度過許多個沉思的夜晚。

官方網(wǎng)站:lightbot.com

* 本文系作者投稿,不代表觸樂網(wǎng)站觀點(diǎn)。

0

作者 權(quán)發(fā)遣提點(diǎn)兩浙西路通政公事

361718603@qq.com

軍爭之難者,以迂為直,以患為利。故迂其途,而誘之以利,后人發(fā),先人至,此知迂直之計者也。

查看更多權(quán)發(fā)遣提點(diǎn)兩浙西路通政公事的文章
關(guān)閉窗口