<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM和WinSock的多人對戰(zhàn)游戲平臺設計

          基于ARM和WinSock的多人對戰(zhàn)游戲平臺設計

          作者: 時間:2011-07-15 來源:網絡 收藏

          對于某些步驟需要作詳細說明:
          f.JPG
          3)判斷是否結束
          在Doc類中定義私有性質的成員變量int state[15][10];,用于記錄棋盤上每一格的狀態(tài):無棋(值為0)、用戶方棋(值為1)、電腦方棋(值為2),初始值是0。過程中,某一方落棋后立即給state數組對應成員賦值,下標可由鼠標左鍵消息響應函數的CPoint point參數轉換而來。
          對于棋盤上每一個坐標點(i,j),沿東西、南北、東南西北、東北西南四個方向掃描五個沿途點的狀態(tài)值,若發(fā)現五個相同狀態(tài)相連,則該狀態(tài)(用戶方或電腦方)的棋手獲勝,結束。
          4)電腦方下棋策略
          對于棋盤上每一個坐標點(i,j),掃描它的狀態(tài)值state[i][j],一經發(fā)現不為0,就以此點為起點,沿東、南、西、北、東南、西南、東北、西北8個方向搜索5個棋位。
          事先定義針對每個點、每個方向的8個整型數組(初始值賦為0):
          g.JPG
          對于坐標點(i,j),搜索過程中若遇到具有相同狀態(tài)的點(m,n),則對應方向數組的[i][j]成員的值增加,遇到不同狀態(tài)點則減小。保存8個中絕對值最大的。
          上述操作完后,比較所有點存的值,絕對值最大的說明以該點起始的某個方向己方棋子相連較多,或者對方棋子相連較多,最適合落子。
          3.3 雙人游戲
          從游戲開始到結束,客戶端與服務器的交互過程如圖6所示。

          本文引用地址:http://www.ex-cimer.com/article/150469.htm

          h.JPG


          3.3.1 服務器端程序
          創(chuàng)建對話框的MFC工程。
          在App類的BOOL InitInstance()中加載套接字庫:AfxSocketInit();
          在Dlg類的BOOL OnInitDialog()中初始化套接字,包括新建和綁定套接字:socket()、bind();
          在對話框上畫兩個按鈕控件:“連接用戶”和“開始游戲”。
          開發(fā)流程如圖7所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();