內容簡介
本書針對**版本的Scratch 3.0編程軟體編寫,是一本全面講授Scratch圖形化編程的教育指南。本書分為基礎編程篇、圖形編程篇和進階編程篇3部分,系統講授Scratch基礎編程知識和運動、偵測、畫筆等各功能模組的技術套用,以及常用的數據結構和算法知識,並提供豐富有趣的教學案例和練習題。 本書從基本的編程概念開始,幫助初學者逐步建立起完整的圖形化編程知識體系,培養初學者人工智慧時代不可或缺的計算思維,使其掌握人工智慧時代必備的編程技能。 本書適合對圖形化編程有興趣的青少年閱讀,也適合希望輔導孩子進行圖形化編程訓練的家長和少兒編程培訓機構的教師使用。
圖書目錄
目錄
基礎編程篇第1部分
第1章 編程起步..................................3
1.1 Scratch編程概述 ............................3
1.1.1 為什麼用Scratch編程 .......3
1.1.2 從Scratch到Python ...........5
1.1.3 Scratch的主要版本 ............7
1.1.4 Scratch項目概述 ................8
1.2 準備Scratch開發環境 ..................10
1.2.1 安裝Scratch離線編輯器 ...................................10
1.2.2 訪問Scratch線上編輯器 ...................................12
1.3 Scratch編輯器界面 ......................13
1.3.1 選單欄 ...............................13
1.3.2 舞台展示區 .......................14
1.3.3 舞台和角色管理區 ...........14
1.3.4 代碼編輯區 .......................15
1.3.5 造型(背景)編輯區 .......16
1.3.6 聲音編輯區 .......................17
1.4 Scratch指令系統概述 ..................18
1.4.1 積木的形狀特點 ...............18
1.4.2 積木的操作方法 ...............20
1.4.3 積木的功能類別 ...............21
1.5 臨摹案例 .......................................23
1.5.1 數學編程:韓信點兵 ........23
1.5.2 遊戲編程:星際飛行 ........28
第2章 變數和運算............................33
2.1 說和思考指令 ...............................33
2.1.1 跟我做:小貓背唐詩 ........33
2.1.2 讓角色說話和思考 ...........35
2.1.3 動手練:小貓的哲學思考 ...................................36
2.2 問答指令 .......................................37
2.2.1 跟我做:簡單的人機對話 ...................................37
2.2.2 詢問與回答 .......................38
2.2.3 動手練:和小貓猜謎語 ...................................38
2.3 變數 ...............................................39
2.3.1 跟我做:小貓變大變小 ...................................39
2.3.2 變數顯示器 .......................40
2.3.3 變數的數據類型和操作 ...................................41
2.3.4 變數的命名和作用域 .......42
2.3.5 動手練:求兩數之和 ........43
2.4 數學運算 .......................................43
2.4.1 跟我做:雞兔同籠 ............44
2.4.2 算術運算和運算優先權 ...................................45
2.4.3 數學函式 ...........................46
2.4.4 動手練:龜鶴算 ................47
2.5 隨機數 ...........................................47
2.5.1 跟我做:小魚逍遙遊 ........47
2.5.2 生成隨機數 .......................48
2.5.3 動手練:幸運大轉盤 ........49
2.6 字元串函式 ...................................50
2.6.1 跟我做:成語接龍 ............50
2.6.2 字元串處理 .......................51
2.6.3 動手練:迴文詩 ................52
第3章 程式控制................................53
3.1 順序結構 .......................................53
3.1.1 跟我做:計算梯形面積 ...................................53
3.1.2 流程圖 ...............................54
3.1.3 順序結構的程式設計 .......55
3.1.4 動手練:計算圓錐體積 ...................................56
3.2 選擇結構 .......................................57
3.2.1 跟我做:求絕對值 ............57
3.2.2 關係運算和邏輯運算 .......58
3.2.3 選擇結構的程式設計 .......60
3.2.4 動手練:判斷三角形構成 ...................................61
3.3 循環結構 .......................................62
3.3.1 跟我做:冰雹猜想 ............62
3.3.2 循環結構的程式設計 .......64
3.3.3 動手練:西西弗斯黑洞 ...................................68
3.4 編程策略 .......................................70
3.4.1 隔溝算羊(枚舉策略) .....70
3.4.2 李白沽酒(遞推策略) .....73
3.4.3 蝸牛爬樹(模擬策略) .....75
3.4.4 肖像在哪裡(邏輯推理) .................................77
第4章 列表........................................80
4.1 列表顯示器 ...................................80
4.1.1 跟我做:求平均氣溫 ........80
4.1.2 列表顯示器的使用 ...........81
4.1.3 動手練:評審打分 ............83
4.2 列表的操作 ...................................84
4.2.1 跟我做:銀行叫號系統 ...................................84
4.2.2 列表操作積木 ...................86
4.2.3 動手練:猴子選大王 ........89
4.3 用列表處理數據 ...........................90
4.3.1 打亂列表中各元素的順序 ...................................90
4.3.2 在列表中生成不重複的隨機數 ...........................90
4.3.3 查找列表中的最大值或最小值 ...........................91
4.3.4 對列表中的元素進行排序 ...................................92
4.3.5 動手練:愷撒加密 ............93
第5章 過程........................................94
5.1 自定義過程 ...................................94
5.1.1 跟我做:計算圓的面積 ...................................95
5.1.2 使用自定義過程 ...............96
5.1.3 動手練:判斷質數 ............97
5.2 遞歸的使用 ...................................98
5.2.1 跟我做:輾轉相除法 ........98
5.2.2 遞歸調用的分析 ...............99
5.2.3 動手做:斐波那契數列 .................................101
5.3 面向過程編程 .............................102
5.3.1 跟我做:卡普雷卡爾黑洞 .................................102
5.3.2 模組化程式設計 .............104
5.3.3 動手練:快樂數黑洞 ......105
第6章 調試程式..............................106
6.1 程式錯誤概述 .............................106
6.1.1 產生程式錯誤的原因 .....106
6.1.2 減少程式錯誤的方法 .....107
6.2 程式調試方法 .............................108
6.2.1 使用數據顯示器 .............108
6.2.2 輸出日誌 .........................108
6.2.3 降低程式運行速度 .........109
6.2.4 設定斷點 .........................110
圖形編程篇第2部分
第7章 舞台......................................113
7.1 海底探險1:遊戲場景 ..............113
7.1.1 遊戲情節介紹 .................113
7.1.2 製作遊戲場景 .................114
7.2 舞檯布局和管理 .........................116
7.2.1 舞檯布局和顯示模式 .....116
7.2.2 舞台背景管理 .................119
7.3 動手練:電子相冊 .....................123
第8章 角色外觀和運動..................124
8.1 創建角色 .....................................124
8.1.1 海底探險2:創建角色 .................................124
8.1.2 創建角色的方式 .............127
8.1.3 角色管理區 .....................127
8.2 角色造型 .....................................128
8.2.1 海底探險3:角色動畫 .................................128
8.2.2 造型控制 .........................129
8.2.3 動手練:街舞表演 ..........130
8.3 角色運動 .....................................131
8.3.1 海底探險4:角色運動 .................................131
8.3.2 運動控制 .........................133
8.3.3 動手練:飛行貓 ..............138
8.4 角色特效 .....................................138
8.4.1 海底探險5:角色特效 .................................138
8.4.2 設定角色特效 .................139
8.4.3 動手練:魔術師 ..............139
第9章 偵測......................................141
9.1 距離偵測 .....................................141
9.1.1 海底探險6:距離偵測 .................................141
9.1.2 距離偵測積木 .................142
9.1.3 動手練:Pico和小狗散步 .................................143
9.2 碰撞偵測 .....................................144
9.2.1 海底探險7:碰撞偵測 .................................144
9.2.2 碰撞偵測積木 .................146
9.2.3 動手練:巡線甲蟲 ..........148
9.3 鍵盤和滑鼠偵測 .........................149
9.3.1 海底探險8:扔炸彈 .......149
9.3.2 鍵盤和滑鼠偵測積木 .....150
9.3.3 動手練:反彈球 ..............150
9.4 時間偵測 .....................................151
9.4.1 海底探險9:遊戲倒計時 .................................151
9.4.2 時間偵測積木 .................152
9.4.3 動手練:時鐘 ..................153
9.5 視頻偵測 .....................................154
9.5.1 跟我做:人體感應開燈 .................................154
9.5.2 視頻偵測積木 .................155
9.5.3 動手練:手勢抓蝴蝶 ......157
9.6 響度偵測 .....................................158
9.6.1 跟我做:聲控開燈 ..........158
9.6.2 響度偵測積木 .................159
9.6.3 動手練:吹生日蠟燭 ......159
第10章 繪圖....................................161
10.1 海底探險10:遊戲計分和血條 ...........................................161
10.2 畫筆 ...........................................164
10.2.1 跟我做:彩虹畫板 .....164
10.2.2 畫筆積木 .....................165
10.2.3 動手練:顏色圖譜 .....167
10.3 圖章 ...........................................168
10.3.1 跟我做:種蘑菇 .........168
10.3.2 圖章積木 .....................169
10.3.3 動手練:彩色風車 .....169
第11章 聲音和音樂 ........................171
11.1 海底探險11:遊戲音效 ...........171
11.1.1 為遊戲增加音效 .........171
11.1.2 複製更多角色 .............173
11.2 播放聲音 ...................................174
11.3 樂器演奏 ...................................175
11.3.1 跟我做:模擬樂器 .....175
11.3.2 樂器演奏積木 .............177
11.3.3 彈奏鼓聲積木 .............179
11.3.4 動手練:演奏《小毛驢》 ........................180
進階編程篇第3部分
第12章 克隆....................................183
12.1 海底探險12:克隆角色 ..........183
12.1.1 克隆功能的使用 .........183
12.1.2 用克隆技術改造遊戲 .............................184
12.2 面向對象編程 ...........................186
12.2.1 用角色模式編程 .........187
12.2.2 用克隆模式編程 .........188
12.2.3 動手練:飛揚的小鳥 .............................189
12.3 動畫案例 ...................................190
12.3.1 綿綿夜雨 .....................190
12.3.2 飄飄飛雪 .....................192
12.3.3 水墨蝌蚪 .....................193
12.3.4 炫彩圓舞 .....................195
第13章 訊息和事件........................197
13.1 海底探險13:訊息機制 ..........197
13.1.1 廣播和接收訊息 .........197
13.1.2 用訊息機制改造遊戲 .............................199
13.2 訊息機制 ...................................202
13.2.1 訊息的異步和同步 .....202
13.2.2 用訊息實現模組化編程 .............................202
13.2.3 訊息佇列的套用 .........204
13.2.4 動手練:小熊打車 .....205
13.3 事件驅動編程 ...........................206
13.3.1 持續不斷的事件 .........207
13.3.2 事件的並發執行 .........207
13.3.3 避免事件的並發 .........208
13.3.4 按鍵事件與按鍵偵測 .............................209
13.4 遊戲案例 ...................................210
13.4.1 貪吃蛇 .........................210
13.4.2 跳下100層 .................212
13.4.3 飛彈打隕石 .................215
第14章 英漢詞典............................221
14.1 搭建項目框架 ...........................221
14.2 詞典排序功能 ...........................222
14.2.1 冒泡排序 .....................223
14.2.2 選擇排序 .....................224
14.2.3 插入排序 .....................225
14.2.4 快速排序 .....................227
14.2.5 詞典排序 .....................229
14.3 詞典查詢功能 ...........................230
14.3.1 順序查找 .....................231
14.3.2 二分查找 .....................232
14.3.3 詞典查詢 .....................233
14.4 新增詞條功能 ...........................234
第15章 企鵝走迷宮........................235
15.1 迷宮簡介 ...................................235
15.2 迷宮界面 ...................................236
15.2.1 二維數組 .....................236
15.2.2 迷宮數據結構 .............237
15.2.3 載入迷宮地圖 .............238
15.2.4 構建迷宮外形 .............240
15.3 迷宮尋路 ...................................243
15.3.1 迷宮算法分析 .............243
15.3.2 迷宮算法實現 .............245
參考文獻 249