本書以麻省理工學(xué)院開發(fā)的圖形化編程軟件 Scratch 3.0 為設(shè)計(jì)工具,結(jié)合數(shù)學(xué)、物理、美術(shù)、音樂(lè)等學(xué)科知識(shí),講解計(jì)算機(jī)編程中的基礎(chǔ)知識(shí)。本書利用豐富的項(xiàng)目化場(chǎng)景和生動(dòng)的科幻故事情節(jié),對(duì)知識(shí)點(diǎn)進(jìn)行鞏固運(yùn)用,同時(shí)鍛煉學(xué)生的邏輯能力和發(fā)現(xiàn)并解決問(wèn)題的能力。
本書分為四大部分,分別為編程原理及 Scratch 3.0 環(huán)境、Scratch 表達(dá)展示、Scratch邏輯思維、大型項(xiàng)目設(shè)計(jì)及過(guò)渡高級(jí)語(yǔ)言。讓每一位孩子從 Scratch 的“設(shè)計(jì)師”成為Scratch 的“賦能師”,最后成為 Scratch 的“布道師”。
本書適合小學(xué)一年級(jí)以上對(duì)編程感興趣的孩子,同時(shí)也適合零基礎(chǔ)的成年人了解Scratch,從而更好地陪同孩子一起學(xué)習(xí)。
史軍艇,中國(guó)計(jì)算機(jī)學(xué)會(huì)會(huì)員,國(guó)內(nèi)少兒編程的先行者,蘑菇青少兒編程創(chuàng)始人。2017年受邀前往加州大學(xué)及麻省理工學(xué)院討論中美少兒編程差異,并與Scratch之父Mitch Resnick探討Scratch 3.0底層設(shè)計(jì)原理,由技術(shù)偏執(zhí)狂轉(zhuǎn)型成為青少兒編程行業(yè)的領(lǐng)軍者。
王朔,16歲考入西安交通大學(xué)少年班,后赴美深造8年,獲密歇根大學(xué)電子工程碩士及計(jì)算機(jī)工程博士學(xué)位,前硅谷資深算法專家。在校期間曾任密歇根理工大學(xué)本科Programming Basics課程講師。深耕一線編程教育,將美國(guó)前沿教育理念帶回國(guó)內(nèi)。
1. 編程原理及學(xué)習(xí)路線 /17
2. Scratch 3.0 /238
添加、刪除背景 34
積木塊的操作34
保存作品 35
3. 我的舞臺(tái) /37
位圖與矢量圖38
設(shè)計(jì)一個(gè)角色39
新建一個(gè)項(xiàng)目39
畫一張大臉40
一雙圓圓的大眼睛 41
設(shè)計(jì)一個(gè)頭盔 44
繪制小未的身體 47
最后的修飾48
設(shè)計(jì)一個(gè)背景49
繪制新背景 49
小未停留的星球50
太空中的小星球 51
一架小飛船 . 53
4. 保衛(wèi)地球 /57
外觀模塊 58
設(shè)置項(xiàng)目初始背景 58
顯示與隱藏 59
設(shè)置小未初始大小 60
設(shè)置小未初始造型 60
讓小未動(dòng)起來(lái) 61
說(shuō)話和思考 619
圖形特效與圖層 62
飛船的外觀初始設(shè)置 64
運(yùn)動(dòng)模塊 65
確定小未的行走方向. 65
調(diào)整小未的旋轉(zhuǎn)方式 66
讓小未向前移動(dòng) 66
讓小未停下來(lái)67
固定初始位置 68
乘上飛船來(lái)到太空68
飛船的位置與方向69
旋轉(zhuǎn)的飛船70
5. 太空鋼琴 /73
聲音模塊74
讓小未介紹項(xiàng)目74
錄音 75
編輯聲音 76
播放聲音78
讓小未唱歌 79
音樂(lè)模塊79
樂(lè)器切換 79
音符彈奏 81
豐富角色的外觀特效82
文字朗讀 82
6. 一場(chǎng)意外 /85
事件 86
初始場(chǎng)景 86
消息 88
朋友與外星人的對(duì)話 89
外星人抓走朋友 91
廣播消息 93
切換背景 94
小未收到“SOS”信息94
7. 月球營(yíng)救 /97
第一幕98
尋找朋友的小未 99
發(fā)現(xiàn)朋友 100
切換到望遠(yuǎn)鏡視角100
兇狠的外星人 103
第二幕104
向月亮出發(fā)104
到達(dá)目的地106
與外星人的戰(zhàn)斗 0
小未帶朋友回家110
朋友向小未道謝 111
8. 太空迷宮 /115
順序結(jié)構(gòu) 116
小未的初始設(shè)置117
循環(huán)結(jié)構(gòu)117
計(jì)數(shù)型循環(huán) 118
無(wú)限型循環(huán) 118
循環(huán)播放背景音樂(lè)118
條件型循環(huán) 119
走來(lái)走去的小蟲 119
選擇結(jié)構(gòu) 120
控制小未移動(dòng)122
完善迷宮游戲 124
小未與圍墻的碰撞 124
游戲失敗與勝利 125
9. 躲避隕石 /129
平面直角坐標(biāo)系與坐標(biāo)130
舞臺(tái)上的坐標(biāo)系 131
角色的位置與坐標(biāo) 132
小未的初始位置 133
小未的移動(dòng)功能 . 133
隨機(jī)數(shù)134
障礙物的初始設(shè)置 135
障礙物的出現(xiàn)與移動(dòng) 135
游戲內(nèi)容完善 137
角色的動(dòng)態(tài)效果137
將左邊緣“隱藏” 138
游戲結(jié)束138
10. 小未大戰(zhàn)僵尸 /141
克隆 142
創(chuàng)建克隆體 143
啟動(dòng)克隆體 144
刪除克隆體 146
變量147
建立一個(gè)變量148
給變量賦值 149
游戲內(nèi)容完善 151
小未的移動(dòng)151
僵尸的動(dòng)態(tài)效果 152
11. 坦克大戰(zhàn) /155
變量的標(biāo)記作用156
標(biāo)記游戲狀態(tài) 156
運(yùn)算 157
關(guān)系運(yùn)算符 157
生成敵方坦克 158
算術(shù)運(yùn)算符159
敵方坦克的起點(diǎn) 159
邏輯運(yùn)算符 160
難度升級(jí) 162
偵測(cè) 163
偵測(cè)事件 163
子彈的生成與失效 164
坦克被子彈消滅 165
偵測(cè)數(shù)據(jù) 165
子彈的方向 165
游戲內(nèi)容完善 166
小未的坦克爆炸 166
子彈與敵人消失166
GAME OVER 16813
12. 能量補(bǔ)充站 /171
碰撞檢測(cè) 172
簡(jiǎn)單碰撞173
包圍盒. 173
碰撞塊 173
自制積木 . 174
跳跳跳 175
重力作用 177
落地檢測(cè) . 179
左右移動(dòng) 181
游戲內(nèi)容完善183
布置游戲場(chǎng)景.183
放置炸藥包185
游戲結(jié)束186
13. 尋找寶箱 /189
設(shè)計(jì)游戲背景190
列表 191
制作背景列表 192
制作標(biāo)記點(diǎn)的位置列表 193
字符串 193
繪制背景 195
放置標(biāo)記198
游戲內(nèi)容完善 200
小未移動(dòng) 200
放置炸藥包 202
目 錄14
寶箱還是地雷? 203
游戲結(jié)束 204
14. 接住他們 /207
游戲設(shè)計(jì) 208
設(shè)計(jì)游戲內(nèi)容208
明確游戲項(xiàng)目框架
切換到主頁(yè)210
動(dòng)畫效果211
游戲名稱 212
“游戲說(shuō)明”按鈕213
“開始游戲”按鈕 213
游戲說(shuō)明頁(yè)214
切換場(chǎng)景 215
“返回”按鈕 216
游戲內(nèi)容 217
切換場(chǎng)景218
移動(dòng)的管道219
接住小未 220
接住炸彈225
結(jié)束頁(yè)面228
更新最高分 229
顯示游戲數(shù)據(jù) 229
本次得分 230
最高得分 232
15. 從 Scratch 到 Python /235
初識(shí) Python 236
下載與安裝 236
啟動(dòng) IDLE237
用 Python 編程238
第一段代碼238
海龜繪圖239
Python 中的循環(huán)243
Python 中的變量245