1. 程式人生 > >少兒程式設計Scratch第一講:Scratch完美的初體驗

少兒程式設計Scratch第一講:Scratch完美的初體驗

 

素材及視訊下載

連結:https://pan.baidu.com/s/1qX0T2B_zczcLaCCpiRrsnA
提取碼:xfp8

 

 

都說未來是人工智慧、計算機程式控制的時代,如何讓青少年接觸計算機程式設計思想和技能,已經成為國家人才發展的重要戰略之一。

Scratch是由美國麻省理工學院MIT設計開發的圖形化少兒程式設計工具。通過圖形控制元件,小孩可以在不編寫任何程式碼的情況下實現很多程式功能。從初步體驗來看,五六歲以上的小孩即可上手。Scratch使用了舞臺、角色概念,內建的人物、動物、玩具等對小孩還是很有吸引力的。小孩可以當做遊戲來玩。在小孩還不能獨立完成程式人物的情況下,家長或老師可以指導小孩完成程式設計,做一個小動畫,實現各種變化,通常來說,小孩的興致還是很高的。學員無需下載scratch軟體,可以直接在MIT網站上使用scratch.mit.edu。可以存為本地檔案,在本地scratch軟體中修改,也可以直接儲存到MIT網上。我下載了一個2.0中文版的Scratch,控制元件的字型似乎不對,後來還是直接使用MIT網上的Scratch環境,這個網站支援中文,網頁最下方可以選擇語言-中文。

2018年,新年第一天上午,和六歲的小孩一起動手,完成了《雪地大戰》,初步認識了Scratch的強大。雖然今天的練習還不能獨立完成,但已經初步培養的程式設計的興趣,所有的操作都是在家長指導下由小孩自己完成的,因為小孩把這個當做一個遊戲來做。

首先介紹了這個軟體能夠做什麼。然後直接在軟體相簿中選擇了舞臺背景,看了一遍系統提供的舞臺背景以後,小孩選擇了雪地雪山背景。有了背景以後,就可以新增角色。預設的角色是一個小貓咪,先把這個小貓咪刪掉。因此需要了解滑鼠的左右鍵,點選右鍵,能夠將選中的角色刪除。系統提供了動物、奇幻、字母、熱恩無、物品、交通等角色分類。小孩看到這些角色相簿,著實興奮了一把,都像把他們放進來。

我們確定今天的主題是讓某個角色飛起來。所以最後是選擇了巫師,因為之前看過哈利波特的電影。計劃是讓巫師從舞臺左下角飛到舞臺右上角,達到右上角以後,回到左下角原點。後來有添加了螃蟹、蝙蝠、鬼怪。打算巫師是對角飛,螃蟹是在下方左右翻滾移動,鬼怪在中間左右平飛,蝙蝠在舞臺中間自下而上飛,同時蝙蝠會逐漸變大。

先完成巫師的對角飛行。介紹舞臺的X方向和Y反向。舞臺的正中央是零點。如果要想讓某個角色從左到右移動,那麼橫向的X是增加還是減少?答案是X++,比如一次加1或者一次加4,加的越多,就飛得越快。然後巫師還需要往上飛,因此Y方向要向上移動,即Y++。如果要往左飛,則X–,往下飛則Y–。舞臺最右邊是X=240,最左邊是X=-240。舞臺最上面是Y=180, 最下面是Y=-180。負數就是比零還小的數字。

有了這個認識以後,我們進入指令碼區域。介紹第一個分類是“事件”。在事件中,我們添加了“當小綠旗子被點選”,就是開始按鈕,然後執行一些操作。

1)因為預設的巫師圖片比較大,所以每次開始時,我們都先設定巫師的大小為60。這樣怎麼操作?進入“外觀”,裡面有一個控制元件“將角色大小設定為XX”,XX空格中可以錄入數字。將這個控制元件拉過來,把開始小旗子磁貼貼上在一起。這和樂高的WEDO類似。就是幾個控制元件依次放在一起。

2)要實現巫師往右飛,我們使用了“運動”中的控制元件“將X座標增加XX”,我們設定了增加4.

3)要實現巫師往上飛,我們使用了“運動”中的控制元件“將Y座標增加XX”,我們設定了增加3.

這時候已經可以開始運行了,但是每次點選執行,巫師只會飛一點點,需要不停點選,才能往右上角飛。

那如何讓巫師連續的飛的?答案是使用迴圈。

4)迴圈屬於“控制”,在“控制”分類中,選擇重複執行這個框,將X,Y的兩個控制元件都包括在內。

因為是重複無數次執行,因此我們實現了巫師對角飛行。但是問題又來了。巫師碰到右上角以後,就飛出去不動了,因為到底了。如何解決這個問題?

這時候我們討論,每飛一次,我們就檢查一下,如果X座標大於240,我們就然巫師重新回到左下角。因此我們增加了一個判斷。

5)判斷還是屬於“控制”,在控制中增加“如何…..那麼”的判斷。

6)判斷有條件,條件屬於“運算”,我們到“運算”中,拖一個“某某>某某”的判斷控制元件到這個“如果…那麼”上。

然後獲取巫師的當前位置,這可以在“運動”中找到“X座標”。判斷條件是:

X座標> 240.

7)如果條件滿足,我們就要讓巫師回到原點,即X座標等於-240,Y座標等於-180。

執行,巫師就開始對角飛行,飛到右上角以後,又重新回到坐下角,不停的重複。

後來我們按照相同的方法,實現了旁邊從左到右,裡面增加了一個運動動作“右轉XX度”。

鬼怪的動作我們選擇了,從左到右,但更簡單,沒有使用判斷,只是往右執行120次,X軸每次增加4,執行完畢以後,繼續執行120次,但是每次增加-4,這樣就實現了不停來回的移動。

對於蝙蝠,我們加上了大小變換。從下往上移動,還是使用判斷,到達頂部以後回到底部。蝙蝠往上移動的時候,我們然大小逐漸變大,然後回到原點的時候,重新設定為開始時的大小。

我們是使用瀏覽器,在MIT網站上直接使用Scratch的,最後我們將專案儲存在MIT網站中,同時儲存一份到本地計算機桌面上。

小孩說要設計一個能發射炮彈的遊戲。那我們下次,打算讓一個飛機從左往右飛,然後飛行過程中能夠向下扔炸彈。飛機是一個角色,炸彈是一個角色,關鍵是計算位置,要實現炸彈是從飛機上扔下來的。

要繼續學習,就得好好吃飯,先做好作業。果然,有了這個期待,今天的娃還是很聽話的。

總結今天學習的內容:

1.    舞臺:會自己新增舞臺背景了。

2.    角色:會自己新增角色了。

3.    事件:開始

4.    外觀

a.    將角色大小設定為60

b.    將角色大小增加2

5.    運動

a.    將X座標增加4

b.    將Y座標增加3

c.     右轉4度

d.    X座標:讀取X座標的值

e.    移動到X=-240, Y=-180:回到左下角。

6.    控制

a.    重複執行:無限制,永遠重複

b.    重複執行140次:每次X+2

c.     如果??那麼??:如果X>240,就回到原位。

對於這些分類,第一次還是記不住的,後面希望每週花半天時間,通過練習,記憶,能夠自行完成這些作業。其他時間,可以講解各種設計、控制元件和基礎知識。

小孩表示能夠理解,能夠回到,如果要往右飛,X應該增大,還是減小,Y應該增大還是減小。

scratch程式設計環境。左上角是舞臺,下面可以選擇舞臺背景圖和角色。這裡都直接使用相簿中的圖。右邊是指令碼和控制元件程式。

 

背景相簿

分類角色:有奇幻、動物、人物、物品、交通等,對小孩還是很有吸引力的。

指令碼中的分類還是很好的,通過顏色即可看到歸入在哪一類中。不過小孩要先知道某個控制元件在某一類中,才能找到,例如判斷在控制中,判斷條件在運算中,大小變化在外觀中,XY左邊變換,轉動在運動中。

 

鬼怪的的程式,從左到右,然後返回。

家有五六歲以上的小孩,都可以試試這個scratch程式設計,可以當做遊戲