一、设置界面
使用VS中C#的Windows窗体应用。
设计如下界面:
二、实现功能
1.连接服务器
该服务器IP为"10.1.230.41", 端口号为3900。
使用如下代码:
try
{
//实例化
tcpClient = new TcpClient();
//向指定的IP地址的服务器发出连接请求
tcpClient.Connect("10.1.230.41", 3900);
//获取网络传输流
stream = tcpClient.GetStream();
//接受数据并转化为字符串
byte[] data = new byte[1024];
int receive = stream.Read(data, 0, 1024);
string msg = Encoding.Default.GetString(data, 0, receive);
//去除字符串中的终端转义字符
msg = strDelete(msg);
//显示出来
textBox2.AppendText(msg);
}
catch
{
textBox2.AppendText("服务器未启动" + Environment.NewLine);
}
2.发送信息给服务器
使用以下代码:
//获取textBox1内的文本内容
string msg = textBox1.Text + "\n";
//将文本内容转化成比特流并发送给服务器
byte[] data = new byte[1024];
data = Encoding.Default.GetBytes(msg);
stream.Write(data, 0, data.Length);
//接收服务器端传来的数据流并转化为字符串
byte[] data1 = new byte[1024];
int receive = stream.Read(data1, 0, 1024);
msg = Encoding.Default.GetString(data1, 0, receive);
//去除字符串中的终端转义字符
msg = strDelete(msg);
//清除显示框之前的内容
textBox2.Clear();
//显示数据
textBox2.AppendText(msg);
//刷新输入框
textBox1.Clear();
//将光标集中到输入框中
textBox1.Focus();
3.播放背景音乐
使用以下代码:
//字符串存储音乐路径
string s = @"E:\homework\11_Game\fm.mp3";
//设置为循环播放
axWindowsMediaPlayer1.settings.setMode("loop", true);
//设置初始音乐的音量大小(范围:0——100)
axWindowsMediaPlayer1.settings.volume = 50;
//设置播放歌曲的路径
axWindowsMediaPlayer1.URL = s;
此处我已经将音乐放在了E:\homework\11_Game\fm.mp3路径下。
4.变换一次游戏背景图片
使用以下代码:
//定义flag变量
private int flag = 0;
/*****************
* 自动换图
*****************/
private void timer1_Tick(object sender, EventArgs e)
{
flag++;
string picturePath = @"E:\\homework\\Game_11\\" + flag + ".jpg";
//设置图片填充
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox1.Image = Image.FromFile(picturePath);
if (flag == 5)
{
flag = 0;
}
}
和播放背景音乐一样,需要放到正确的路径下,此处我将图片放入了E:\homework\Game_11。
三、结果
四、总结
上手比较简单,网上有着不少的例子,但是一些小bug调起来是真的要命。
参考:参考博客