480 likes | 797 Views
打地鼠遊戲. 打地鼠遊戲. 遊戲畫面. 程式設計步驟. 先想想你的程式畫面要「長」成什麼樣子,並且用紙筆先畫下來,上網找合適的素材使用。. 畫面配置. 在腦中先想一遍,你的程式會怎麼執行?把自己當做真正的使用者,你會喜歡怎樣的流程?. 程式流程設計. 有兩個部分:首先完成畫面的配置、調整;接著透過撰寫程式想辦法達到你想呈現的成果。. 開始實作. 透過模擬器呈現的程式執行結果,驗證與自己的預期是否相符合,進一步調整或修改錯誤。. 測試與修改. 完成程式。進一步思考你的程式還有什麼地方可以做得更好、更有趣、更完整,持續發展。. 完成. 畫面配置─試試看!.
E N D
打地鼠遊戲 打地鼠遊戲
程式設計步驟 先想想你的程式畫面要「長」成什麼樣子,並且用紙筆先畫下來,上網找合適的素材使用。 畫面配置 在腦中先想一遍,你的程式會怎麼執行?把自己當做真正的使用者,你會喜歡怎樣的流程? 程式流程設計 有兩個部分:首先完成畫面的配置、調整;接著透過撰寫程式想辦法達到你想呈現的成果。 開始實作 透過模擬器呈現的程式執行結果,驗證與自己的預期是否相符合,進一步調整或修改錯誤。 測試與修改 完成程式。進一步思考你的程式還有什麼地方可以做得更好、更有趣、更完整,持續發展。 完成
畫面配置─試試看! • [從模仿開始,再逐漸磨練自己的創意與想法] 起始畫面 遊戲畫面
程式流程設計 • [範例] 使用者按下畫面上的“開始”按鈕,就切換到遊戲畫面 每隔一秒地鼠就會在地圖上出現,位置為隨機決定 使用者點到一次地鼠就能得到1分 能量條歸零,遊戲即結束,出現重玩按鈕,按下可重來 設置一個能量條,每點到一次地圖改為扣1點能量 使用者點到地圖上其他地方就會扣分 地鼠在地圖上出現的時間間隔縮短 地圖上會隨機出現地雷,點到扣分,並播放音效與震動 ???
程式設計[步驟2]遊戲畫面配置 • 使用Canvas元件當做遊戲的背景圖片,讓地鼠(ImageSprite元件)可以在上面移動。
程式設計[步驟3]畫面切換設定 when start.Touched 當start元件被碰觸 x、y表示碰觸時該點的座標 do 就做…
程式設計[步驟3]畫面切換設定 when start.Touched 當start元件被碰觸 doopen another screen screenName “Screen2” 就 開啟 另一個 畫面 名為Screen2的畫面
程式設計[步驟4]增加計分標籤 將Label1與Label2放進HorizontalArrangement中
程式設計[步驟5]讓地鼠隨機移動 when Clock1.Timer 當Clock元件 每次計時 do 就做… Clock1.Timer表示Clock1元件每隔「TimerInterval」毫秒,就會執行一次do當中的指令。此處TimerInterval值為1000,表示每1秒會執行一次。
程式設計[步驟5]讓地鼠隨機移動 call ImageSprite1.MoveTo 讓 ImageSprite1元件 移動到 x y 座標為(x,y)的點 x=0 → 大 y=0 ↓ 大
程式設計[步驟5]讓地鼠隨機移動 random integer from 1 to 100 隨機的 整數 從 1 到 100 random integer from指令會從後面接的數字區間中,隨機地選出其中一個。注意必須為整數。
程式設計[步驟5]點到地鼠就得分 when Clock1.Timer 當Clock元件 每次計時 do call ImageSprite1.MoveTo x,y 就把ImageSprte1移動到座標為(x,y)的地方 when ImageSprite1.Touched 當ImageSprite1元件被碰觸 do set Label2.text to Label2.text + 1 就 把Label2的值設為Label2原本的值+1
程式設計[步驟5]點到地鼠以外的地方扣分 when Canvas1.Touched 當Canvas1元件被碰觸 do set Label2.text to Label2.text - 1 就 把Label2的值設為Label2原本的值-1 現在的確會扣分了,可是出現了另一個問題,是什麼? 原因是…?
程式設計[步驟5]調整加分原則 when Canvas1.Touched 當Canvas1元件被碰觸 if get touchedSprite 如果碰到的是Sprite元件 then set _____________ to _____________ 就把Label2加1 else set _____________ to _____________ 否則就把Label2-1
回顧 • 回顧一下我們做到哪裡了? 使用者按下畫面上的“開始”按鈕,就切換到遊戲畫面 每隔一秒地鼠就會在地圖上出現,位置為隨機決定 使用者點到一次地鼠就能得到1分 能量條歸零,遊戲即結束,出現重玩按鈕,按下可重來 設置一個能量條,每點到一次地圖改為扣1點能量 使用者點到地圖上其他地方就會扣分 地鼠在地圖上出現的時間間隔縮短 地圖上會隨機出現地雷,點到扣分,並播放音效與震動 ???
程式設計[步驟6]增加能量條,滿點為100點 能量條可以用什麼元件來製作? 將這個元件的背景顏色設為綠色、寬度設為100、高度設為20。
程式設計[步驟6]設計能量條 • 設定一個數字名叫energy,初始值設為100,用來表示目前能量值。
程式設計[步驟6]設計能量條 原本是把Label2-1
程式設計[步驟6]依能量點數調整能量條顏色 如果能量值在60以下 就把能量條設為橘色 又如果能量值在30以下 就把能量條設為紅色 現在程式還有什麼問題?
程式設計[步驟7]設定結束(能量條歸零)時的動作程式設計[步驟7]設定結束(能量條歸零)時的動作 再增加一個判斷: 如果能量值小於0 就讓Clock1元件計時的功能關閉 現在程式還有什麼問題?
程式設計[步驟7]設定在能量值歸零前點地鼠才能得分程式設計[步驟7]設定在能量值歸零前點地鼠才能得分
程式設計[步驟8]新增開始按鈕 • 在按下開始前,先不要計時
程式設計[步驟8]新增開始按鈕 • 按下開始按鈕後: • 計時器才啟動 • 將按鈕隱藏 • energy值預設為100 • 血條長度恢復 • 血條顏色設回綠色 • 得分設回0
程式設計[步驟8]新增開始按鈕 別忘了在能量值歸零時,把按鈕再調整為可被看見 基礎版的打地鼠遊戲至此完成,你可以把遊戲的畫面改成自己喜歡的圖案,也可以接著挑戰進階版