你以為我在玩遊戲?其實我在學程式設計!
閱讀本文大概需要 1.8 分鐘。
作者 | 八知道也
前幾天休假的時候接觸了幾款挺有意思的小遊戲,寫出來安利一下,也許能搏同行一笑。
《程式設計師升職記》是一款送給宅男們的智力遊戲。 在每一層,老闆都會派給你一份工作。你可以透過編寫小程式自動把工作搞定!一旦你成功了,恭喜!你升職了!
實際上這是一個非常不錯的程式設計啟蒙遊戲, 指令集與彙編類似 ,作為一個沒有學過彙編的弱雞,這就是我的彙編基礎課啦:)
程式的關卡介面長這樣,一看就十分硬核,難度階梯型遞增:
簡單的加減乘除 -> 斐波那契 -> 去重排序, ......
隨便挑選一關進去瞅瞅,可以看到能利用的主要指令包括:
copyfrom, copyto, add, sub, bump+(相當於++),bump-(相當於--),jump/jump if zero/jump if negative等。和彙編比較類似。
我們能做的就是用拖拽的方式組合不同的處理步驟,左上角的小人會根據你的設計去讀取InBox的資料,藉助中間的地毯(記憶體)可用空間快取中間結果,輸出最終結果到OutBox中。
當組織好右邊的工作流之後,就可以按那個綠色的執行鍵進行測試,執行鍵左右兩個按鍵可以進行正逆方向的單步除錯,最右邊的滑塊可以用來控制是否快進。執行起來的效果如下圖所示,還是很可愛的。
即使最終透過了右上角上級的考核,也不代表你就完美過關了。
因為遊戲還會對你的程式碼長度和耗時進行評估,並且告訴你哪裡還有改進空間。
最佳化診斷和效率診斷有時候不可兼得,真是逼死強迫症啊。
後者更多時對程式設計的考驗,但前者有時難以捉摸,由於指令集有限,即使邏輯一樣,jump的時機不一樣會導致程式長度有那麼一兩行的差異,總之要達到前者請儘量複用程式碼。
遊戲還有一個個人欣賞的優點:支援答案以虛擬碼的形式匯入匯出,這個特性很體現程式設計師思維方式,非常有利於愛好者分享討論自己的解法,已經發現github上有人上傳了自己的解法大全,並有幾百個star。
比較詳細介紹了上面那個遊戲,再簡短地介紹一下它的續作:7 Billion Humans
和前作最大的不同是移除了input和output,但是引入了並行,同步,隨機,變數,迴圈,條件判斷和更復雜高階的計算指令,難度比第一代有所上升,使得尋找同時滿足效率和長度的解法愈加困難,執行起來的效果也是更加忙碌。
以上游戲Steam均有銷售,支援Win和Mac,如有興趣,請儘量支援正版。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902700/viewspace-2636231/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 你以為我在玩遊戲?其實我在學 Java遊戲Java
- 為什麼我還在程式設計程式設計
- 學技術我們其實在學什麼?
- 走開 我們在程式設計程式設計
- 414天前,我以為這是程式設計玄學...程式設計
- 我在蘋果公司學到的程式設計技巧蘋果程式設計
- 為什麼年事已高的我還在程式設計?程式設計
- 玩家會在什麼情景下玩我的遊戲?遊戲
- 不要輕易在簡歷上寫我熱愛程式設計,我熱愛學習程式設計
- 我們為什麼會玩以日常生活為題材的遊戲?遊戲
- 當我在玩python的時候我玩些什麼Python
- 我是程式設計師 我為自己代言程式設計師
- 我是程式設計師,我為自己代言程式設計師
- 我在程式設計20年中學到的5件事 - DaedTech程式設計
- 在學程式設計中我犯的2個最大的錯誤程式設計
- 我在學習程式設計中犯的兩個最大錯誤程式設計
- 3·15釋出之手遊篇:你在玩遊戲還是遊戲在“玩”你?遊戲
- 其實你不懂程式設計師程式設計師
- 45歲大齡程式設計師自述:我居然還苟在程式人生裡,但是已經難以為繼程式設計師
- 我在 PC 玩「 神海 」—— 越發壯大的山寨遊戲遊戲
- 我在 Twitch 平臺直播程式設計的經驗程式設計
- 計算機理論在實際程式設計中的應用之我見計算機程式設計
- 我是印度程式設計師,我要為印度程式設計師辯護程式設計師
- 我為我是個程式設計師而驕傲程式設計師
- 我在 MWC 體驗雲遊戲時突然想起,原來我 20 年前就玩過了遊戲
- 我們在囧途之程式設計師轉型記程式設計師
- 我的程式設計之路:從好玩到玩好程式設計
- 祖克伯關於程式設計的建議:若不是從小玩遊戲,我絕不會學程式設計程式設計遊戲
- 讓心理學家告訴你:我們究竟是為了什麼而玩遊戲?遊戲
- 當我們在討論遊戲社群時,我們在討論什麼?遊戲
- 我在遊戲裡做攝影師:遊戲中的拍照功能體驗設計遊戲
- 你們以為的女程式設計師程式設計師
- 談談我現在使用的設計模式設計模式
- 到底是誰在內卷?學會風變程式設計,我就是“卷王”!程式設計
- 我為什麼是程式設計師?程式設計師
- 我為什麼痴迷於程式設計?程式設計
- 我為什麼喜歡程式設計程式設計
- 程式設計師體驗——我在 RightCapital 的工作程式設計師API