C#服务端的微信小游戏——多人在线角色扮演(三)
那些看起来非常复杂的事情,往往都可以分解为若干简单的小元素。学会化繁为简,这是程序猿的基本素质。
——茂叔
上一篇里面,我们提到了服务器端的几个部分:
Game - 游戏类
GameWorld - 世界类
GameServer - 游戏服务类
GameMonitor - 服务器控制界面
AdminWeb - 远程控制界面
建立工程
我们先从GameMonitor
这个部分下手,因为这个部分是控制界面,从这里下手之后,后续的工作可以方便的呈现效果,使得调试起来效率更高。
所以,我们先通过VS建立一个空的方案(Solution
),然后添加第一个工程(project
),选择工程类型为Windows Forms App (.NET Framework)
,工程名称为 GameMonitor
。
GameMonitor
VS会为我们创建一个默认的窗体,名字为Form1
,我们把这个窗体更名为MainForm
,系统提示是否更改引用时,选择是。
然后在Solution Explorer
里找到并双击MainForm.cs
,打开窗体设计界面。
在窗体设计界面,在属性对话框里把窗体的Text
修改为“游戏监控器
”。然后从工具栏拖拽一个Button
到窗体的左上角,
选中这个Button
,在属性对话框里把Text
属性设置为“启动
”,把Name
属性设置为BTN_Start
。这个按钮将用来启动和停止我们的游戏服务。
随后从工具栏里面再拖拽一个TextBox
到BTN_Start
的下面,将Name
设置为TXB_Log
,Mutiline
设置为true
,Font
设置为 Microsoft YaHei, 15.75pt
。我眼睛不好,字体设置得比较大,当然,你喜欢也可以设置为其他字体,看着清晰方便就好。
把TXB_Log
的ScrollBars
设置为Vertical
,这样信息多的时候方便上下滚动。然后拉大到填满整个窗体,再把Anchor
设置为Top, Bottom, Left, Right
,以便它可以随窗体放大缩小。
这个文本框将用来显示我们之后代码运行的情况。
最后效果如下:
在窗体上点击右键选择查看代码(View Code
)就可以打开代码编辑窗口,在这里,我们要手动给MainForm
窗体类添加一个显示日志信息的方法AddLog
。代码如下:
private void AddLog(string msg)
{
if (msg != null && msg.Length < 1024 && !msg.Trim(' ').Equals(""))//每次显示的信息不能为空也不能太长
{
TXB_Log.Text += "[" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff") + "] " + msg + Environment.NewLine;
while (TXB_Log.Text.Length>30000)//总的显示字符太长的话,就裁掉一些
{
TXB_Log.Text=TXB_Log