溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#如何編寫網(wǎng)游客戶端

發(fā)布時間:2021-11-22 11:50:17 來源:億速云 閱讀:178 作者:小新 欄目:開發(fā)技術

這篇文章主要為大家展示了“C#如何編寫網(wǎng)游客戶端”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“C#如何編寫網(wǎng)游客戶端”這篇文章吧。

一、項目初步設置

1. 新建項目

新建一個WIndows 窗體應用(.Net Framework)

C#如何編寫網(wǎng)游客戶端

設置項目名稱和位置:

C#如何編寫網(wǎng)游客戶端

2. 界面設計

右擊工具箱內的常規(guī),點擊選擇項

C#如何編寫網(wǎng)游客戶端

勾選COM 組件下的Windows Media Player

C#如何編寫網(wǎng)游客戶端

界面如下:

C#如何編寫網(wǎng)游客戶端

二、連接服務器

Form中初始化進入游戲:

private NetworkStream stream;
private TcpClient tcpClient = new TcpClient();
public Form1()
{
    InitializeComponent();
    try
    {
        //向指定的IP地址的服務器發(fā)出連接請求
        tcpClient.Connect("10.1.230.74", 3900);
        listBox1.Items.Add("連接成功!");
        stream = tcpClient.GetStream();
        byte[] data = new byte[1024];
        //判斷網(wǎng)絡流是否可讀            
        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("服務器未啟動!");
    }
}

運行結果:

C#如何編寫網(wǎng)游客戶端

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

設置確定按鈕的name為btnSend,雙擊該按鈕:

C#如何編寫網(wǎng)游客戶端

//判斷連接是否斷開
if (tcpClient.Connected)
{
    //向服務器發(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];
    //接收服務器回復數(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("連接已斷開");
}

運行結果:

C#如何編寫網(wǎng)游客戶端

四、播放背景音樂

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

C#如何編寫網(wǎng)游客戶端

播放音樂看不出效果,這里就不放運行結果了。

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

拖入一個timer,設置其EnableTrue

C#如何編寫網(wǎng)游客戶端

雙擊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;
    }
}

運行結果:

C#如何編寫網(wǎng)游客戶端

以上是“C#如何編寫網(wǎng)游客戶端”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI