欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#編寫網(wǎng)游客戶端的實(shí)現(xiàn)

 更新時(shí)間:2021年11月22日 10:23:58   作者:Baker_Streets  
本文主要介紹了C#編寫網(wǎng)游客戶端,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、項(xiàng)目初步設(shè)置

1. 新建項(xiàng)目

新建一個(gè)WIndows 窗體應(yīng)用(.Net Framework)

在這里插入圖片描述

設(shè)置項(xiàng)目名稱和位置:

在這里插入圖片描述

2. 界面設(shè)計(jì)

右擊工具箱內(nèi)的常規(guī),點(diǎn)擊選擇項(xiàng)

在這里插入圖片描述

勾選COM 組件下的Windows Media Player

在這里插入圖片描述

界面如下:

在這里插入圖片描述

二、連接服務(wù)器

Form中初始化進(jìn)入游戲:

private NetworkStream stream;
private TcpClient tcpClient = new TcpClient();
public Form1()
{
    InitializeComponent();
    try
    {
        //向指定的IP地址的服務(wù)器發(fā)出連接請(qǐng)求
        tcpClient.Connect("10.1.230.74", 3900);
        listBox1.Items.Add("連接成功!");
        stream = tcpClient.GetStream();
        byte[] data = new byte[1024];
        //判斷網(wǎng)絡(luò)流是否可讀            
        if (stream.CanRead)
        {
            int len = stream.Read(data, 0, data.Length);
            //Encoding ToEncoding = Encoding.GetEncoding("UTF-8");
            //Encoding FromEncoding = Encoding.GetEncoding("GB2312");
            //data=Encoding.Convert(FromEncoding, ToEncoding, data);
            //string msg = Encoding.UTF8.GetString(data, 0, data.Length);
            string msg = Encoding.Default.GetString(data, 0, data.Length);
            string str = "\r\n";
            char[] str1 = str.ToCharArray();
            string[] msg1 = msg.Split(str1);
            for (int j = 0; j < msg1.Length; j++)
            {
                listBox1.Items.Add(msg1[j]);
            }
        }
    }
    catch
    {
        listBox1.Items.Add("服務(wù)器未啟動(dòng)!");
    }
}

運(yùn)行結(jié)果:

在這里插入圖片描述

三、發(fā)送數(shù)據(jù)

設(shè)置確定按鈕的name為btnSend,雙擊該按鈕:

在這里插入圖片描述

//判斷連接是否斷開
if (tcpClient.Connected)
{
    //向服務(wù)器發(fā)送數(shù)據(jù)
    string msg = textBox1.Text;
    Byte[] outbytes = System.Text.Encoding.Default.GetBytes(msg + "\n");
    stream.Write(outbytes, 0, outbytes.Length);
    byte[] data = new byte[1024];
    //接收服務(wù)器回復(fù)數(shù)據(jù)
    if (stream.CanRead)
    {
        int len = stream.Read(data, 0, data.Length);
        string msg1 = Encoding.Default.GetString(data, 0, data.Length);
        string str = "\r\n";
        char[] str1 = str.ToCharArray();
        string[] msg2 = msg1.Split(str1);
        for (int j = 0; j < msg2.Length; j++)
        {
            listBox1.Items.Add(msg2[j]);
        }
    }
}
else
{
    listBox1.Items.Add("連接已斷開");
}

運(yùn)行結(jié)果:

請(qǐng)?zhí)砑訄D片描述

四、播放背景音樂

設(shè)置播放、停止按鈕的name分別為btnPlay、btnStop:

在這里插入圖片描述

播放音樂看不出效果,這里就不放運(yùn)行結(jié)果了。

五、實(shí)現(xiàn)游戲背景圖片變換

拖入一個(gè)timer,設(shè)置其EnableTrue

在這里插入圖片描述

雙擊timer,編寫代碼:

int flag = 0;
private void timer1_Tick(object sender, EventArgs e)
{
    flag++;
    string picturePath = @"C:\Users\16438\Desktop\game1\game1\game1\bin\Debug\img\" + flag + ".jpg";
    pictureBox1.Image = Image.FromFile(picturePath);
    if (flag == 3)
    {
        flag = 0;
    }
}

運(yùn)行結(jié)果:

請(qǐng)?zhí)砑訄D片描述

六、總結(jié)

C#連接服務(wù)器十分方便。

參考

編寫一個(gè)網(wǎng)游客戶端

到此這篇關(guān)于C#編寫網(wǎng)游客戶端的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C#編寫網(wǎng)游客戶端內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論