2016/03/22

FireMonkey 學習日記06 --【骰子搖搖樂實作】(下)

前情提要:
FireMonkey 學習日記06 --【骰子搖搖樂實作】(上)
FireMonkey 學習日記06 --【骰子搖搖樂實作】(中)

接著就是最難的部份:搖搖樂

在 Delphi 下要怎麼實現呢?

很貼心的,Delphi有個叫【TMotionSensor】。

這個元件集合了重力感知器(G. Sensor)、加速度感知器(Acceleration Sensor)、陀螺儀(Gyroscope Sensor)的探知功能。

我在這裡則是使用了加速度感知器來搭配。
因為 Android 只吐上面幾個項目……


不過呢,該怎麼讓程式知道有在震動呢?

這又牽扯到演算法啦!傳說中的重力加速度公式:
圖片來源:維基百科

要自己重刻好像太晚了,是否有可以參考的程式呢?


沒錯!Delphi 族群的神人就是多,一名俄羅斯神人:Mr. T,他寫了這樣的一款 App:


裡頭記錄了關於 FireMonkey 的【多媒體元件應用】以及【加速度】的演算法監聽「震動」的判定,改寫結果如下:


廢話這麼多,寫起來就只有一點點,現在,只要按下「Start Game」,就會啟動加速感知器,利用「搖」的方式骰出點數,你是否覺得很簡單呢?


是的,就是這麼簡單!

沒錯,用 Delphi 寫 App 就是這麼簡單喲!



話說回來,程式寫完之後,其實也不太敢給小朋友玩……


萬一不是「搖」而是「擲」,這下我的娛樂可能就是打小孩了!(誤)

















































最後,在玩之前給我找到這個……
..........................................................

好啦,看在讓我做出 App 的份上,就饒恕你吧!

想看看 Android 的執行結果?快來下載做好的 APK 吧!Dice for Android / Source

~全文完~

See also:

沒有留言:

張貼留言