10貓虎大戰

【遊戲名稱】貓虎大戰

【玩法】

在畫面上方有一個跑動中的力道指標,
當按下空白鍵後,
左方的小黃貓就會依力道發出一顆棒球,
力道愈大,棒球飛得愈遠。

棒球打到右方的小貓,
會記錄擊中的次數。

試試看,看你能不能百發百中?

【素材】

背景:背景.gif

力道指數:力道.sprite

棒球:baseball.png

虎:tiger1.png, tiger2.png

【配分】

5 設定舞台的背景為「背景.gif

5 新增變數「等待發球」、「力道指數」「擊中次數」、「發球次數」

10 在舞台上撰寫程式,設定「等待發球」的初始值是「是」,「發球次數」、「擊中次數」的初始值是0

10 在舞台上撰寫程式,當按下空白鍵時,設定「等待發球」的初始值是「否」,並且廣播「發球」訊息。

10 新增老虎角色(cat3.png, cat4.png),將其縮小到適當大小,放在畫面右下方。

@@@@@

10 製作小貓動畫,若變數「等待發球」的值是「是」,則不斷地變換造型。

10 新增力道角色(力道.sprite),若變數「等待發球」的值是「是」,則不斷地變換力道的造型。

5 新增變數「發球次數」、「擊中次數」,設定為大型讀數顯示模示,並置放於畫面右上方相對應的位置。

@@@@@

15 當右方的老虎被球打到時

(1)   老虎會顯示cat4.png造型一秒後,再回到cat3.png造型。

(2)   將變數「擊中次數」增加1

(3)   廣播「打到」訊息。

@@@@@@

10 新增棒球角色(baseball.png),將其縮小到適當大小。當綠旗點一下或接受到「打到」的廣播訊息時,則隱藏。

10 

當棒球接受到「發球」的廣播訊息時,
移到小貓位置顯示將變數「發球次數」增加1

將棒球從貓咪的位置射出,
其路徑是先往右上再往右下行走,
而行走的距離是由力道角色的造型編號來決定,

力道角色的造型編號是1~9時,是由近到遠,

力道角色的造型編號是10~18時,是由遠到近。


發完球後「等待發球」的值設定為「是」。

【角色教學步驟】

  1. 匯入角色、背景:
    1. 建立角色名稱
    2. 貓虎角色要縮小
    3. 虎角色要左右翻動
    4. 刪除空白背景

  2. 舞台變數、初始化程式
    1. 新增變數
      「等待發球」、「力道指數」、
      「擊中次數」、「發球次數」
    2. 在舞台上撰寫程式,
      設定「等待發球」的初始值是「是」,
      「發球次數」、「擊中次數」的初始值是0
    3. 在舞台上撰寫程式,
      當按下空白鍵時,
      設定「等待發球」的初始值是「否」,
      並且廣播「發球」訊息。

  3. 小貓、力道動畫
    1. 製作小貓動畫,
      若變數「等待發球」的值是「是」,
      則每0.2秒不斷地變換造型。
    2. 製作力道角色動畫
      若變數「等待發球」的值是「是」,
      則不斷地變換力道的造型
      變數力道指數=造型編號。
    3. 「發球次數」、「擊中次數」,
      設定為大型讀數顯示模示,
      並置放於畫面右上方相對應的位置。

  4. 打老虎
    1. 正常是tiger1造型
    2. 當右方的老虎被球打到時
       老虎會顯示tiger2.png造型一秒後,
      再回到tiger1.png造型。
    3.  將變數「擊中次數」增加1。
    4.  廣播「打到」訊息。

  5. 發射棒球
    1. 當綠旗點一下或接受到「打到」的廣播訊息時,則隱藏。
    2. 當棒球接受到「發球」的廣播訊息時,移到小貓位置顯示,將變數「發球次數」增加1。
    3. 將棒球從貓咪的位置射出,
      【XY座標在向右上、再轉右下時,有何變化?】
      其路徑是先往右上
      再往右下行走,
    4. 而行走的距離是由力道指數角色的造型編號來決定,
      試試下面2種方法哪個可行?
      1. 力道指數=【重複次數】,【座標值】固定
      2. 力道指數=【座標值】,【重複次數】固定
    5. 球碰到邊緣要隱藏
    6. 發完球後「等待發球」的值設定為「是」,球隱藏。
核心問題導向教學步驟
  1. 如何拋球後,讓球呈拋物線前進?
  2. 【按空白鍵發球】
    1. 按綠旗,球消失?
    2. 按空白鍵,球出現,移到小貓位置?
    3. 球拋出去後,上升不久後,下墜?
      • 球依拋物線上升,XY座標值如何改變?
      • 球依拋物線下降,XY座標值如何改變?
      • 利用計次式迴圈,控制球上升、下墜?
    4. 球碰到邊緣就消失?

  3. 【老虎碰到】?
    1. 正常是tiger1造型
    2. 當右方的老虎被球打到時
       老虎會顯示tiger2.png造型一秒後,
      再回到tiger1.png造型。
    3.  將變數「擊中次數」增加1。
  4. 【廣播打到】
    1. 【老虎碰到廣播「打到」訊息。
    2. 棒球角色
      當綠旗點一下

      接受到「打到」的廣播訊息時,則隱藏

  5. 【廣播發球、定義變數】
    1.  舞台變數、初始化程式
      1. 新增變數
        「等待發球」、「力道指數」、
        「擊中次數」、「發球次數」
      2. 在舞台上撰寫程式,
        設定「等待發球」的初始值是「是」,
        「發球次數」、「擊中次數」的初始值是0
      3. 在舞台上撰寫程式,
        當按下空白鍵時,
        設定「等待發球」的初始值是「否」,
        並且廣播「發球」訊息。
  6. 小貓、力道動畫
    1. 製作小貓動畫,
      若變數「等待發球」的值是「是」,
      則每0.2秒不斷地變換造型。
    2. 製作力道角色動畫
      若變數「等待發球」的值是「是」,
      則不斷地變換力道的造型
      變數力道指數=造型編號。
    3. 「發球次數」、「擊中次數」,
      設定為大型讀數顯示模示,
      並置放於畫面右上方相對應的位置。
Comments