將來的環(huán)球必是二進(jìn)制的世界:七款有關(guān)編程的游戲

“每個(gè)人都應(yīng)該學(xué)習(xí)編程,它讓你明白應(yīng)該如何思考?!薄返俜颉滩妓?/p>

編輯周思沖2016年04月16日 10時(shí)00分
“每個(gè)人都應(yīng)該學(xué)習(xí)編程,它讓你明白應(yīng)該如何思考?!薄返俜颉滩妓?

喬老先生會(huì)編程,算不上厲害的工程師,但這句話很有煽動(dòng)力。不光喬老先生這樣想,計(jì)算機(jī)產(chǎn)業(yè)的重要性是整個(gè)美國社會(huì)的普遍共識(shí),美國政府也始終堅(jiān)持在普通民眾中大力推進(jìn)計(jì)算機(jī)教育。甚至連奧巴馬都學(xué)過編程,用JavaScript畫出了一個(gè)矩形。再到最近,谷歌的Alpha GO更是讓我堅(jiān)定了一個(gè)信念:將來的世界必是屬于硅基生物的。當(dāng)然,更普遍的看法是:編程很好很重要,但跟我沒關(guān)系,讓工程師折騰去吧。

即使這么想,也不妨玩玩這些跟編程有關(guān)的游戲。本次介紹的游戲,超過半數(shù)是為兒童定制的。別瞧不起它們,其中很多關(guān)卡足以讓你焦頭爛額。你不但能從中學(xué)到基本的編程思想,在一個(gè)游戲里你甚至要寫真正的Swift代碼……OK,戴上你的黑框眼鏡,準(zhǔn)備好可樂和薯片,我們開始。

編程機(jī)器人

本游戲的星級(jí)關(guān)卡相當(dāng)有難度
本游戲的星級(jí)關(guān)卡相當(dāng)有難度

iOS上這類為兒童提供編程思想啟蒙的游戲可謂汗牛充棟,《程序機(jī)器人》(Lightbot)是其中最具可玩性的一款。

我們的作者曾經(jīng)對(duì)這個(gè)游戲?qū)戇^一篇非常詳盡的評(píng)測 ,我就不炒冷飯了。游戲目的是使玩家真正理解循環(huán),條件判斷之類基本的控制結(jié)構(gòu),并用它們來解決問題。它的難度相當(dāng)高,不斷試錯(cuò)的焦慮如鯁在喉,和debug的感覺幾乎沒區(qū)別,可以說是一款自虐佳品。

?

駭客系列

游戲的菜單和界面,看著就很駭客
游戲的菜單和界面,看著就很駭客

《駭客》(Hack)系列是i273, LLC開發(fā)的系列解謎游戲,目前共推出了五作。系列劇情是相連的,其中《駭客逃亡:零》(Hack Run Zero)是《駭客逃亡》(Hack Run)的前傳。游戲目的是滲透進(jìn)某個(gè)大公司的系統(tǒng)獲取信息。雖然你在游戲中扮演黑客,但并不需要你真的有信息安全方面的知識(shí)。只要懂一點(diǎn)類似LINUX的命令行操作方式,對(duì)“破解”事物抱有熱情,這個(gè)游戲就難不倒你。比較難對(duì)付的可能是一些西方典故。例如,在某關(guān)卡里,劇情任務(wù)是猜密碼習(xí)慣非常糟糕的用戶會(huì)使用什么密碼。答案是“Password”,這是西方人最敷衍的密碼。我在這里就試了很多諸如“123456”,“888888”之類的中式密碼,卡了很久。

選擇推薦《駭客時(shí)間》(Hack Time HD)、《駭客逃亡》和《駭客網(wǎng)絡(luò)》(Hack Net)的主要原因,是這幾個(gè)版本對(duì)iPad做了專門的適配。雖然全系列游戲都有iPhone版,但這個(gè)系列不太適合在手機(jī)上玩。不知道你有沒有聽說過“屏幕高度直接影響程序員工作效率”。這是真的,因?yàn)槠聊簧夏芤淮物@示越多行程序,程序員腦袋里的程序結(jié)構(gòu)就越清晰,不會(huì)顧此失彼。這個(gè)游戲也一樣,有的關(guān)卡需要你在多個(gè)系統(tǒng)、郵件里切換,要滾屏的話非常容易記混。在iPad的大屏上一次看清所有文本,能強(qiáng)烈提升游戲體驗(yàn)。

?

代碼探索

我在游戲里制作的怪網(wǎng)頁,“他們的壞網(wǎng)站”
我在游戲里制作的怪網(wǎng)頁,“他們的壞網(wǎng)站”

在《代碼探索》(CodeQuest)中,你可以通過許多小游戲逐步掌握HTML和CSS的用法。你將用圖形化的方法完成一個(gè)屬于自己的網(wǎng)頁。這個(gè)游戲和之前幾個(gè)相比,最大的區(qū)別就是沒有回避“代碼”本身。雖然采用了圖形化的表現(xiàn)形式,但最終產(chǎn)出的代碼都是實(shí)際可用的。當(dāng)然,搭網(wǎng)站沒這么簡單,個(gè)人主頁也過時(shí)了。但是這個(gè)游戲能讓你對(duì)網(wǎng)頁制作形成最基本的認(rèn)識(shí)。

?

編程球

《編程球》(Kodable)制作得很粗糙。拎出來單獨(dú)講的原因是:我第一次遇見將編程和塔防結(jié)合起來的游戲。

你并不需要真的寫這些代碼
你并不需要真的寫這些代碼

游戲的前半部分如同《編程機(jī)器人》的低配版,但進(jìn)入后半程就大不一樣了。在建造防御塔的時(shí)候,你能看見這些防御塔的代碼,而它們就是觀賞用的。大概作者的用意是讓玩家通過這些代碼直接領(lǐng)悟出“面對(duì)對(duì)象”是個(gè)什么東西。也許你天賦異稟,那還真可能在沒有基礎(chǔ)的情況下,從中悟出方法、對(duì)象和類。

Kodable Basics

Kodable Basics
410.51 MB  通用版  免費(fèi)
iTunes下載

?

兒童代碼

《兒童代碼》(Code for Kids),聽上去非常低幼,但這是一個(gè)真刀真槍的編程游戲。游戲的主要內(nèi)容,就是讓你踏踏實(shí)實(shí)地寫Swift代碼。Swift是語法非常簡單的編程語言,游戲還特地對(duì)其進(jìn)行了簡化來方便初學(xué)者。說是游戲,其實(shí)《兒童代碼》更像是一本互動(dòng)教程和簡單的游戲引擎。你可以在游戲里掌握Swift的基本語法,并在游戲自帶引擎的基礎(chǔ)上寫出許多游戲關(guān)卡。游戲的最大缺點(diǎn)是UI設(shè)計(jì),我試了整整一分鐘才發(fā)現(xiàn)要進(jìn)入編程界面必須點(diǎn)擊關(guān)卡名左邊的小鉛筆,而直接點(diǎn)擊關(guān)卡名進(jìn)入的是教程……

我把游戲自帶的關(guān)卡“愛麗絲夢(mèng)游仙境”給改造了一下,使之更符合當(dāng)代人的審美情趣。只要你愿意,可以做出更奇怪的關(guān)卡。

故事大意:愛麗絲遇到王子,愛麗絲吃掉王子,愛麗絲變得很大,然后走掉了
故事大意:愛麗絲遇到王子,愛麗絲吃掉王子,愛麗絲變得很大,然后走掉了

?

如果你沒接觸過編程,希望這些游戲能使你對(duì)編程產(chǎn)生一點(diǎn)興趣。當(dāng)然,編程可能并不好玩:環(huán)境配置、文件配置、等待編譯之類的瑣事會(huì)很快耗光你的熱情。如果你像我一樣接觸過編程又最終放棄,這些游戲還能勾起淡淡的往日情愫……總之,編程沒那么可怕,喜歡就開始動(dòng)手吧,為未來著想!可以想象,當(dāng)天網(wǎng)降臨時(shí),底層的作戰(zhàn)機(jī)器人不會(huì)配備語言識(shí)別系統(tǒng)。這時(shí)你就可以根據(jù)記住的一點(diǎn)計(jì)算機(jī)知識(shí),熟練地大喊出: “0x530x690x720x540x680x690x730x570x610x790x21”

0

編輯 周思沖

zhousichong@chuapp.com

“我和我最后的倔強(qiáng),握住頭像絕對(duì)不放”——清水健。

查看更多周思沖的文章
關(guān)閉窗口