來源:外灘教育 作者:鄧曉磊 2018-06-13 14:39:16
到家,休息好了,我問他:“你想做一個什么游戲呢?”
他認真地思考了一下,回答我說:“我們先做一個簡單點的游戲”。非常的睿智啊,才9歲的孩子,很清楚復雜的事情要從簡單的部分開始。
其實我心里早想好了思路,先給他講解最簡單的程序的邏輯,讓他有一點成就感,這就是今天的目標。
所以,我告訴他我們今天先做一個只有文字的游戲,叫做釣魚。
讓我吃驚的是,他立刻開始規劃:要有很多種魚,釣到魚可以賣錢,然后可以用錢買道具……
好吧,我理解為他玩過類似的游戲,有一些概念了。
然后,我引導他說:那要不要設計一部分機會釣不到魚呢?比如釣起來一個炸彈?
然后我就給他講了一個解鎖炸彈的數字迷你游戲,沒錯,就是經典的猜數字游戲:電腦出一個隨機數字,玩家來猜,猜對了就炸彈解除,猜錯了就提示數字太大還是太小。如果超過3次沒猜中,炸彈就爆炸了。
我想可以讓他在玩游戲的過程中,做幾個簡單的數學題。并且可以理解編程的最基本的元素——分支和循環,我給他畫了個圖解釋,告訴他綠色的小箭頭就是分支,虛線的大箭頭就是循環。程序從粉色框開始,一個框一個框地執行,檢測到玩家輸入的內容就去比對密碼。
如果密碼正確就解除,如果密碼不正確就繼續判斷是否超過三次,如果超過三次就爆炸,如果低于三次就循環提示輸入密碼。
這個過程中,我給他講解了Python的基本的賦值、分支和循環,沒有講得很細,主要以實現功能和灌輸概念為主。
接下來,在這個游戲基礎上擴展,就變得較為容易了。
我再給外甥講解了一下關于對象的概念,并引入了類來作為游戲中各個元素的核心,當然,都是以實用性為主,并沒有深入講解。畢竟現在主要培養的是他的興趣和對程序的邏輯的理解。我給他畫了下面這個圖,用來講解整個游戲的邏輯:
游戲開始后,先要輸入玩家的名字,然后根據名字去查找游戲進度,如果有游戲進度的,就讀取進度,否則就全新開始游戲。
接下來就是一個游戲菜單開始的循環體,根據選擇執行不同的指令。
如果選擇釣魚,就開始展示隨機的釣魚結果,如果結果是釣到炸彈,那就啟動之前的那個猜數字的炸彈小游戲。
成功地引起了外甥對編程的興趣,萬里長征的第一步已經完成了。我和他一下午就耗在這個小游戲里,看著小家伙在紙上快樂地寫寫畫畫,規劃著游戲的內容,設計魚的種類,金幣數量等等。
然后和我一起編寫代碼,調試代碼,聽我講解代碼的原理和運行流程,無比專注,感覺比他打游戲還要快樂。
我當然也很快樂,享受和孩子一起的悠閑的時光的同時,讓他接觸了編程,學了一些以后會對他人生起到正面積極作用的技能。
因為整個游戲比較小,而且并沒有圖形部分,所以幾個小時已經可以看到成效了(PS:這也是最重要的,最開始學編程,一定要讓他快速地獲得成就感,不然時間太長就容易有挫折感,造成興趣流失),電腦上的運行效果如下:
當然,為了讓他可以跟小伙伴一起玩(炫耀),我用了一個叫作QPython的手機App來運行剛才編寫的代碼:
因為我用的是Python 3,所以選擇了QPython3的版本來在手機上運行,
最后,奉上完整代碼,請在Python3下運行:
相關推薦:
小升初試題、期中期末題、小學奧數題
盡在奧數網公眾號

歡迎使用手機、平板等移動設備訪問幼教網,幼兒教育我們一路陪伴同行!>>點擊查看