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

C# 利用VS編寫一個(gè)簡(jiǎn)單的網(wǎng)游客戶端

 更新時(shí)間:2021年12月06日 11:59:44   作者:機(jī)智的橙子  
本文主要介紹了在visual studio中利用C#編寫一個(gè)簡(jiǎn)單的網(wǎng)游客戶端,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一.測(cè)試連接服務(wù)器

1.打開(kāi)cmd,輸入ping 10.1.230.74

2.輸入telnet,進(jìn)入telnet界面

3.輸入set localecho,打開(kāi)本地回顯:

4.連接服務(wù)器,輸入命令open 10.1.230.74 3900

二.設(shè)計(jì)客戶端

1.新建項(xiàng)目

打開(kāi)VS2022選擇新建Windows窗體應(yīng)用

如果沒(méi)找到,說(shuō)明沒(méi)有安裝相應(yīng)的配置,可以添加工具

選擇

安裝成功就能找到了。

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

新建完成后,會(huì)直接來(lái)到Form1.cs[設(shè)計(jì)]的窗口,在這里點(diǎn)擊工具箱就能將控件拖動(dòng)到設(shè)計(jì)窗口上

設(shè)計(jì)窗口如下:

3.控件事件

實(shí)現(xiàn)連接到服務(wù)器并接受數(shù)據(jù)

雙擊進(jìn)入游戲的Button

添加如下代碼:

private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //向指定的IP地址的服務(wù)器發(fā)出連接請(qǐng)求
                tcpClient.Connect("10.1.230.41", 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);
                    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]);
                         music_play();
                    }
                }
            }
            catch
            {
                listBox1.Items.Add("連接失??!");
            }
        }

實(shí)現(xiàn)客戶端發(fā)送數(shù)據(jù)到服務(wù)器

雙擊發(fā)送的Button

添加如下代碼:

private void button12_Click(object sender, EventArgs e)
        {
            music_play();
            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("連接已斷開(kāi)");
            }
            textBox1.Clear();
        }

播放背景音樂(lè)

在項(xiàng)目結(jié)構(gòu)中找到Form1.resx文件并打開(kāi)

選擇音頻,添加資源

注意文件類型是.wav,這里不能簡(jiǎn)單改后綴名,要用格式轉(zhuǎn)換工具進(jìn)行轉(zhuǎn)換。

在代碼中添加播放函數(shù)

 private void music_play()
        {
            SoundPlayer sp = new SoundPlayer();
            sp.SoundLocation = @"劉俊宇,劉綺翹,金海天 - 鐵血丹心.wav";       //你的音樂(lè)文件名稱,且注意必須是wav文件
            sp.PlayLooping();
        }

該函數(shù)在客戶端發(fā)送數(shù)據(jù)時(shí)被調(diào)用。

定時(shí)自動(dòng)更換游戲背景圖片

回到Form1.cs[設(shè)計(jì)]的窗口

在工具箱中找到Timer控件,將它拖動(dòng)到窗口空白區(qū)域

點(diǎn)擊timer1,找到設(shè)置中的Interval,設(shè)置為30000,將Enable設(shè)為true。

準(zhǔn)備好背景圖片,在這里使用的是jpg圖片,將圖片分別命名為從1開(kāi)始的數(shù)字。

雙擊timer1

添加代碼:

 private void timer1_Tick(object sender, EventArgs e)
        {
            Thread th = new Thread(pic_play);
            th.IsBackground = true;
            th.Start();
        }
       

添加圖片切換函數(shù)

void pic_play()
        {
            picture++;   //記得在前面定義變量picture
            string picturePath = @"C:\Users\28205\Pictures\game\" + picture + ".jpg";
            //設(shè)置圖片填充
            pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
            pictureBox1.Image = Image.FromFile(picturePath);
            if (picture == 6)
                picture = 0;
        }

三.運(yùn)行效果

四.總結(jié)

使用VS中的控件設(shè)計(jì)窗口能夠快速拖動(dòng)布置,相比于代碼生成控件,方便許多。為控件增添事件也只需雙擊控件,添加相應(yīng)操作即可。?

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

相關(guān)文章

  • C#創(chuàng)建Windows服務(wù)的實(shí)現(xiàn)方法

    C#創(chuàng)建Windows服務(wù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#創(chuàng)建Windows服務(wù)的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • unity實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    unity實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)簡(jiǎn)單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C#調(diào)用barTender打印標(biāo)簽示例的實(shí)現(xiàn)

    C#調(diào)用barTender打印標(biāo)簽示例的實(shí)現(xiàn)

    Bartender是最優(yōu)秀的條碼打印軟件,在企業(yè)里使用非常普遍,本文主要介紹了C#調(diào)用barTender打印標(biāo)簽示例的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • C#文件流讀寫和進(jìn)度回調(diào)示例詳解

    C#文件流讀寫和進(jìn)度回調(diào)示例詳解

    這篇文章主要給大家介紹了關(guān)于C#文件流讀寫和進(jìn)度回調(diào)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • C#調(diào)用CMD命令實(shí)例

    C#調(diào)用CMD命令實(shí)例

    這篇文章主要介紹了C#調(diào)用CMD命令實(shí)例本文只是給出一個(gè)比較簡(jiǎn)單的、入門級(jí)的例子,更多高級(jí)的操作技巧請(qǐng)參閱相關(guān)文章,需要的朋友可以參考下
    2014-08-08
  • C#生成隨機(jī)字符串的實(shí)例

    C#生成隨機(jī)字符串的實(shí)例

    本文介紹了“C#生成隨機(jī)字符串的實(shí)例”,需要的朋友可以參考一下
    2013-03-03
  • C# jpg縮略圖函數(shù)代碼

    C# jpg縮略圖函數(shù)代碼

    生成jpg縮略圖字節(jié),本人的小軟件中需要用到的功能,所以自己做了一個(gè)函數(shù),和大家分享 為什么要生成字節(jié)而不是文件,這是為了方便后續(xù)處理啦^_^
    2011-06-06
  • C#中partial關(guān)鍵字的作用

    C#中partial關(guān)鍵字的作用

    這篇文章主要介紹了C#中partial關(guān)鍵字的作用詳解,包括局部類型概念和注意點(diǎn)介紹,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下
    2017-03-03
  • C#獲取項(xiàng)目指定目錄下文件的方法

    C#獲取項(xiàng)目指定目錄下文件的方法

    這篇文章主要介紹了C#獲取項(xiàng)目指定目錄下文件的方法,涉及C#操作目錄及文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • C# 線程同步詳解

    C# 線程同步詳解

    本文主要介紹了C#中線程同步的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02

最新評(píng)論