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