コード例 #1
0
ファイル: Program.cs プロジェクト: godfather991/THUAI3.0
 public static void Main(string[] args)
 {
     //这里没有进行更改,因为不知道api还不能进行测试
     using ICommunication comm = new CommunicationImpl();
     //string[] t = args[0].Split(':');
     //Console.WriteLine(args[0]);
     //comm.EndPoint = new IPEndPoint(IPAddress.Parse(t[0]), ushort.Parse(t[1]));
     //comm.ID = args[1];
     Constants.ServerPort = 20000;
     comm.ServerPort      = Constants.ServerPort;
     comm.Token           = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb29tSWQiOjEsInNlcnZlciI6IlRIVUFJIiwiaWF0IjoxNTg4MjQ0MzA4LCJleHAiOjE1ODgyODc1MDh9.QY5y44mU769_jlLboaqppycI1ijgZnpgkS2NkQWP3XI";
     comm.Initialize();
     comm.MsgProcess += new MessageHandler(PrintChatMessage);
     comm.GameStart();
     Console.WriteLine("Game started.");
     Console.ReadLine();
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: xulouzhe/THUAI3.0
        // 示例消息处理
        static private void PrintChatMessage(Object com, EventArgs e)
        {
            CommunicationImpl comm    = com as CommunicationImpl;
            MessageEventArgs  ev      = e as MessageEventArgs;
            ServerMessage     message = ev.message;
            ChatMessage       chat    = message.Message as ChatMessage;

            if (chat.Message.StartsWith("/stop")) //测试主动断开连接功能
            {
                comm.GameOver();
            }
            else
            {
                chat.Message   = $"[From Player ({message.Agent}, {message.Client})] " + chat.Message + "\n";
                message.Client = -2; //broadcast
                message.Agent  = -2; //broadcast
                comm.SendMessage(message);
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: xulouzhe/THUAI3.0
 public static void Main(string[] args)
 {
     //这里没有进行更改,因为不知道api还不能进行测试
     using ICommunication comm = new CommunicationImpl();
     //string[] t = args[0].Split(':');
     //Console.WriteLine(args[0]);
     //comm.EndPoint = new IPEndPoint(IPAddress.Parse(t[0]), ushort.Parse(t[1]));
     //comm.ID = args[1];
     comm.IsOffline  = false;
     comm.ServerPort = Constants.ServerPort;
     comm.Token      = new JwtEncoder(new HMACSHA256Algorithm(), new JsonNetSerializer(), new JwtBase64UrlEncoder())
                       .Encode(new JObject
     {
         ["roomID"] = "123"
     }, "key");
     comm.Initialize();
     comm.MsgProcess += new MessageHandler(PrintChatMessage);
     comm.GameStart();
     Console.WriteLine("Game started.");
     Console.ReadLine();
 }
コード例 #4
0
ファイル: Server.cs プロジェクト: xulouzhe/THUAI3.0
        protected void OnRecieve(Object communication, EventArgs e)
        {
            CommunicationImpl communicationImpl   = communication as CommunicationImpl;
            MessageEventArgs  messageEventArgs    = e as MessageEventArgs;
            Tuple <int, int>  playerCommunitionID = new Tuple <int, int>(messageEventArgs.message.Agent, messageEventArgs.message.Client);

            if (((MessageToServer)messageEventArgs.message.Message).IsSetTalent)
            {
                while (!Program.PlayerList.ContainsKey(playerCommunitionID))
                {
                    Thread.Sleep(100);
                }
                if (((MessageToServer)messageEventArgs.message.Message).Talent < Talent.None || ((MessageToServer)messageEventArgs.message.Message).Talent >= Talent.Size)
                {
                    ((MessageToServer)messageEventArgs.message.Message).Talent = Talent.None;
                }
                Program.PlayerList[playerCommunitionID].Talent = ((MessageToServer)messageEventArgs.message.Message).Talent;
                Server.ServerDebug("Player " + playerCommunitionID.Item1 + "." + playerCommunitionID.Item2 + " has chose talent " + Program.PlayerList[playerCommunitionID].Talent);
                return;
            }

            //Server.ServerDebug("GameTime : " + Time.GameTime().TotalSeconds.ToString("F3") + "s");
            Program.PlayerList[playerCommunitionID].ExecuteMessage(communicationImpl, (MessageToServer)messageEventArgs.message.Message);
        }