最近有人問LabVIEW能不能寫出flappybird那樣的東西
身為不務正業之人肯定要試一下的
概念上這個程式不難
我希望遊戲的呈現是執行後有個標題畫面, 球(或鳥)會在視窗中央上下飛翔
開始後有上下兩排障礙往左移動, 控制球避開障礙, 每避過1個加1分
另外每隔一段時間右方隨機高度出現另一種障礙以兩倍速度往左方飛
碰到障礙物結束遊戲並顯示總分
分析必要的的功能就是障礙物每個frame自動往前進 (就有球前進的錯覺)
畫面中間有一個球,按空白鍵會往上飛, 不按就自由落體往下掉
球撞到障礙物就結束, 沒撞到且越過障礙物就得分
我們只要處理物件的位置、球的控制以及碰撞判定就可
剩下的的就是一些外觀裝飾及增加遊戲可玩性的處理
主要遊戲迴圈如下, 當然實際寫出來會增加一些輔助的流程
不需要用到QHM或是state machine架構, 只要用到簡單的loop和sequence即可
程式不使用LabVIEW的繪圖功能
使用的所有物件都是FP內建的control, decorate
關於FP物件可以參考 LabVIEW front panel物件控制 的說明
完成的程式階層和subvi如圖, 數量不多
接著會說明這個程式要如何用LabVIEW實現