目录
一.测试连接服务器
1.打开cmd,输入ping 10.1.230.74
2.输入telnet,进入telnet界面,输入set localecho,打开本地回显:
4.连接服务器,输入命令open 10.1.230.74 3900
二.设计客户端
1.新建项目
打开VS2022选择新建Windows窗体应用
2.使用控件设计界面如下
3.右击工具箱内的常规,点击选择项:
4.勾选COM 组件下的Windows Media Player:
三.连接服务器
1.在Form中初始化进入游戏:
private NetworkStream stream;
private TcpClient tcpClient = new TcpClient();
public Form1()
{
InitializeComponent();
try
{
//向指定的IP地址的服务器发出连接请求
tcpClient.Connect("10.1.230.74", 3900);
listBox1.Items.Add("连接成功!");
stream = tcpClient.GetStream();
byte[] data = new byte[1024];
//判断网络流是否可读
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("服务器未启动!");
}
}
2.设置播放背景音乐
将要展示的音乐文件放入bin→Debug文件夹中
在代码开头添需要引入using System.Media;
30秒转换一次,参数为30000
3.实现游戏背景图片变换
拖入一个timer,设置其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;
}
}
四.运行结果
<iframe allowfullscreen="true" data-mediaembed="bilibili" id="rppk1kPX-1638015793385" src="https://player.bilibili.com/player.html?aid=676944169&page=1"></iframe>game1
五.总结
使用VS中的控件设计窗口能够快速拖动布置,相比于代码生成控件,方便许多。为控件增添事件也只需双击控件,添加相应操作即可。
六.参考文献
https://blog.csdn.net/weixin_46628481/article/details/121445716.