拚命玩遊戲就能學寫程式! CodeCombat 還有中文版
「遊戲化學習」是這幾年的教育熱潮之一,雖然說讓上課變得更生動有趣、更多好玩互動本來就是自古以來的通則,但透過網路與數位技術的進步,我們有更多新鮮工具與互動方法可以應用到學習上。例如我在電腦玩物就整理過一篇:「值得嘗試!10 款遊戲化學習 App 讓你更喜歡面對挑戰」。
而今天要介紹的「 CodeCombat 」這個線上網站,或者說「線上遊戲」,則是要讓初學者透過玩遊戲來學習寫程式,而且他有完整的繁體中文內容,不需要任何寫程式的經驗,小學生就能上手,在有趣的奇幻世界與戰鬥關卡中學會各種程式的基本技巧。
「 CodeCombat 」創立於 2013 年,並且是一個開放原始碼專案,所以很快地就擁有了世界各國語言版本,包含繁體與簡體中文,關卡數量、可學習程式語言也持續增加,目前已經擁有 110 多個免費的關卡,能夠學習 Python、 JavaScript、 Lua、 CoffeeScript、Clojure 等不同程式語言,這些語言能夠運用到遊戲設計、網頁應用、 App 的開發上。
2015/11/17 新增:玩知名遊戲學寫程式! Code.org 一小時學會寫小遊戲
2016 新增:程式碼教學利器!可協作免費漂亮線上程式碼編輯器
2016/1/17 新增:Google Drive 安裝免費寫程式軟體!協作網頁編輯器
2016/4/20 新增:Google 玩遊戲學程式中文化線上課程 Blockly Games
2017/6/20 新增更適合兒童的選擇:CodeMonkey 玩遊戲學寫程式,兒童也上手的遊戲化教學網站
1. 學任何東西都不應該無聊:玩程式,學程式
當你打開「 CodeCombat 」網站,你不會覺得這是一個讓你看不懂的程式碼學習網站,因為他的網站外觀看起來就像是一個魔獸爭霸風格的線上遊戲,而且當你實際玩玩看,你會發現過程真的就是英雄要去打怪、尋寶與解謎,只是搭配了程式語言的學習。
雖然我們無法期待初學者玩過「 CodeCombat 」後就能直接成為程式工程師,但是在整個遊戲的過程中,我們還是能夠學會每種程式語言的基本語法、邏輯架構、設定變量。
所以「 CodeCombat 」自稱是設計給 9 歲以上想要學習程式碼的學生來練習的遊戲,因為遊戲幫助我們快速熟練,如果在課堂上還搭配老師的講解,就更能事半功倍。
2. 循序漸進的遊戲學習關卡
「 CodeCombat 」甚至連上手都非常簡單,完全不需要額外指導,任何玩過遊戲的朋友也一定都能立刻開始遊戲,也能從中學習到各種程式語言的基礎。
我們用 Google 或 Facebook 就能登入「 CodeCombat 」,這時候要挑選一位英雄,並選擇自己想要學習的程式語言。
接著在幾個遊戲大章節中,我們將會一步一步從基礎語法開始,到相對複雜的變量設定,把這個程式語言邏輯循序漸進的理解。
而章節裡就是一個一個遊戲關卡,但每一場小戰役,都是精心設計的一個程式語言小技巧。
到這裡為止,相信沒有人會覺得有任何難度,任何人一定都能進入。
3. 各種武器道具就是你學會的程式指令
而在「 CodeCombat 」中最大的不同就是把遊戲裡的命令操作、武器道具都變成程式語言的指令,我可以使用語法去攻擊敵人,或是當我獲得技能寶典時可以學會讓程式自動迴圈的新指令。
於是我就能在打怪、尋寶的過程中,慢慢理解每個程式語法的作用。
而且完全不懂程式碼的朋友也不要擔心。
因為「 CodeCombat 」並非是要考驗你遊戲技巧的遊戲,所以他的關卡裡都有非常詳盡的提示,會教你怎麼輸入程式語言來命令角色行動,當你輸入錯誤時,也有清楚的提示教你為什麼這樣的語法會出錯。
這些引導全部都有中文化。
於是在簡單幾關的過程中,很快的我們就知道程式指令的邏輯,怎麼設定一連串互相引發的行為,怎麼命令對某個物件產生行動等等。
後面就會有愈來愈複雜的命令方式,這讓你學會程式語言概念,也可以用來熟練程式語言的輸入,或是懂得怎麼設計出更有效的程式碼。
因為關卡也有不同的成就等級,如果可以用更精簡的指令完成動作,可以獲得更高分。
4. 多人連線練習與老師學生部落
更進一步的,在自學程式語言之外,「 CodeCombat 」還設計了團隊學習程式語言的模式。
在「多人連線」中,我們可以根據不同難度來跟全世界學習程式的朋友進行連線對戰,例如一個簡單對戰中我們要比誰可以更快輸入一連串指令,在戰鬥中讓自己存活更久。
而在「部落」模式中,老師可以開設一個社團讓學生加入,這樣一來可以觀察社團中每一個人的學習進度,並且互相激勵。
你也想開始學寫程式嗎?或者你想要帶學生一個練習寫程式?那麼完全中文化的「 CodeCombat 」,或許是一個玩遊戲學程式的好選擇。
延伸閱讀相關文章:
「 CodeCombat 」網站
轉貼本文時禁止修改,禁止商業使用,並且必須註明來自電腦玩物原創作者 esor huang(異塵行者),及附上原文連結:拚命玩遊戲就能學寫程式! CodeCombat 還有中文版
很有趣 但是用chrome玩會lag (切換場景時)
回覆刪除好像有一點點,我是用 Chromebook 玩,但也還好,起碼關卡進行時是沒問題的^^
刪除真是太有趣了!! 希望破關之後我的python能突飛猛進.....
回覆刪除歡迎到時候再來分享心得
刪除這真是有趣~ 感謝分享~
回覆刪除馬上來去玩遊戲,不對,是學寫程式~ :D
我提供另外一個類似的網站叫Codemonkey, 這個的特色是大部分的指令與名稱可以用滑鼠點選, 相對更方便.
回覆刪除https://www.playcodemonkey.com/
這個網站我也有注意到,感謝你的推薦
刪除5关后要付费
回覆刪除是的,我是选择学习python,到达第五关以后就强制要求付费了。
刪除我想您說的應該是第五張大地圖(第五個大章節開始),確實免費版部分是開放前面四個大地圖,約100多個小關卡
刪除我想他是指,第一大關的第五小關,因為我的也是這樣...
刪除會一直要求付費、告知家長、優惠
是使用中文版,有註冊帳號...
第五小關是打星號的那關嗎?只要跳過那關,後面的關卡也還是都可以玩,也就是不包含特殊關卡外,是有 100 多個關卡是免費的(這也是看官方說明上說的)
刪除www.codecombat.cn
刪除这个网址是国内服务器的,不需要付费
真是太感謝! 自己試玩起來比 Scratch 有趣,馬上拿給我兒子試試看。
回覆刪除付費是指第五大關還是小關?我玩了二十幾關,只有星形關卡進不去,看起來使用者年齡分佈都在小朋友,難度也很低,不然是可以付費玩一下,滿有趣的。
回覆刪除我目前的形況跟你一樣
刪除有英文版嗎?
回覆刪除有啊,網站可以切換多國語言
刪除我之前一直有在陸陸續續的玩,覺得非常好入門!
回覆刪除多謝介紹,一直都想暸解一下程式語言,我是只想有個基本概念就好。玩了一下也蠻有趣,消磨一下時間不用每次都玩接龍@_@。
回覆刪除這個用來了解基本概念一定是足夠的
刪除有物件導向、演算法、資料結構、離散數學嗎?
回覆刪除本身很缺這些東西
有的話等之後有錢再去玩過一遍
這個我也不是很懂,歡迎高手幫忙回答
刪除這個是考研究所要學的吧,已經超出簡單遊戲能做出來的範例了拉~
刪除cool!
回覆刪除作者已經移除這則留言。
回覆刪除剛註冊加入教師,同時也請學生註冊加入學生,但教師開課讓學生進入後,學生只能玩第一大關與競技場(计算机科学的介绍),教師無法開其他關卡給學生,好像是沒有可用的註冊碼的問題~
回覆刪除要付費
刪除我加入了一個班,後來想離開這個班級,
回覆刪除請問我要如何離開呢?
喔!!!這個我在國小時有玩過!!!!!當時我對程式很有興趣呢~(現在也是呢~)
回覆刪除