コード例 #1
0
ファイル: MasterState.cs プロジェクト: adh2050/Chess
 public void RemoveTimeSetting(TimeSettings setting)
 {
     if (timeSettings.Contains(setting))
     {
         timeSettings.Remove(setting);
         TriggerAction(EventTimeSettingsChanged);
     }
 }
コード例 #2
0
ファイル: MasterState.cs プロジェクト: adh2050/Chess
 public TimeSettings CreateNewTimeSetting()
 {
     var setting = new TimeSettings { Name = "New Time Setting" };
     setting.Id = timeSettings.Max(x => x.Id) + 1;
     timeSettings.Add(setting);
     TriggerAction(EventTimeSettingsChanged);
     return setting;
 }
コード例 #3
0
ファイル: MasterState.cs プロジェクト: adh2050/Chess
 public string SerializeState()
 {
     return(Serializer.SerializeToXml(new SerializedState
     {
         EngineSettings = Engines.ToArray(),
         TimeSettings = TimeSettings.ToArray(),
         ScheduledMatches = ScheduledMatches.ToArray()
     }));
 }
コード例 #4
0
ファイル: ChessClock.cs プロジェクト: adh2050/Chess
 public ChessClock(TimeSettings settings)
 {
     State                 = Base.Color.None;
     Settings              = settings;
     InfiniteTime          = settings.InitialTime == null;
     timeRemainingWhite    = (settings.InitialTime * 1000) ?? 0;
     timeRemainingBlack    = (settings.InitialTime * 1000) ?? 0;
     elapsedTimer          = new System.Timers.Timer(10);
     elapsedTimer.Elapsed += ElapsedTimerAction;
     elapsedTimer.Start();
 }
コード例 #5
0
ファイル: MasterState.cs プロジェクト: adh2050/Chess
        public TimeSettings CreateNewTimeSetting()
        {
            var setting = new TimeSettings {
                Name = "New Time Setting"
            };

            setting.Id = timeSettings.Max(x => x.Id) + 1;
            timeSettings.Add(setting);
            TriggerAction(EventTimeSettingsChanged);
            return(setting);
        }
コード例 #6
0
ファイル: MatchRunner.cs プロジェクト: adh2050/Chess
        public MatchRunner(IPlayer white, IPlayer black, TimeSettings timeSettings)
        {
            TimeSettings = timeSettings;
            PlayerWhite = white;
            PlayerBlack = black;

            var matchName = DateTime.Now.ToString("yyyyMMdd-HHmmss") + "-" + PlayerWhite.Name + "-" + PlayerBlack.Name;
            var dir = Path.Combine(OutputDir, matchName);
            Directory.CreateDirectory(dir);
            var fileWhite = Path.Combine(dir, "white.log");
            var fileBlack = Path.Combine(dir, "black.log");
            fsWhite = new FileStream(fileWhite, FileMode.CreateNew, FileAccess.Write, FileShare.Read);
            fsBlack = new FileStream(fileBlack, FileMode.CreateNew, FileAccess.Write, FileShare.Read);
            writerWhite = new StreamWriter(fsWhite);
            writerBlack = new StreamWriter(fsBlack);
            Board = new Base.Board(true);
            Clock = new ChessClock(TimeSettings);
        }
コード例 #7
0
ファイル: MatchRunner.cs プロジェクト: adh2050/Chess
        public MatchRunner(IPlayer white, IPlayer black, TimeSettings timeSettings)
        {
            TimeSettings = timeSettings;
            PlayerWhite  = white;
            PlayerBlack  = black;

            var matchName = DateTime.Now.ToString("yyyyMMdd-HHmmss") + "-" + PlayerWhite.Name + "-" + PlayerBlack.Name;
            var dir       = Path.Combine(OutputDir, matchName);

            Directory.CreateDirectory(dir);
            var fileWhite = Path.Combine(dir, "white.log");
            var fileBlack = Path.Combine(dir, "black.log");

            fsWhite     = new FileStream(fileWhite, FileMode.CreateNew, FileAccess.Write, FileShare.Read);
            fsBlack     = new FileStream(fileBlack, FileMode.CreateNew, FileAccess.Write, FileShare.Read);
            writerWhite = new StreamWriter(fsWhite);
            writerBlack = new StreamWriter(fsBlack);
            Board       = new Base.Board(true);
            Clock       = new ChessClock(TimeSettings);
        }
コード例 #8
0
ファイル: MasterState.cs プロジェクト: adh2050/Chess
 public void RemoveTimeSetting(TimeSettings setting)
 {
     if (timeSettings.Contains(setting))
     {
         timeSettings.Remove(setting);
         TriggerAction(EventTimeSettingsChanged);
     }
 }