• 大小: 4.70M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2020-12-26
  • 语言: C#
  • 标签: Socket  ck  OC  网络  象棋  

资源简介

主要参考大厅部分的设计。象棋游戏部分可网络对战旁观,没啥参考意义。
界面没做,只是简单用了几个组件,只是为了说明问题。
由于代码写的不满意,以后还要返工,就没写文档了,
自行代码里看注释,主要就是带Globa的文件。
如重新写,需引用System.Runtime.Serialization。
代码Game开头的文件为大厅,CHESS开头的为游戏部分。
CrossThreadCall.cs为跨线程文件,Game_Control.cs为双缓存组件
websocket-sharp-master文件夹为websocket源码,
可在https://github.com/sta/websocket-sharp获取最新版

1、使用:
首先,运行Game_Server文件夹Game_Server.EXE,点击开始服务,
ip地址可按你的网络地址自行填写,服务端、客户端填写一致就可以了。

客户端,运行Game_Client文件夹的Game_Client.EXE,
用户名1000至1029,密码:123456

2、规则:
可选择红或蓝或旁观,
房间内没有红或蓝,则不能旁观,
如对局者点击退出,则该房间内全部人员退出房间(提示忘写了,自己加上去)。

选择红或蓝进入房间后,首先等待对方加入(有提示显示),
如果房间凑齐2名对局者,则等待双点击“开始”(有提示显示),
双方都点击开始后,进行游戏(每个用户点击均有提示显示),
用户对战分为对战和旁观推送不同消息。

客户端:每有用户房间变化,在左侧显示每个房间人数、全部用户的状态,
右侧房间显示每个房间的变化情况。

3、其他
数据包为
public class Package
    {
        [DataMember]
        public string Socket;
        [DataMember]
        public string Name;
        [DataMember]
        public string Pasword;
        [DataMember]
        public string Id;
        [DataMember]
        public int Room;
        [DataMember]
        public Pieces_Type Wield;
        [DataMember]
        public State_Type State;
        [DataMember]
        public string UserSerializer;
        [DataMember]
        public string RoomSerializer;
        [DataMember]
        public Login_State LoginState;
        [DataMember]
        public Room_State RoomState;
        [DataMember]
        public string Take;

        // 对局相关
        [DataMember]
        public bool Active;
        [DataMember]
        public string PiecesSerializer;
        [DataMember]
        public int Index;
    }
序列化为json,加密传输,密钥在StringEncrypt.cs文件,
如修改,服务端、客户端密钥需改为一致。

代码看登录、房间相关就可以了,对局相关可忽略。
大厅设计没有想象中的简单,总写不好,想法是大厅可以挂接其他双人游戏

加Q,常交流:3532927017。



资源截图

代码片段和文件信息

using System;
using System.Drawing;
using System.Windows.Forms;

namespace Game_Client
{
    public partial class Chess_Play : Form
    {
        public RichTextBox Rich_Info = new RichTextBox();
        public Label[] label_info = new Label[3];
        public Button[] button = new Button[2];

        public PanelEx Qipan_Panel;
        public int index = -1;
        private bool drag = false;
        private Bitmap index_bmp = new Bitmap(59 59);

        public Chess_Play(int type)
        {
            InitializeComponent();
        
            this.FormBorderstyle = FormBorderstyle.FixedDialog;
            this.Size = new Size(1078 752);
            this.DoubleBuffered = true;
            this.StartPosition = FormStartPosition.CenterScreen;
            this.M

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        142  2020-05-06 06:03  websocket-sharp-master\.gitignore

    ..A..H.     22016  2020-05-22 09:25  websocket-sharp-master\.vs\websocket-sharp\v15\.suo

     文件          0  2020-05-22 09:24  websocket-sharp-master\.vs\websocket-sharp\v15\Server\sqlite3\db.lock

     文件       4096  2020-05-22 09:24  websocket-sharp-master\.vs\websocket-sharp\v15\Server\sqlite3\storage.ide

     文件      32768  2020-05-22 09:24  websocket-sharp-master\.vs\websocket-sharp\v15\Server\sqlite3\storage.ide-shm

     文件     918792  2020-05-22 09:24  websocket-sharp-master\.vs\websocket-sharp\v15\Server\sqlite3\storage.ide-wal

     文件        985  2020-05-06 06:03  websocket-sharp-master\Backup\Example\AssemblyInfo.cs

     文件       2959  2020-05-06 06:03  websocket-sharp-master\Backup\Example\Example.csproj

     文件        336  2020-05-06 06:03  websocket-sharp-master\Backup\Example\NotificationMessage.cs

     文件       1678  2020-05-06 06:03  websocket-sharp-master\Backup\Example\Notifier.cs

     文件       4366  2020-05-06 06:03  websocket-sharp-master\Backup\Example\Program.cs

     文件        986  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\AssemblyInfo.cs

     文件       4973  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\AudioStreamer.cs

     文件       1551  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\BinaryMessage.cs

     文件       3236  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\Example1.csproj

     文件        337  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\NotificationMessage.cs

     文件       1679  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\Notifier.cs

     文件        845  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\Program.cs

     文件        512  2020-05-06 06:03  websocket-sharp-master\Backup\Example1\TextMessage.cs

     文件        214  2020-05-06 06:03  websocket-sharp-master\Backup\Example2\App.config

     文件        986  2020-05-06 06:03  websocket-sharp-master\Backup\Example2\AssemblyInfo.cs

     文件       1036  2020-05-06 06:03  websocket-sharp-master\Backup\Example2\Chat.cs

     文件        349  2020-05-06 06:03  websocket-sharp-master\Backup\Example2\Echo.cs

     文件       2802  2020-05-06 06:03  websocket-sharp-master\Backup\Example2\Example2.csproj

     文件       4950  2020-05-06 06:03  websocket-sharp-master\Backup\Example2\Program.cs

     文件        269  2020-05-06 06:03  websocket-sharp-master\Backup\Example3\App.config

     文件        986  2020-05-06 06:03  websocket-sharp-master\Backup\Example3\AssemblyInfo.cs

     文件       1036  2020-05-06 06:03  websocket-sharp-master\Backup\Example3\Chat.cs

     文件        349  2020-05-06 06:03  websocket-sharp-master\Backup\Example3\Echo.cs

     文件       2986  2020-05-06 06:03  websocket-sharp-master\Backup\Example3\Example3.csproj

............此处省略403个文件信息

评论

共有 条评论