本篇要教大家寫一個簡單的打磚塊遊戲。
運用Arduino擴充版上的滑桿,
並用S4A,
就可以寫出這個小遊戲囉!
趕快來動手做做看吧!
(贊助商連結)
首先來介紹滑桿,下圖紅框圈起處就是滑桿,
對應到S4A的是類比訊號A0。
滑桿移到最右邊時,
A0會顯示為255,最左為0。
藉由左右移動,我們要用滑桿控制螢幕中的擋板來玩打磚塊~
功能分析:
遊戲開始後(點選綠色旗子),
球會開始移動,當球碰到上面的磚塊,
磚塊就會消失。球往下掉落時,
我們要用擋板把它擋回去,
若沒擋好,球會掉落,機會就會少一次。
遊戲會在磚塊全打完,
或者機會全用的時後結束。
如圖示。
創造角色
我們一共需要九個角色,
Arduino1(一開始出現在畫面裡的)、
一顆球、
一個擋板、
六塊積木。
大家可以到底下的連結下載角色Sprite的檔案:
點進去後,有四個檔案,逐一下載到自己指定的位置。
點一下,然後選擇下載。
若怕找不到,可以存至桌面。
之後回到S4A裡面,右上角的螢幕底下,
點選【開啟角色檔案】。
找到剛剛下載的角色,點選後新增角色。
現在我們已經有球、檔板、界線跟磚塊。
但我們只有一個磚塊,所以要多複製幾個。
轉到磚頭後,點滑鼠右鍵,然後選擇【複製】。
我們一共需要六塊磚頭,所以請複製五遍。
角色都搞定後,我們現在要先來設定三個變數,
分別為【剩餘機會】、【滑桿位置】、【積木數量】。
先選擇【變數】積木,點選產生一個變數。
變數名稱輸入【剩餘機會】,並點選確定新的變數就會產生囉!
同樣的步驟,我們再把【滑桿位置】、【積木數量】做出來。
變數也搞定後,現在要來用積木寫程式囉!
這時後應該要有六塊磚塊,先不用調整位置沒關係,
等一下我們都會設定好位置。
首先我們先點選Arduino角色。
當綠旗被點選的時候,
我們先隱藏畫面中Arduino的板子圖示,
並把【積木數量】初始的值設為6、【剩餘機會】設為3。
之後不斷重複執行,
讓畫面中檔板的位置對應到我們motorduino擴充板的滑桿上。
意思就是,當我們點下綠旗後,只要移動擴充板的滑桿,
畫面中的檔板的位置就會一起跟著改變喔!
中間綠色的算式是幫大家設計好的,
大家可以想想看為甚麼要這樣設計喔!
最後,如果剩餘機會沒了(等於0),或者上頭的磚塊全被打掉,
遊戲就結束囉!
緊接著我們來設計【球】。
我們先讓球轉15度,
然後讓球不斷朝前進,只要碰到邊緣就會反彈。
若行進中碰到檔板,就會整個面像反方向(方向-180度),
並旋轉-20到20中間,不等的度數,然後繼續前進。
或者今天我們沒有用檔板擋到球,
球碰到底下的界線出界了,
那我們就讓球會到中央(X=0, Y=0),
機會減一,然後等待一妙後重新開始。
擋板的設定很簡單,
就是水平X座標會不斷地隨著擴充板上的滑桿移動而改變位置。
現在我們來排磚塊,
每塊磚塊的差別只有一個小地方,
就是X軸的水平位置。
第一塊的X跟Y請設置為X:-200、Y:165。
當球碰到磚塊時,
我們就隱藏該磚塊,並且把變數磚塊數量-1。
第二塊的X跟Y請設置為X:-120、Y:165。
第三塊的X跟Y請設置為X:-40、Y:165。
第四塊的X跟Y請設置為X:40、Y:165。
第五塊的X跟Y請設置為X:120、Y:165。
最後一塊的X跟Y請設置為X:200、Y:165。
最後最後,我們來設一條界線,一但碰到它就是出界,
當我們點綠色旗子開始的時後,我們把它移到X:0 Y:-170的位置上。
點一下綠色旗子,所有東西都會到定位喔!
好了,現在趕快連線,來玩打磚塊吧~
喜歡我們的 文章嗎 ?
歡迎關注我們的粉絲團唷→ 親子Fun程式
若無法配合附上以上資訊,請勿轉載文章。謝謝~
(本文為CMaker專欄作者編寫 , 歡迎轉載,請同時附上CMoney本站完整名稱與網址。)
好文章 分享給好朋友吧~