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