有,大概接觸過一些有趣的puzzle game,能夠鍛煉人的思考能力或者掌握一些知識。
不過知識的定義很廣泛,而且透過遊戲來學習效率並不高(無法代替專業學習),但重在趣味性。
有三類遊戲:
一者是本身遊戲過程中出現真實的知識(如大航海,P社四萌)
一者是遊戲某些問題的解決需要玩家去尋找學習知識,或自行想出演算法(如Minecraft的紅石電路,各種策略遊戲的布陣)
一者是遊戲無真實知識考察,但能夠鍛煉玩家透過邏輯思考解決問題的能力(如Valve的Portal,braid)
(註:這三類並不是互不重疊的,下面主要側重於前兩者)
————————————分割線——————————————————————
1.編程演算法設計相關
之前答案已經說過的CodeCombat就很不錯,適合娛樂性學習。
下面是幾個有趣的非直接編程遊戲,難度逐漸上升。
所謂的非直接編程,就是你可以控制放置某些基本物件,然後要合理組合物件可以完成任務。
不過其編程方式是非常原始的,更沒有C++,python那種便利性
甚至你根本不能輸入自己的程式碼!!
而只能組合已有的元件,所以很考驗邏輯和演算法設計能力。
這種遊戲就和OJ一樣,會有給定的輸入,要求得到給定的輸出。有時會有幾組數據,全過了才能到達下一關。
玩家可以在遊戲中體會一下從0,1進制開始搭建到完成簡單的輸入A,B輸出A+B的函數功能的過程(遊戲過程有時甚至會出現堆疊等數據結構)。
不誇張地說,能夠獨立完成這些遊戲的大部份關卡後,你也學到了很多經典而巧妙的設計方法,邏輯思考能力應該有所提升,這些對於數學,CS等學科的理論學習是有幫助的。
★
編程機器人
lightbot 1 & 2