示例#1
0
        static void Main(string[] args)
        {
            var listIntellect = new List <TeamIntellectList>();

            if (args.Length == 0)
            {
                Console.WriteLine("Usage:");
                Console.WriteLine("{0} [i-th.dll]", Assembly.GetExecutingAssembly().GetName().Name);
                return;
            }

            foreach (var s in args)
            {
                var t = new TeamIntellectList();
                t.TeamId = Guid.NewGuid();
                var i = ParseIntellect(s);
                if (i == null)
                {
                    continue;
                }
                t.Members.Add(i);
                listIntellect.Add(t);
            }

            var outFileName = String.Format("replay_{0}.out", DateTime.Now.ToString("yyyy.MM.dd_HH.mm.ss"));
            var fs          = new FileStream(outFileName, FileMode.CreateNew);
            var computer    = new Computer(listIntellect);
            var sw          = new Stopwatch();

            Console.WriteLine("Game started: {0}", listIntellect.Count);
            sw.Start();
            var res = computer.Compute();

            SerializationHelper.Serialize(res, fs);
            sw.Stop();
            fs.Close();
            Console.WriteLine("Done: {0}.", sw.Elapsed);
            Console.ReadKey();
#if true
            var list = SerializationHelper.Deserialize(outFileName);
#endif
        }
示例#2
0
        private static List <TeamIntellectList> GetIntellects(Message msg)
        {
            var listIntellect = new List <TeamIntellectList>();

            foreach (var team in msg.TeamList)
            {
                var teamIntellectList = new TeamIntellectList
                {
                    TeamId  = team.TeamId,
                    Members = new List <Type>()
                };
                foreach (var intellectId in team.Members)
                {
                    var dll = Warehouse.DownloadIntellect(intellectId);
                    teamIntellectList.Members.Add(ParseIntellect(dll));
                }
                listIntellect.Add(teamIntellectList);
            }
            return(listIntellect);
        }