예제 #1
0
파일: Video.cs 프로젝트: tdenc/nicorank
 public string ToStringWithRank(int rank, HoseiKind hosei_kind, int mylist_rate)
 {
     if (status_ == Status.DELETED)
     {
         return(video_id + "\tDELETED");
     }
     else if (status_ == Status.NOT_FOUND)
     {
         return(video_id + "\tDELETED");
     }
     else if (status_ == Status.OTHER)
     {
         return(video_id + "");
     }
     else
     {
         StringBuilder buff = new StringBuilder();
         buff.Append(video_id);
         buff.Append("\t");
         buff.Append(rank.ToString());
         buff.Append("\t");
         buff.Append(IJStringUtil.ToStringWithComma(point.view));
         buff.Append("\t");
         buff.Append(IJStringUtil.ToStringWithComma(point.res));
         buff.Append("\t");
         buff.Append(IJStringUtil.ToStringWithComma(point.mylist));
         buff.Append("\t");
         buff.Append(point.GetHoseiString(hosei_kind, mylist_rate, 2, hosei_kind == HoseiKind.Nicoran));
         buff.Append("\t");
         buff.Append(point.GetMylistRateString());
         buff.Append("\t");
         buff.Append(IJStringUtil.ToStringWithComma(point.CalcScore(hosei_kind, mylist_rate)));
         buff.Append("\t");
         buff.Append(title);
         buff.Append("\t");
         buff.Append(NicoUtil.DateToString(submit_date));
         buff.Append("\t");
         buff.Append(video_id + ".png");
         buff.Append("\t");
         buff.Append(pname);
         buff.Append("\t");
         buff.Append(tag_set.ToString());
         return(buff.ToString());
     }
 }
예제 #2
0
        public void CalculateSum(InputOutputOption iooption, RankingMethod ranking_method)
        {
            RankFile rank_file = iooption.GetRankFile();

            msgout_.Write("------------------------------------------\r\n");
            msgout_.Write("内訳: 再生数, コメント数, マイリスト数, ポイント\r\n");

            RankPoint point = new RankPoint();

            point.view = point.res = point.mylist = 0;

            List <Video> video_list  = rank_file.GetVideoList();
            List <int>   view_list   = new List <int>();
            List <int>   res_list    = new List <int>();
            List <int>   mylist_list = new List <int>();
            List <int>   point_list  = new List <int>();

            for (int i = 0; i < video_list.Count; ++i)
            {
                point += video_list[i].point;
                view_list.Add(video_list[i].point.view);
                res_list.Add(video_list[i].point.res);
                mylist_list.Add(video_list[i].point.mylist);
                point_list.Add(video_list[i].point.CalcScore(ranking_method));
            }

            msgout_.Write("合計: " + point.view + ", " + point.res + ", " + point.mylist + ", " + point.CalcScore(ranking_method) + "\r\n");
            if (video_list.Count > 0)
            {
                msgout_.Write("平均: " + ((double)point.view / video_list.Count).ToString("0.00") + ", " +
                              ((double)point.res / video_list.Count).ToString("0.00") + ", " +
                              ((double)point.mylist / video_list.Count).ToString("0.00") + ", " +
                              ((double)point.CalcScore(ranking_method) / video_list.Count).ToString("0.00") + "\r\n");
                msgout_.Write("中央値: " + CalculateMedian(view_list) + ", " + CalculateMedian(res_list) + ", "
                              + CalculateMedian(mylist_list) + ", " + CalculateMedian(point_list) + "\r\n");
                msgout_.Write("最大値: " + view_list[view_list.Count - 1] + ", " + res_list[res_list.Count - 1] + ", "
                              + mylist_list[mylist_list.Count - 1] + ", " + point_list[point_list.Count - 1] + "\r\n");
                msgout_.Write("最小値: " + view_list[0] + ", " + res_list[0] + ", "
                              + mylist_list[0] + ", " + point_list[0] + "\r\n");
            }
        }