新世紀版信息技術八年級下冊第九課 加油棒 課件.pptx
第九課 加油棒,信息技術新世紀版 八年級下,學習要點:,1進一步熟悉帶參數的函數。 2進一步學習用無線電控制多塊 micro:bit 板。 3掌握終止程序循環的方法。,重難點:,重點是學習創建帶參數的函數; 難點是掌握終止程序循環的方法。,課前導入,在大型集會的現場,人們經常手持加油棒,制造出非常熱烈的氣氛。現在讓我們用micro:bit來制作一種特別的加油棒,所有的加油棒能同時變換圖案,使大家的行動更加整齊劃一。,設計加油棒的圖案,設計加油棒是一個很有趣的案例。 首先設計加油棒的圖案,為了讓加油棒能帶動加油的氣氛,需要將圖案設計成動畫,而具體是什么樣的動畫,則要根據應用情景來設計。例如:加油的情景,將動畫設計成揮舞的棒子;祝賀的情景,將動畫設計成放煙花的樣子。 加油棒的圖案可以是靜態的,也可以是動態的。如果是靜態的圖案,其設計方法與上一課“遙控燈”相同。,下面讓我們來設計圖案為動態的加油棒!,演示講解,【例題9-1】設計兩個圖案,為制作加油棒做準備。一個圖案是煙花,當勝利的時候加油棒上顯示煙花;另一個為揮舞的棒子,表示加油。,思考 :,為了在程序中調用圖案方便,我們將如何設計兩個圖案?,函數,設計煙花、揮舞棒子函數,【操作步驟】,第一步 設計煙花函數,積木程序如下:,第二步 設計揮舞棒子函數,積木程序如下:,按下按鈕A,顯示煙花動畫;按下按鈕B,顯示揮舞棒子的動畫。程序如下:,運行程序發現,按下按鈕A,點陣屏幕會顯示煙花動畫,但是,當我們按下按鈕B時,煙花動畫還在播放,不會切換到揮舞棒子動畫。哪里出錯了呢?,運行程序 找發現,原來程序中顯示動畫的命令采用了“循環”播放的方式,程序執行到這里就不會再執行別的命令了!將“循環”改成“不循環”就可以切換動畫了:,想一想,不循環播放,動畫效果出不來,怎么辦呢?,在程序中加上while循環,并且不斷地檢測按鈕是否被按下,如果按鈕被按下,停止播放。如圖:,改進后的煙花函數如下:,用同樣的方法修改揮舞棒子函數。 將程序保存并復制到micro:bit上,按下按鈕A就顯示煙花動畫,按下按鈕B就顯示揮舞棒子動畫。,上面的動畫的循環播放由如下命令來控制: while (not button_a.is_pressed(): 也就是說,只要不按下按鈕 A,循環就會一直進行,呈現出動畫連續播放的效果。如果這里的動畫由如下命令來播放,那么我們就無法通過按下按鈕來切換動畫了: display.show(images, delay=100, wait=True, loop=True, clear=True) 如果需要播放的動畫超過兩個,就不能用按鈕 A 和按鈕 B 和動畫對應了,而應該如何設計程序呢?,拓展探究,應該用按鈕來翻頁播放動畫。修改后的積木程序如下:,代碼模式程序如下:,程序綜合應用了前面(包括上學期)學過的列表和求余的知識。 利用按鈕 A 來翻頁,每按一次按鈕 A,n 的值增加 1,而求表達式 n%3 可以讓余數在 02 之間,因此可以用 sn%3 來指定列表 s 中的元素,為了讓其他的micro:bit與按下按鈕的micro:bit行動一致,就必須發送廣播信息。,【例題9-2】控制所有人的加油棒顯示同樣的圖案。,演示講解:控制加油棒,被控制的micro:bit需要接受指揮,因此在顯示圖案的函數中必須檢測接收到的信號,并根據接收到的信號決定顯示什么圖案。,對【例題9-1】的函數進行修改,修改過的煙花函數程序如下:,修改過的揮舞棒子函數:,編寫主程序:調用前面定義的函數控制加油棒顯示指定的圖案。,保存程序,并將程序復制到所有的micro:bit上。按下按鈕A,這塊micro:bit就變成“總指揮”,其他所有的micro:bit將顯示煙花;按下按鈕B,其他所有的micro:bit將顯示揮舞棒子。,任務探究,將積木 換成 ,【例題9-2】程序的運行效果會發生什么樣的變化?為什么?,積木換成 后的效果,積木 的效果,運行結果顯示換了之后顯示的效果是不循環的,要按鍵才能顯示。,課堂小結,本節課進一步熟悉帶參數的函數。能夠用無線電控制多塊 micro:bit 板,基本掌握終止程序循環的方法。,自學網