C#网络版斗地主——地主权限的传递
2009-06-08 08:32:29 来源:WEB开发网当玩家单击“不叫”按钮时。如果玩家是服务器,如第一张图所示,程序会向他的下家发送选择地主的权限,当LandLordNum为3时,服务器就是最后一个玩家,如果他也不叫地主的话,就只能重新发牌了。
如果玩家是客户端的话,直接向server端发送"AreYouLandLord"来表明自己不要地主。
Server端会判断是client1还是client2发送的消息,然后做出不同的响应
下面是"不叫"按钮的click事件处理程序
在Player类中,player1.SelectLandLordEnd的具体代码如下:
public void SelectLandLordEnd()
{
DConsole.PaintLandLord(true); //传递true给该方法,在窗口中央显示地主三张牌的具体点数
if (this.isLandLord) //如果自己是地主的话
{
foreach (Poker poker in DConsole.LandLordPokers) //把这三张牌添加到自己的牌组中
{
this.pokers.Add(poker);
}
this.sort(); //重新排序
this.Paint(); //重新显示自己的牌
}
}
地主的权限传递就这么多了,可能写的比较乱,但是并不复杂,相信大家仔细多看几遍应该能够明白的.。如果那里有错误的话欢迎在下面留言栏反馈。谢谢!
下面是server类里面的监听客户端消息的程序:
更多精彩
赞助商链接