Exemplo n.º 1
0
        /// <summary>
        /// 判定するべき要素を判定する
        /// </summary>
        /// <returns></returns>
        public JudgeResult Judge()
        {
            var head = _judgeHead;

            while (_referee.IsOverJudgeAreaLeft(_notes[head]))
            {
                //判定エリアより左側だったら次の音符を見る
                head += 1;

                if (_tail <= head)
                {
                    //末尾以降を参照しようとしたとき
                    return(JudgeResult.Ignore);
                }

                _judgeHead = head;
            }
            //判定する
            return(_referee.Judge(_notes[head]));
        }