基于ARM和WinSock的多人對戰(zhàn)游戲平臺設(shè)計
2.2 應(yīng)用程序接口函數(shù)
1)加載套接字庫AfxSocketlnit()
布爾型,參數(shù)缺省值為NULL,在程序結(jié)束前自動調(diào)用WSACleanup清除套接字。
2)創(chuàng)建套接字socket()
用于創(chuàng)建指定類型的套接字,流式(TCP協(xié)議)SOCK_STREAM或數(shù)據(jù)報式(UDP協(xié)議)SOCK_DGRAM。
3)綁定本地地址bind()
將套接字地址(包括本地主機地址和本地端口地址)與所創(chuàng)建的套接字號聯(lián)系起來,即將名字賦予套接字,以指定本地半相關(guān)。
4)接收recvfrom()
在套接字指定的已連接的數(shù)據(jù)報或流套接字上接收輸入數(shù)據(jù)。
5)發(fā)送sendto()
在套接字指定的已連接的數(shù)據(jù)報或流套接字上發(fā)送輸出數(shù)據(jù)。
3 Win32下五子棋程序設(shè)計
3.1 游戲設(shè)計思路
游戲開始前有一系列引導(dǎo)步驟,讓用戶選擇游戲模式,并作相應(yīng)的初始連接,如圖4所示。這些引導(dǎo)步驟可通過添加一系列對話框資源來實現(xiàn)。完成之后進(jìn)入選擇的游戲模式。本文引用地址:http://www.ex-cimer.com/article/150469.htm
對于單人五子棋游戲,即人機對戰(zhàn),只需要一個應(yīng)用程序。當(dāng)用戶鼠標(biāo)左擊棋盤時,程序先在相應(yīng)位置處畫棋子,然后執(zhí)行電腦方策略,實現(xiàn)對戰(zhàn)。
對于雙人五子棋游戲,則需要先運行一個服務(wù)器端程序,然后兩個用戶分別運行一個客戶端程序,并與此服務(wù)器相連。游戲進(jìn)行過程中,由服務(wù)器執(zhí)行游戲策略,客戶端程序只負(fù)責(zé)采集鼠標(biāo)信息和顯示棋子。我們讓用戶A在游戲平臺A上運行服務(wù)器端程序,緊接著運行客戶端程序,并與服務(wù)器建立Socket連接;然后告訴用戶B服務(wù)器的IP地址,讓其在平臺B上運行客戶端程序,并與服務(wù)器建立Socket連接;連接成功后就可以開始游戲了。
3.2 單人游戲
建立MFC工程,選擇創(chuàng)建單文檔類型的應(yīng)用程序。添加對話框資源用于選擇游戲模式,并在View類構(gòu)造函數(shù)中DoModal()。
進(jìn)入單人模式后的程序開發(fā)流程如圖5所示。
評論