Exemple #1
0
        private static KgsGameInfo CreateGameInfo(GameChannel channel)
        {
            if (channel.GameType != GameType.Free &&
                channel.GameType != GameType.Ranked)
            {
                return(null);
            }

            var whiteInfo = new PlayerInfo(StoneColor.White, channel.Players["white"].Name,
                                           channel.Players["white"].Rank ?? "??");
            var blackInfo = new PlayerInfo(StoneColor.Black, channel.Players["black"].Name,
                                           channel.Players["black"].Rank ?? "??");
            string ruleset = channel.Rules ?? RulesDescription.RulesJapanese;

            if (!KgsHelpers.IsSupportedRuleset(ruleset))
            {
                return(null);
            }
            var kgi = new KgsGameInfo(
                whiteInfo,
                blackInfo,
                new GameBoardSize(channel.Size),
                KgsHelpers.ConvertRuleset(ruleset),
                channel.Handicap,
                KgsGameInfo.GetHandicapPlacementType(KgsHelpers.ConvertRuleset(ruleset)),
                channel.Komi,
                CountingType.Area,
                channel.ChannelId);

            return(kgi);
        }