⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamemainwnd.xaml.cs

📁 经典游戏程序设计:visual c++ 上的杀人游戏源代码
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Net;
using ServerLib;
using System.Windows.Media.Effects;

namespace KillingClientUI 
{
    /// <summary>
    /// Interaction logic for GameMainWnd.xaml
    /// </summary>
    public partial class GameMainWnd : Window
    {
        public GameMainWnd()
        {
            InitializeComponent();

            CreateClientHost();
            
        }

        private static void CreateClientHost()
        {
            // Returns a list of ipaddress configuration
            IPHostEntry ips = Dns.GetHostEntry(Dns.GetHostName());

            // Select the first entry. I hope it's this maschines IP
            IPAddress _ipAddress = ips.AddressList[0];

            string urlService = "net.tcp://" + _ipAddress.ToString() + ":8001/KillPersonServerApp.MessageDistribute";

            //Create Server host
            Service server = new Service();
            server.LaunchServer();

            
        }

        private void ChatBox_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                DisplayChatContent(this.labelClientName.Content.ToString(), this.ChatBox.Text);
            }
        }

        private void DisplayChatContent(string member, string chatContent)
        {
            //this.richTextBoxChat.AppendText(member + ":" + chatContent + "\n");
            this.ChatBox.Clear();
            ChatFormat chatInfo = new ChatFormat();
            chatInfo.MsgBody = chatContent;
            chatInfo.Sender = member;

            MessageDistribution proxy = Service.ConnectToServer(App.proxyAddress);
            
            proxy.DistribChatMsg(chatInfo);

            this.ChatBox.Clear();
        }

        private void Send_Click(object sender, RoutedEventArgs e)
        {
            DisplayChatContent(this.labelClientName.Content.ToString(), this.ChatBox.Text);
        }

       

        private void buttonExit_Click(object sender, RoutedEventArgs e)
        {
            Application.Current.Shutdown();
        }

        private void ListViewItem_Selected(object sender, RoutedEventArgs e)
        {

        }

        private void ChangeClientPlayerStatus(int playerID)
        {
            //switch (playerID)
            //{
            //    case 1:
            //        PlayerlistItem1.Content = PlayerlistItem1.Content.ToString().Replace("Alive", "Dead");
            //        break;
            //    case 2:
            //        PlayerlistItem2.Content = PlayerlistItem2.Content.ToString().Replace("Alive", "Dead");
            //        break;
            //    case 3:
            //        PlayerlistItem3.Content = PlayerlistItem3.Content.ToString().Replace("Alive", "Dead");
            //        break;
            //    case 4:
            //        PlayerlistItem4.Content = PlayerlistItem4.Content.ToString().Replace("Alive", "Dead");
            //        break;
            //}
        }

        private void Kill_Click(object sender, RoutedEventArgs e)
        {
            var targetSelectedTest = App.gameMainWindow.TargetList.SelectedItem;
            if (targetSelectedTest != null)
            {

                App.gameMainWindow.Kill.IsEnabled = false;
                string target = this.TargetList.SelectedItem.ToString().Remove(0, 38);
                int targetPlayerID = this.TargetList.SelectedIndex;

                VoteFormat voteInfo = new VoteFormat();
                voteInfo.Condidate = target;
                voteInfo.Voter = this.labelClientName.Content.ToString();

                MessageDistribution proxy = Service.ConnectToServer(App.proxyAddress);
                proxy.DistribVoteMsg(voteInfo);
            }

        }

        private void richTextBoxChat_TextChanged(object sender, TextChangedEventArgs e)
        {
            richTextBoxChat.ScrollToEnd();
        }

        private void Kill_MouseEnter(object sender, MouseEventArgs e)
        {
            BevelBitmapEffect bevelEffect=new BevelBitmapEffect ();
            Kill.BitmapEffect = bevelEffect;
        }

        private void Kill_MouseLeave(object sender, MouseEventArgs e)
        {
            Kill.BitmapEffect = null;
        }

        private void Send_MouseEnter(object sender, MouseEventArgs e)
        {
            BevelBitmapEffect bevelEffect = new BevelBitmapEffect();
            Send.BitmapEffect = bevelEffect;
        }

        private void Send_MouseLeave(object sender, MouseEventArgs e)
        {
            Send.BitmapEffect = null;
        }

        private void buttonExit_MouseEnter(object sender, MouseEventArgs e)
        {
            BevelBitmapEffect bevelEffect = new BevelBitmapEffect();
            buttonExit.BitmapEffect = bevelEffect;
        }

        private void buttonExit_MouseLeave(object sender, MouseEventArgs e)
        {
            buttonExit.BitmapEffect = null;
        }

       
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -