(2019/04/03)
一、認識邏輯判斷
程式不是都是從上一直往下(像水往下流)執行;程式有時會有分支(像水遇到大石頭一樣\)!!
二、剪刀、石頭、布遊戲 (隨機出拳)
晃動板子會隨機出拳 (也可以按A鍵就隨機出拳)
先建立一個名為【猜拳】的變數
【猜拳】的初始值為1~3 (隨機產生)
註:這程式可以跟小朋友好好互動,跟學生【賭】一下出現的數字(很好玩的!)
如果上面程式沒問題,代表晃動功能正常,再來出現剪刀、石頭、布的圖案
方法一:
方法二:
同學們,可以分辨出這兩個程式(方法一及方法二)寫法的優劣嗎?我們來分析看看:
方法一:每當裝置晃動時,每次都要去做3次判斷,判斷【猜拳】變數是否是1、2、還是3,即使第1個判斷就已經符合資料了,後面兩個還要花時間去判斷!
方法二:每當裝置晃動時,從上往下判斷,判斷【猜拳】變數是否是1、2、還是都不是,如果符合資料就跳出這整個判斷,因此會比較節省時間。
所以,以上兩種方法,所呈現的結果都一樣,最大的差別就是方法一執行時比較耗時間,方法二比較節省時間,雖然這些時間是我們無法分辨出來的,但這種差別就是所謂的【效能】!程式的寫作有千千萬種方式,就像從高雄到台北,有千千萬條路可走一樣,但一個好的程式設計,取決於【效能】及【程式的長短】,效能越好的程式當然越好,在同樣效能下,當然程式越短越好!
因此,同學們如果想讓自己寫程式的功力大增,就要改用【方法二】的程式寫作方式來進行多分法的判斷!!
三、利用時間控管的按按按遊戲
前一單元的【按按按遊戲】,發現老師喊時間到了還有同學會多按幾下,導致紛爭不斷
由於我們已學會了邏輯判斷,所以在此我們要增加時間控管機制,時間一到,即使按了鍵,也無法增加次數。
按A+B鍵開始遊戲(開始計時)
持續按A鍵來增加按鍵次數,30秒時間一到,發出嗶的聲音及顯示V的圖案,代表時間到了,這時再按A鍵也不會增加次數。
按B鍵顯示按A鍵的數量