您的位置:首頁>正文

神器的新玩法——用LabView製作遊戲

從事電子自動化, 電路設計等電子相關領域工作的同學們對LabView肯定不陌生, 這款NI公司出品的軟體以其圖形化的程式設計方式, 征服了多少不願打代碼的電子工程師的心。 另外, 它的模擬功能也很強大。 今天, 小編就向您介紹一下LabView的新玩法——用LabView製作一款遊戲。

由於篇幅有限, 本文僅介紹一種簡單的五子棋遊戲的製作方法作為啟發。 這個遊戲的主要思路就是利用LabView的電路模擬功能, 把代碼變為邏輯電路, 並通過LabView模擬。 從而達到將代碼圖形化並且可運行圖形化程式的目的。

首先, 往我們看一下遊戲規則的流程圖,

這也是我們設計思路的指導方向。 程式設計思路如下圖所示:

本遊戲可分為兩種模式:人機對弈模式和雙人對弈模式。 若選擇人機對弈模式, 遊戲開始, 判斷該位置是否有棋子。 如無棋, 則黑方先落棋。 再判斷黑方是否獲勝, 如果黑方獲勝則選擇是否重新開局, 選擇是就重新開始遊戲, 否則直接結束遊戲。 如果黑方沒有獲勝, 則電腦計算下子位置, 方式同上。

接下來, 我們開始設計各個模組:

1、初始棋盤模組

用長32位元的整形數值來表示棋盤大小, 陣列顯示當前棋盤的狀態, 用迴圈結構來實現,

當按下重新開始按鈕, 調用該程式初始化棋盤。 初始棋盤程式框圖如下圖所示:

初始棋盤面板如下圖所示:

2、多步計算模組

判斷當前的最大權值是否大於100000, 如果大於100000表明當前已有形成活三的棋子, 則當前位置一定要下子——已方有活三的話要繼續求勝,

對方有活三的話則要阻止。 如果沒有活三以上的棋則開始試下子, 計算最佳下棋位置。

首先在當前的最佳位置試下一個已方子—白子, 然後判斷下子後是否有一方勝, 如無則繼續在試下子後的最佳位置下黑子, 下完後再判斷是否有一方勝, 以此類推。

下面就是多步計算框圖實現的結果, 多步計算前面板如下圖所示:

3、決定下子方模組

接下來, 我們需要讓電腦判斷哪方下子, 這部分的框圖很簡單, 思路也很好想。 用一個商與餘數函數實現, 商+1為下棋步數, 餘數決定哪方下子。 下圖為決定哪方下子的程式框圖:

實現的功能自然也比較簡單。下圖為決定哪方下子的前面板。

4、判斷哪方獲勝模組

此處我們用布林量來判斷哪方獲勝。當行或列的輸出不為-1時,表明當前棋盤有棋子被下,此時有兩種可能,黑子勝或白子勝,若黑子勝則跳出“黑子勝”對話方塊,若白子勝則跳出“白子勝”對話方塊。

當行或列的輸出為-1時,表明當前棋盤沒有棋子被下,但是,因為查詢用戶下子的迴圈又被停止,可判定此局被使用者退出或程式被使用者退出,此時不應該彈出勝負對話方塊,並用此方法代替使用“退出”或“重新開始”兩個布林量的區域變數來停止迴圈。用高亮執行,運行後點擊“重新開始”後可以更方便地看出此處原理。勝負對話程式框圖如下圖所示:

5、遊戲主程序設計:

當我們設計好了所有模組以後,我們就可以開始設計主程序調用他們了。主程序的設計依據,就是第一個流程圖。

下圖為主程序設計程式框圖,分別有人機模式和雙人模式。按照流程圖一步一步做。

人機模式:

雙人模式:

最後,大功告成。我們就可以在LabView的設計裡下五子棋了。

總結:其實有的時候,我們轉換一下思路,就可以用同一軟體實現一項原本不屬於它的功能。利用我們手頭的資源,可以開發出各種意想不到的小設計。讓他們豐富自己的生活。

關注機器人X 獲取機器人的最IN資訊

想要瞭解更多更精彩的機器人、創客、電子製作類圖書 嗎?

請掃描下麵的二維碼

實現的功能自然也比較簡單。下圖為決定哪方下子的前面板。

4、判斷哪方獲勝模組

此處我們用布林量來判斷哪方獲勝。當行或列的輸出不為-1時,表明當前棋盤有棋子被下,此時有兩種可能,黑子勝或白子勝,若黑子勝則跳出“黑子勝”對話方塊,若白子勝則跳出“白子勝”對話方塊。

當行或列的輸出為-1時,表明當前棋盤沒有棋子被下,但是,因為查詢用戶下子的迴圈又被停止,可判定此局被使用者退出或程式被使用者退出,此時不應該彈出勝負對話方塊,並用此方法代替使用“退出”或“重新開始”兩個布林量的區域變數來停止迴圈。用高亮執行,運行後點擊“重新開始”後可以更方便地看出此處原理。勝負對話程式框圖如下圖所示:

5、遊戲主程序設計:

當我們設計好了所有模組以後,我們就可以開始設計主程序調用他們了。主程序的設計依據,就是第一個流程圖。

下圖為主程序設計程式框圖,分別有人機模式和雙人模式。按照流程圖一步一步做。

人機模式:

雙人模式:

最後,大功告成。我們就可以在LabView的設計裡下五子棋了。

總結:其實有的時候,我們轉換一下思路,就可以用同一軟體實現一項原本不屬於它的功能。利用我們手頭的資源,可以開發出各種意想不到的小設計。讓他們豐富自己的生活。

關注機器人X 獲取機器人的最IN資訊

想要瞭解更多更精彩的機器人、創客、電子製作類圖書 嗎?

請掃描下麵的二維碼

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示