邊玩邊學(xué),十五個(gè)學(xué)習(xí)Python 的編程游戲網(wǎng)站!
經(jīng)常聽到有朋友說,學(xué)習(xí)編程是一件非??菰餆o味的事情。其實(shí),大家有沒有認(rèn)真想過,可能是我們的學(xué)習(xí)方法不對?
比方說,你有沒有想過,可以通過打游戲來學(xué)編程?
今天我想跟大家分享幾個(gè)網(wǎng)站,教你如何通過邊打游戲邊學(xué)編程!
1、Coding Games
一邊玩游戲,一邊挑戰(zhàn)編程難題。Coding games 支持包括 PHP、C、JavaScript 在內(nèi)的 20 多種編程語言。用戶界面功能強(qiáng)大,可以定制。
例如,你可以選擇你的代碼編輯器的風(fēng)格:Emacs、Vim、Classic。
如果你想提升編程技能,玩 Coding games 是一種有趣的途徑。
網(wǎng)址:www.codingame.com
2、CodeCombat(極客戰(zhàn)記)
CodeCombat 是一款網(wǎng)頁編程游戲。這款編程游戲借鑒了游戲的很多設(shè)計(jì)元素,游戲劇情十分豐富。
當(dāng)你打開 CodeCombat 網(wǎng)站,你不會覺得這是一個(gè)讓你看不懂的代碼學(xué)習(xí)網(wǎng)站,因?yàn)樗木W(wǎng)站外觀看起來就像是一個(gè)魔獸爭霸風(fēng)格的線上游戲,而且當(dāng)你實(shí)際玩玩看,你會發(fā)現(xiàn)過程真的就是英雄要去打怪、尋寶與解謎,只是搭配了程序語言的學(xué)習(xí)。
CodeCombat 能夠?qū)W習(xí) Python、JavaScript、Lua、CoffeeScript、Clojure 等不同程序語言,這些語言能夠運(yùn)用到游戲設(shè)計(jì)、網(wǎng)頁應(yīng)用、App 的開發(fā)上。
CodeCombat 網(wǎng)址:cn.codecombat.com
極客戰(zhàn)記(中國版 CodeCombat)網(wǎng)址:codecombat.163.com
3、Screeps
如果你想學(xué)習(xí) JavaScript,那 Screeps 是一個(gè)很好的選擇,Screeps 是一個(gè)為 JavaScript 程序員準(zhǔn)備的大型多人在線游戲 (MMO)。
這個(gè)游戲是一個(gè)開放的策略游戲,游戲中你控制的單位被稱為 “creeps”,它可以幫你獲得資源、建立自己的領(lǐng)地等等。作為一個(gè)多人在線游戲,游戲中你的 creeps 會被其他玩家的 creeps 包圍。
網(wǎng)址:screeps.com
4、Checkio
Check iO 是一個(gè)基于瀏覽器的游戲,你需要使用 Python 或 JavaScript 來解決問題才能將游戲進(jìn)行下去(需要登錄)。
網(wǎng)址:checkio.org
5、Vim Adventures
顧名思義,這個(gè)網(wǎng)站讓你通過玩游戲來學(xué)習(xí) Vim。
網(wǎng)址:vim-adventures.com
6、Cyber Dojo
Cyber-dojo是一個(gè)提供給程序員們練習(xí)寫程序的地方。支持 JavaScript、Java、Python、PHP、Ruby 等語言。
網(wǎng)址:www.cyber-dojo.org/
源代碼:https://github.com/JonJagger/cyber-dojo
7、Code Monkey
CodeMonkey 是一款非常富有童趣的網(wǎng)頁編程游戲,玩家通過編程向怪獸小猴子傳達(dá)指令,幫助小猴子吃到香蕉就可以過關(guān)了。
CodeMonkey 以游戲闖關(guān)的方式進(jìn)行教學(xué),總共有 300 多個(gè)關(guān)卡,涉及到編程的各種概念。
網(wǎng)址:www.playcodemonkey.com
8、Elevator Saga
電梯編程游戲,需要一步步解決問題過關(guān)。比如說第一關(guān)是在 60 秒內(nèi)運(yùn)輸 15 個(gè)人。( 編程語言為 JavaScript )
網(wǎng)址:play.elevatorsaga.com/
代碼:https://github.com/magwo/elevatorsaga
9、Codewars
在戰(zhàn)斗中進(jìn)行學(xué)習(xí)。和其他人一起在真實(shí)的編程挑戰(zhàn)中提升技巧,支持 JavaScript、Python、C#、Java、Python 等語言(支持的語言見下圖)。
網(wǎng)址:www.codewars.com
10、Ruby Quiz
Ruby Quiz 是一個(gè)面向 Ruby 程序員的每周編程挑戰(zhàn)項(xiàng)目,目前有 156 個(gè)測驗(yàn)項(xiàng)目。
網(wǎng)址:rubyquiz.com/
11、Git-Game
Git-game 是一個(gè)基于終端的游戲,它用來教授 git 中的那些非??岬墓δ?。游戲的主題內(nèi)容是搜尋,通過 git 命令來找到線索,解開謎題。
網(wǎng)址:www.git-game.com
12、Hacker.org
hacker.org 挑戰(zhàn)賽是一系列的拼圖、敲磚塊、測試和智力題,用來測試你的黑客能力。要通過這一系列的考驗(yàn),你需要學(xué)會解密、編碼、滲透等等技能,揭開重重迷霧。
網(wǎng)址:https://www.hacker.org/
13、Code Hunt
Code Hunt 是一個(gè)由 Microsoft Research 開發(fā)的 HTML5 科幻主題游戲。在這個(gè)游戲中,你扮演一個(gè)代碼獵人,負(fù)責(zé)修復(fù)代碼,并使它它返回預(yù)期的結(jié)果。Code Hunt 支持 Java 和 C# 兩種語言。你可以學(xué)習(xí)到包括算法、循環(huán)和條件表達(dá)式等編程概念。
網(wǎng)址:www.codehunt.com
14、Fight Code
在 FightCode 中,通過編寫 JavaScript 代碼,你可以創(chuàng)建一個(gè)能夠擊敗其他玩家機(jī)器人的機(jī)器人。
網(wǎng)址:http://fightcode.io
15、Human Resource Machine
Human Resource Machine 是一款非常有意思的移動端游戲。這款游戲由粘粘世界(World of Goo)的設(shè)計(jì)者和制作小小煉獄(Little Inferno)的團(tuán)隊(duì)共同制作,游戲雖是走解謎路線,但玩法相當(dāng)新穎:玩家將扮演一個(gè)從基層做起的員工,需要通過指令代碼來編寫一條條程序,完成每個(gè)階段的任務(wù),最終走上職場巔峰。
主人公需要將郵件按照要求進(jìn)行分發(fā)。游戲注重計(jì)算機(jī)硬件實(shí)現(xiàn)方面的技術(shù)。在游戲中非常形象的表現(xiàn)出了內(nèi)存,寄存器,輸入輸出等概念,以及如何利用這些硬件來實(shí)現(xiàn)基本的運(yùn)算、排序等功能。
這款游戲界面十分有意思,畫風(fēng)清奇,任務(wù)具有較大的挑戰(zhàn)性,適合有一定編程基礎(chǔ)或者年齡稍大的孩子玩。
網(wǎng)址:tomorrowcorporation.com
其他類似的編程游戲網(wǎng)站
CodeChef :在這里你可以解決實(shí)際問題、參加不同的比賽,這些比賽每月都會進(jìn)行。
Pex for fun :這是微軟開發(fā)的一個(gè)游戲,在這個(gè)游戲中你需要和其他的程序員進(jìn)行比拼。而代碼就是你的武器。
Rankk :你需要解決一系列由易到難的問題。這個(gè)游戲是對 Pyramid 游戲的復(fù)刻,Pyramid 里面有很多邏輯和數(shù)學(xué)問題。
TopCoder :在這個(gè)游戲里你不光可以解決問題,還可以獲取真金白銀。來自全世界知名IT公司的程序員在這里互相挑戰(zhàn),為的就是贏得他們的獎品。
Google Code Jam :Google 大賽上已經(jīng)解決的算法問題。在這里你可以自己試一試。
Python Challenge:玩家可以通過 Python 編程解決問題并提升等級。
Lumosity :一組能夠訓(xùn)練大腦的游戲,由科學(xué)家和游戲設(shè)計(jì)師一同開發(fā)。
Algorithm Geeks :一個(gè)交流討論算法的 Google 群組。
CodeKata :妙趣橫生的編程問題。
LessThanDot :一個(gè)專門論壇,程序員在這里發(fā)布一些比較困難的編程挑戰(zhàn)。
The Daily WTF :類似 BYOD(Bring Your Own Device) 模式,不過這里是 BYOD(Bring Your Own Code) 程序員們編寫他們自己的代碼片段放在這里,用來解決一些比較困難的問題。
Peking University JudgeOnline for ACIP/ICPC :這里包含了不同比賽中涉及到的不同的問題。你可以實(shí)時(shí)的解決問題并且查看結(jié)果,你的答案也會被驗(yàn)證是否正確。
University of Valladolid Online Judge :與北京大學(xué) OJ 平臺類似,但是包含了不同的問題。
Programming Praxis:這個(gè)博客每周都會出一些新的編程問題。
Project Euler :包含了很多復(fù)雜的數(shù)學(xué)問題,這讓發(fā)燒友們感到非常開心。
4Clojure :在這里你可以通過解決一些不同難易程度的問題來學(xué)習(xí) Clojure 。
Prolog Problems :你可以在這里練習(xí)邏輯編程。
Codingbat :有很多 Java 和 Python 的習(xí)題(難度各有不同)。
Sphere Online Judge :各種各樣的編程問題。
Rosalind :通過解決實(shí)際問題來學(xué)習(xí)算法和生物信息學(xué)。
LeetCode :這個(gè)網(wǎng)站是為了幫助程序員準(zhǔn)備面試而創(chuàng)建的。在這里你可以找到不同領(lǐng)域的典型問題。
Career Cup :程序員面試時(shí)最容易被問到的真實(shí)問題。
Kodable:Kodable 是一款適用于 5 歲及以上兒童的教育型 iPad 游戲,適合為兒童進(jìn)行編程啟蒙。
Lightbot :Lightbot 是一款移動端游戲,玩家通過控制機(jī)器人的移動在固定位置點(diǎn)亮燈泡。
Box Island:Box Island 是一款經(jīng)典且屢獲殊榮的移動端編程冒險(xiǎn)游戲,這款游戲在為孩子們帶來令人興奮的冒險(xiǎn)體驗(yàn)的同時(shí), 也向他們介紹編程的基礎(chǔ)知識。