少兒編程Scratch第37講:大魚吃小魚(8-10歲)

—前言—-

        據網上文章說有20萬人抗戰在疫情第一線。這些人都是戰士。我覺得一天給他們一萬人民幣的補貼也不爲過。20萬人,一天就是20億,按照90天計算,就是1800億人民幣,2019年中國一般財政預算收入爲19萬億,兩千億的補貼似乎不算多。

—正文—-

        這是一個大魚吃小魚的經典遊戲,面向8-10歲學生,用時約2小時。大概是幾年前了,我們帶着小孩去兒童醫院看病,那裏有一臺機器可以免費玩幾個小遊戲,其中就有這個大魚吃小魚的遊戲。小孩玩得不亦樂乎。一直都想去做一做大魚吃小魚的遊戲,但一直都忙着沒空。現在還是疫情關鍵時期,足不出戶,開學時間還遙遙無期。

        在家裏的多數時間,我們都在學習。英語是我們的薄弱項,我帶着小孩,從一年級上冊開始讀到四年級,讀課本,讀好幾遍,這樣至少會讀了,當然還有很多單詞默寫不出來。如今,小學六年,竟然不教國際音標。人們崇尚手足舞蹈的自然拼讀,號稱上了多少節課,就能讀出所有單詞的,其實不過是一個笑話而已。因此這個假期,我教會了小孩英語國際音標。

        每天語文朗讀打卡,對課本算是預習過了。數學課本內容和課本練習基本上都做完了。過年的時候做了幾個二級考試的練習題。估計是這段時間在家裏時間太久了,小孩吵着要玩Scratch,做了吃魚和大魚吃小魚,感覺小孩的編程水平有了不少進步。

        開始的時候小孩使用了好多小魚的角色,沒能完成功能。後來經過我的指點,知道如何獲取另外一個角色的大小以後,順利的完成了作品。完成作品後,照例讓老二上來玩一玩,驗證一下。開始的時候她很緊張,還尖叫着,很刺激的樣子,看到大魚來了,還有點害怕,讓我們幫他挪動鼠標躲開大魚,兩個小朋友都玩得很起勁。

        這一個作品比上一個吃魚的作品要複雜一些,主要難點是如何在一個角色中獲取另外一個角色的參數-大小。比較用戶操作的魚和出來的小魚的大小,就可以判斷可以不可以吃掉這條魚。還用到角色造型圖片大小、克隆體角色大小的功能,還是需要一些技巧的。

        功能說明:

1)各種大小不一的魚不停的從右邊往左邊遊動。鼠標控制一條魚,名字叫做多麗。爲了讓人能判斷魚的大小,需要確保每條魚的造型在100%大小時,看上去差不多大。同時右邊出來的魚大小的幅度間隔爲10,即從10到200之間取10的整數倍。

2)多麗只能吃尺寸比自己小的魚。吃到一條比自己小的魚時,會長大一點;如果碰到比自己還大的魚,會變小一點。偵測中有一個指令能夠獲取到其他角色的參數-大小。這樣就能夠對比出來的魚和多麗的大小了。

3)右邊出來的魚有個最大值,如果多麗長大到比最大的魚還大,那就變成“天下無敵”了,遊戲成功,結束。

4)如果多麗減少到比右邊出來的最小的魚還要小,那就無法再次長大,遊戲失敗,結束。

5)背景、吃到小魚、吃到大魚、都有對應的音效。成功、失敗是會播放一段樂曲,並切換到對應的背景上。

程序共享:https://Scratch.mit.edu/projects/368568076/

點擊原文,也可以進入這個共享的程序。

視頻演示:

 

 

 

一、魚-造型設置

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

主界面,兩個角色。很少吧。千萬別用一個角色代表一種魚,那樣會讓程序變得比較複雜。

出來的魚造的造型,這裏有個技巧。使用一個角色,多個造型,後面使用克隆,出現不同的魚。但要確保每個造型的魚的大小大概一致。系統中添加的魚100%的時候,有大有小,不一致,需要調整。

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

二、遊戲勝利和失敗的背景

簡單做一個就行。

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

三、多麗的動畫製作

簡單製作一個,複製默認的造型,將魚鰭改一下大小和方向,嘴巴閉合,尾巴稍微修改一下。

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

四、多麗-跟隨鼠標移動

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

五、多麗-更換造型-動畫

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

六、多麗-播放泡泡聲效

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

七、多麗吃到小魚,增加大小

魚碰到多麗時,會判斷大小,然後發出指令:加減,加爲吃到小魚,增加身體大小;減爲碰到大魚,減少身體大小。

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

吃到小魚,增加,大小和魚的大小相關。通過這個關鍵的偵測指令,能夠獲取另外一個角色或舞臺的參數,如大小。

增加到200以後,就無敵了,成功闖關。

八、多麗-碰到大魚,減少大小

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

減少到10以下,就失敗了,再也無法變大,因爲右邊出來的魚最小的是10.

九、魚-克隆

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

十、克隆啓動-飛出,這裏取了一個1-20的隨機數,然後放大十倍。

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

十一、克隆體啓動,判斷碰撞和大小。

碰到多麗,讀取多麗的大小,然後如果當前的魚比多麗小,就讓多麗增加大小,這條小魚被吃掉了。

否則這條魚還繼續存在,讓多麗減少大小。這裏有個技巧,延遲了3秒,這三秒鐘不會再次碰撞到這條大魚。否則會多次擦身,碰撞多次大魚。

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

十二、接收到結束,停止其他腳本,魚就不飛出來了。 

少兒編程Scratch第37講:大魚吃小魚(8-10歲)

大家可以試試。

共享地址:https://scratch.mit.edu/projects/368568076/

自家廣告:指導着指導着自己的小孩學習scratch編程,結果我自己寫了一本書。本人的Scratch專著預計將在2020年第一季度出版,裏面的水平相當於這裏的Scratch考試一級到七八級,難的地方肯定超過這裏的四級考試。到時,歡迎購買。

《零基礎學Scratch 3.0少兒編程》2020年初出版

2020.02.16

Beijing

轉自公衆號:
艾博特

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章