你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
利用WPF实现基于MSN协议的五子棋游戏(十一)
 

<Label FontSize="20" FontWeight="Normal" Foreground="Blue" Height="35"

        HorizontalAlignment="Right" Margin="0,172,38,0" Name="lblChessColor"

        SnapsToDevicePixels="True" VerticalAlignment="Top" Width="117" />

        <Label FontSize="20" FontWeight="Normal" Foreground="Red" Height="35"

         HorizontalAlignment="Right" Margin="0,225,38,0" Name="lblPlayer"

         SnapsToDevicePixels="True" VerticalAlignment="Top" Width="343" />

    </Grid>

</Window>

    可以通过SBMessageHandlerSendTextMessage方法向联系人发送文本信息。但该方法需要一个TextMessage对象来封装要发送的文本信息。发送文本信息的功能由SendInput方法来完成,代码如下:

private void SendInput(String msg)

{

    //  不能发送空字符串

    if (msg.Length == 0) return;

    //  封装要发送的文本信息

    TextMessage message = new TextMessage(msg);

    //  向联系人发送文本信息

    itemObject.switchboard.SendTextMessage(message);

}

    如果游戏的一方先打开游戏窗口,当第一次向对方发送聊天信息或走一步棋后,对方的五子棋程序也会打开一个类似图4所示的游戏窗口。打开该游戏窗口的代码需要放在接收聊天信息的事件中,代码如下:

private void TextMessageReceived(object sender, TextMessageEventArgs e)

{

    //  如果发送的是命令字符串,不弹出聊天窗口

    //  COMMAND_PREFIX为命令信息的前缀

    if (e.Message.Text.StartsWith(Game.COMMAND_PREFIX))

        return;

    this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (ThreadStart)delegate

    {

        ItemObject itemObject = null;

        //  从联系人列表中查找相应的联系人节点。

        foreach (TreeViewItem tvGroupItem in tvContactList.Items)

        {

            foreach (TreeViewItem tvContractItem in tvGroupItem.Items)

            {

                ItemObject item = (ItemObject)tvContractItem.Tag;

                //  使用E-mail来判断联系人是否相同

                if (item.contact.Mail.Equals(e.Sender.Mail))

                {

                    itemObject = item;

                    if (item.game != null)

                    {

                        //  如果该联系人的游戏窗口已经打开,将该窗口设为焦点状态

                        itemObject.game.Show();

                        return;

                    }

                    break;

                }

            }

            if (itemObject != null) break;

        }

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089