C#編寫網(wǎng)游客戶端的實現(xiàn)
一、項目初步設(shè)置
1. 新建項目
新建一個WIndows 窗體應(yīng)用(.Net Framework):

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

2. 界面設(shè)計
右擊工具箱內(nèi)的常規(guī),點擊選擇項:

勾選COM 組件下的Windows Media Player:

界面如下:

二、連接服務(wù)器
在Form中初始化進(jìn)入游戲:
private NetworkStream stream;
private TcpClient tcpClient = new TcpClient();
public Form1()
{
InitializeComponent();
try
{
//向指定的IP地址的服務(wù)器發(fā)出連接請求
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ù)器未啟動!");
}
}
運行結(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("連接已斷開");
}
運行結(jié)果:

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

播放音樂看不出效果,這里就不放運行結(jié)果了。
五、實現(xiàn)游戲背景圖片變換
拖入一個timer,設(shè)置其Enable為True:

雙擊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;
}
}
運行結(jié)果:

六、總結(jié)
C#連接服務(wù)器十分方便。
參考
到此這篇關(guān)于C#編寫網(wǎng)游客戶端的實現(xiàn)的文章就介紹到這了,更多相關(guān)C#編寫網(wǎng)游客戶端內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#采用FileSystemWatcher實現(xiàn)監(jiān)視磁盤文件變更的方法
這篇文章主要介紹了C#采用FileSystemWatcher實現(xiàn)監(jiān)視磁盤文件變更的方法,詳細(xì)分析了FileSystemWatcher的用法,并以此為基礎(chǔ)實現(xiàn)監(jiān)視磁盤文件變更,是非常實用的技巧,具有一定的借鑒價值,需要的朋友可以參考下2014-11-11
C# Windows API應(yīng)用之基于FlashWindowEx實現(xiàn)窗口閃爍的方法
這篇文章主要介紹了C# Windows API應(yīng)用之基于FlashWindowEx實現(xiàn)窗口閃爍的方法,結(jié)合實例形式分析了Windows API函數(shù)FlashWindowEx的功能、定義及實現(xiàn)窗口閃爍的相關(guān)技巧,需要的朋友可以參考下2016-08-08

