程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#網絡版斗地主——出牌權限的傳遞(3)

C#網絡版斗地主——出牌權限的傳遞(3)

編輯:關於C語言

ClIEnt類中有關出牌權限傳遞的代碼:

public void AcceptServerData() 
{
 NetworkStream Ns = clIEnt.GetStream();
 string str = "";
 while (true)
 {
  byte[] bytes = new byte[108];
  Ns.Read(bytes, 0, 108);
  str = Encoding.Default.GetString(bytes);
  if (str.StartsWith("Order")) //收到這條消息即表示自己有出牌權限了
  {
   DConsole.player1.haveOrder = true;
   continue;
  }
  if (str.StartsWith("ClIEntPass")) //另一個客戶端pass後,在窗體中表示出來
  {
   DConsole.gPlayer3LeadPoker.Clear(DConsole.backColor);
   DConsole.gPlayer3LeadPoker.DrawString("不要", new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, 5, 5);
   continue;
  }
  if (str.StartsWith("ServerPass"))//服務器pass後,在窗體中表示出來
  {
   DConsole.gPlayer2LeadPoker.Clear(DConsole.backColor);
   DConsole.gPlayer2LeadPoker.DrawString("不要", new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, 5, 5);
   continue;
  }
  if (str.StartsWith("NoBiggest")) //當自己的牌被別人打了後,別人會發送該消息給自己,這時設置自己的Isbiggest為false
  {
   DConsole.player1.isBiggest = false;
   continue;
  }
}

以上就是出牌權限傳遞的具體實現,這些代碼之間是相互關聯的,形成一個回路。除非有人的牌出完了,否則就會一直傳遞下去。代碼比較多,如果哪裡有錯誤的話歡迎留言反饋,謝謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved