C#网络版斗地主——地主权限的传递
2009-06-08 08:32:29 来源:WEB开发网player1.areYouLandLord为true后,timer控件会检测到,然后把叫地主和不叫按钮显示出来。
叫地主按钮的click事件:
this.player1.isLandLord = true; //本地玩家为地主
this.player1.haveOrder = true; //获得出牌权限,下篇文章讲到出牌权限的传递
this.player1.isBiggest = true; //出的牌是否为最大的,主要用于当你出的牌其他两家都不要时,你自己不能不要,只能出牌,下篇文章会讲到的
this.player1.areYouLandLord = false;//设置该值为false
this.btnNeedLandLord.Visible = false;
this.btnNotLandLord.Visible = false; //隐藏叫地主和不叫按钮
if (this.server != null) //当玩家为服务器时
{
this.player1.SelectLandLordEnd();//该方法在窗口中央显示出地主牌,然后判断自己是不是地主,如果是地主就将地主牌添加到自己的牌组.该方法的具体代码请看下文
this.server.SendDataForClient("LandLordPokers", DConsole.LandLordPokers, 1); //把地主的三张牌发送给client1,因为不管谁是地主,客户端都需要获得地主的牌并且显示出来
Thread.Sleep(100);
this.server.SendDataForClient("LandLordPokers", DConsole.LandLordPokers, 2);//同上,把数据发送个client2
Thread.Sleep(100);
this.server.SendDataForClient("ServerIsLandLord", 1);//通知client1,服务器是地主
Thread.Sleep(100);
this.server.SendDataForClient("ServerIsLandLord", 2);//通知client2,服务器是地主
Thread.Sleep(100);
}
if (this.client != null) //当玩家为客户端时
{
this.client.SendDataForServer("IamLandLord"); //发送信息给服务器,服务器可以识别是哪个客户端叫了地主,服务器如何处理请看下文的server类代码
Thread.Sleep(300);
}
更多精彩
赞助商链接