コード例 #1
0
 public static AnalyserTestData create(AnalyzerData data)
 {
     return(new AnalyserTestData(
                data,
                data.usedTypes.Select(t => t.name).ToImmutableSortedSet(),
                data.analyzedMethods.Select(t => t.name).ToImmutableSortedSet()
                ));
 }
コード例 #2
0
 public AnalyserTestData(
     AnalyzerData data,
     ImmutableSortedSet <string> usedTypes, ImmutableSortedSet <string> analyzedMethods
     )
 {
     this.data            = data;
     this.usedTypes       = usedTypes;
     this.analyzedMethods = analyzedMethods;
 }
コード例 #3
0
ファイル: Manager.cs プロジェクト: Puppetplay/BeThe2016_VER02
        //  한경기의 한쪽 팀의 분석정보를 가져온다.
        private AnalyzerData GetAnalyzerData(Match match, AttackType attckType,
                                             String teamInitial, DateTime dateTime)
        {
            // 분석된 데이터 만들기
            AnalyzerData analyzerData = new AnalyzerData();

            analyzerData.HitterInfos = new List <HitterInfo>();

            // 경기를 가져온다.
            DatabaseManager dbMgr     = new DatabaseManager();
            var             players   = dbMgr.SelectAll <Player>();
            var             matches   = dbMgr.SelectAll <Match>();
            var             schedules = dbMgr.SelectAll <Schedule>();
            var             ths       = dbMgr.SelectAll <Th>();
            var             bats      = dbMgr.SelectAll <Bat>();

            ThType tyType = attckType == AttackType.Home ? ThType.말 : ThType.초;

            // 지난 데이터의 분석기 생성
            BeThe.DataAnalyzer.Manager analyzer = new BeThe.DataAnalyzer.Manager();
            analyzer.MaxDateTime = dateTime;

            // 당일 선발투수 가져오기(분석시 입력 혹은 크롤링 구현)
            var pitcherId = (from t in ths
                             join b in bats
                             on t.Id equals b.ThId
                             where t.MatchId == match.Id &&
                             t.Number == 1 && t.ThType == tyType
                             select b).First().PitcherId;

            // 투수 정보 가져오기
            analyzerData.PitcherInfo = analyzer.GetPitcherInfo(pitcherId, 4);

            // 타자리스트 얻어오기
            var hitters = analyzer.GetStartPlayerForNDays(teamInitial, 4);

            foreach (var hitter in hitters)
            {
                // 각타자의 정보 얻어오기
                var HitInfo = GetHitterInfo(hitter.PlayerId, analyzer, teamInitial);
                analyzerData.HitterInfos.Add(HitInfo);
            }
            return(analyzerData);
        }