Qt終極教程——用Qt編程實現中國象棋遊戲
簡介
本文介紹如何利用Qt編程實現一款簡單的中國象棋遊戲,遊戲包括人機對戰、人人對戰、以及簡單的網絡對戰等多種對戰模式,程序啓動後的對戰模式選擇界面如下圖所示。
本遊戲程序完全基於Qt框架利用C++編程語言實現,筆者使用的Qt版本爲Qt 5.4.1 x86-mingw491,下面的百度網盤下載地址中上傳了Qt 5.4.1 x86-mingw491版本的Windows安裝包,並提供了象棋程序的源代碼以及預編譯的可執行程序。
完整資料下載鏈接:百度網盤
提取碼:r027
百度網盤中的資料如下圖所示:
本遊戲程序已經包含了一個簡單的本地象棋遊戲開發所需的基本元素,讀者可以參考其中的Qt界面設計、Qt網絡通信以及人機對弈等設計思想,並在此次基礎上進行任意的二次開發。對於本程序中可能出現的不完善之處以及代碼漏洞,敬請諒解。
運行可執行程序體驗象棋遊戲
將百度網盤資料中的“可執行程序”目錄下的chess_release.zip
文件下載到本地並解壓,雙擊其中的Chess.exe
可執行文件即可打開象棋遊戲程序進入上一節提到的對戰模式選擇界面,以“人機對戰”模式爲例,單擊“人機對戰”即可進入人機對戰的象棋遊戲界面,顯示效果如下所示:
點擊紅方棋子,即可進行走棋操作,隨後程序會控制黑方棋子進行相應操作。“Back”鍵可用於悔棋。
Qt 安裝
將百度網盤資料中的“Qt安裝包”目錄下的qt-opensource-windows-x86-mingw491_opengl-5.4.1.exe
文件下載到本地,雙擊該Qt安裝包,按照默認設置一直“下一步”,當進入“選擇組件”設置時,可以按照如下方式設置(僅供參考,爲了提高安裝速度,就沒有勾選“Sources”組件),其他設置均按照默認設置即可。
本安裝程序執行完畢後即可將Qt 5.4.1 x86-mingw491版本安裝到本地,打開Windows的開始菜單,即可看到安裝好的Qt程序,如下圖所示。
源代碼的編譯、運行與調試
將百度網盤資料中的“源代碼”目錄下的Chess.zip
文件下載到本地,並解壓到合適的路徑下(最好不要帶有中文路徑),例如本人將該壓縮文件解壓到了D:\chess_project\
路徑下。
通過Windows開始菜單打開Qt Creator程序,按照下圖所示的方式選擇“Open Project”,並選中程序源代碼中的Qt項目文件D:\chess_project\Chess\Chess.pro
。
項目加載成功後顯示的項目結構如下圖所示:
根據源代碼所在的具體路徑,我們接下來在Qt Creator中設置程序編譯的構建目錄,具體操作參考下圖,我們將程序Debug編譯的構建目錄設置爲D:\chess_project\build-Chess-Desktop_Qt_5_4_1_MinGW_32bit-Debug
。
同理,我們按照下圖操作,可以將程序Release編譯的構建目錄設置爲D:\chess_project\build-Chess-Desktop_Qt_5_4_1_MinGW_32bit-Release
。
構建目錄設置完成之後,我們就可以在期望的編譯模式(Debug或Release模式)下通過點擊Qt Creator的“構建項目”按鈕或通過Ctrl+B快捷鍵實現對程序的編譯。編譯模式選擇按鈕和構建項目按鈕的具體位置如下下圖所示:
在“Debug”模式下構建項目之後,即可通過下圖所示的按鈕運行程序或對程序進行調試。
生成預編譯的可執行程序
在“Release”模式下構建項目之後,會在D:\chess_project\build-Chess-Desktop_Qt_5_4_1_MinGW_32bit-Release\release
目錄下構建Release版本的中國象棋程序,該可執行程序更加精簡,將不支持代碼調試;同理,在“Debug”模式下,會在目錄D:\chess_project\build-Chess-Desktop_Qt_5_4_1_MinGW_32bit-Debug\debug
下構建Debug版本程序,其支持代碼調試。下面我們將利用構建的Release版本程序生成預編譯的可執行程序,這樣程序將可以複製到任意沒有安裝Qt的Windows系統上運行。
首先,我們可以嘗試雙擊打開D:\chess_project\build-Chess-Desktop_Qt_5_4_1_MinGW_32bit-Release\release
目錄中生成的可執行程序“Chess.exe”,這時會提示如下圖所示的若干系統錯誤。
上述錯誤是由於生成的程序無法訪問Qt提供的依賴庫造成的,這可以通過Qt提供的開發工具windeployqt
解決,我們通過Windows開始菜單打開Qt環境的命令行窗口,如下圖所示。
在該命令行窗口中,調用工具windeployqt
,並指定構建的Qt可執行文件,即可將可執行程序運行需要依賴的Qt庫文件複製到可執行程序所在的目錄下,使可執行程序可以直接雙擊運行,具體執行命令如下:
windeployqt D:\chess_project\build-Chess-Desktop_Qt_5_4_1_MinGW_32bit-Release\release\Chess.exe
命令行中的命令運行情況如下:
命令執行完成後,可執行程序Chess.exe
所在目錄D:\chess_project\build-Chess-Desktop_Qt_5_4_1_MinGW_32bit-Release\release\
中會添加許多程序運行需要依賴的庫文件,如下圖所示:
此時,雙擊Chess.exe
文件,即可直接打開我們的象棋遊戲,並打開對戰模式選擇界面,這時程序將可以複製到任意沒有安裝Qt的Windows系統上運行。將Chess.exe
文件所在的整個文件夾壓縮成一個壓縮文件,即可得到百度網盤資料中的“可執行程序”目錄中的壓縮文件。