有時候我們們程式設計師也需要娛樂或放鬆一下,但放鬆的同時,也可以做一些有益於技能成長的事情。今天就來看看這一大波能夠訓練大腦,並且提升程式設計能力的網站。
遊戲
1)Codecombat
這是一個可以幫助你學習程式設計的並且非常讚的多人線上遊戲,而不是一個遊戲化的程式設計課程。
在 CodeCombat 中,你扮演一個英雄通過遊戲中不同等級的冒險。第一關是 Kithard Dungeon ,裡面涵蓋了程式設計的基本概念。整個旅程中你都面臨著程式設計的挑戰,如果通過了,你會解鎖下一關,並獲得經驗點,經驗點可以用來提升英雄的能力。
CodeCombat 吸引了很多年輕有抱負的程式設計師,根據遊戲中的統計,62%的使用者年齡在18歲以下。
CodeCombat 支援6中不同的語言,包括:JavaScript、CoffeeScript、Lua、Python、Clojure 和 Io。該遊戲涵蓋了廣泛的程式設計主題,如:字串,變數,方法呼叫,向量繪圖等。
2. Code Hunt
Code Hunt 是一個由Microsoft Research開發的 HTML5 科幻主題遊戲。
在這個遊戲中,你扮演一個程式碼獵人,負責修復程式碼,並使它它返回預期的結果。總共有14個等級需要你來完成。
Code Hunt 支援 Java 和 C# 兩種語言。你可以學習到包括演算法、迴圈和條件表示式等程式設計概念。你也可以通過閱讀 Code Hunt 設計手冊 來擴充套件其他關卡。
3. CodinGame
CodinGame 對程式設計師來說是一個巨大的挑戰,如果你想提升程式設計技能,玩CodinGame是一種有趣的方式。
CodinGame 支援包括PHP、C、JavaScript在內的20多種程式語言。使用者介面功能強大,可以定製。例如,你可以選擇你的程式碼編輯器的風格: “Emacs”、”Vim”、或 “Classic” (預設)。
遊戲可以選擇單人遊戲模式或多人模式,多人模式下,你可以與其他玩家共同解決 CodinGame 中的挑戰。
4. Screeps
Screeps 是一個為 JavaScript 程式設計師準備的大型多人線上遊戲(MMO)。
這個遊戲是一個開放的策略遊戲,遊戲中你控制的單位被稱為 creeps ,它可以幫你獲得資源、建立自己的領地等等。作為一個多人線上遊戲,意味著你的 creeps 會被其他 creeps 所包圍。
通過編寫 JavaScript 來控制你的 creeps 。(Screeps = scripting your creeps)。學習如果玩該遊戲,你可以檢視文件。
5. FightCode
在 FightCode 中,目的很簡單,就是建立一個能夠擊敗其他玩家機器人的機器人。
如何建立機器人?通過編寫 JavaScript 程式碼。例如,當某個事件發生時,你可以通過 .rotateCannon() 方法來旋轉你的大炮。
在建立堅不可摧、支配世界的機器人之前,你首先需要閱讀文件來學習如何編寫一個機器人。
其他類似的網站:
- Git Game —這是一個終端遊戲,用來考察你的 Git 命令知識 。
- Elevator Saga — 你的任務是使用 JavaScript 程式設計控制電梯的運動。目標是要高效地接送乘客。
- CodeChef — 在這裡你可以解決實際問題、參加不同的比賽,這些比賽每月都會進行。
- Hacker.org 這裡有一系列的謎題和測試,可以用來測試你的程式設計知識。為了通過這一系列的測試,你需要解決問題並做很多的分析工作。
- Pex for fun — 這是微軟開發的一個遊戲,在這個遊戲中你需要和其他的程式設計師進行比拼。而程式碼就是你的武器。
- Rankk — 你需要解決一系列由易到難的問題。這個遊戲是對 Pyramid 遊戲的復刻,Pyramid裡面有很多邏輯和數學問題。
- TopCoder — 在這個遊戲裡你不光可以解決問題,還可以獲取真金白銀。來自全世界知名IT公司的程式設計師在這裡互相挑戰,為的就是贏得他們的獎品。
- Google Code Jam — Google 大賽上已經解決的演算法問題。在這裡你可以自己試一試。
- Python Challenge— 玩家可以通過 Python 程式設計解決問題並提升等級。
- 《程式設計師該知道的那些程式設計比賽網站》
- 《寓教於樂:Vim大冒險遊戲》:玩遊戲,學習 Vim
解謎
- Lumosity — 一組能夠訓練大腦的遊戲,由科學家和遊戲設計師一同開發。
- Algorithm Geeks — 一個交流討論演算法的 Google 群組。
- CodeKata —妙趣橫生的程式設計問題。
- LessThanDot — 一個專門論壇,程式設計師在這裡釋出一些比較困難的程式設計挑戰。
- The Daily WTF — 類似BYOD(Bring Your Own Device)模式,不過這裡是BYOD(Bring Your Own Code)程式設計師們編寫他們自己的程式碼片段放在這裡,用來解決一些比較困難的問題。
- Peking University JudgeOnline for ACIP/ICPC — 這裡包含了不同比賽中涉及到的不同的問題。你可以實時的解決問題並且檢視結果,你的答案也會被驗證是否正確。
- University of Valladolid Online Judge —與北京大學OJ平臺類似,但是包含了不同的問題。
- Programming Praxis—這個部落格每週都會出一些新的程式設計問題。
- Project Euler — 包含了很多複雜的數學問題,這讓發燒友們感到非常開心。
程式設計練習
- 4Clojure — 在這裡你可以通過解決一些不同難易程度的問題來學習 Clojure 。
- Prolog Problems — 你可以在這裡練習邏輯程式設計。
- Ruby Quiz —每週 Ruby 謎題。
- Codingbat — 由很多 Java 和 Python 的習題(難度各有不同)。
- Cyber-dojo — 在這裡,你可以在線上評分系統的監督下進行程式設計練習。
- Sphere Online Judge — 各種各樣的程式設計問題。
- Code Wars — 8 種程式語言教學。
- Rosalind — 通過解決實際問題來學習演算法和生物資訊學。
面試前的準備練習
- LeetCode —這個網站是為了幫助程式設計師準備面試而建立的。在這裡你可以找到不同領域的典型問題。
- Career Cup — 程式設計師面試時最容易被問到的真實問題。
參考
打賞支援我寫出更多好文章,謝謝!
打賞作者
打賞支援我寫出更多好文章,謝謝!
任選一種支付方式