Beispiel #1
0
        /// <summary>
        /// ボトムライン 活性配合
        /// 
        /// --------------------------------------------------------
        /// |             |             |   (こ)     | 父父父父    |
        /// |             |             |   父父父   +-------------|
        /// |             |             |            | 父父父母    |
        /// |             |    父父     +------------+-------------|
        /// |             |             |   (け)     | 父父母父    |
        /// |             |             |   父父母   +-------------|
        /// |  [零細]     |             |            | 父父母母    |
        /// | 父          |-------------+------------+-------------|
        /// |             |             |   (く)     | 父母父父    |
        /// |             |             |   父母父   +-------------|
        /// |             |             |            | 父母父母    |
        /// |             |    父母     +------------+-------------|
        /// |             |             |   (き)     | 父母母父    |
        /// |             |             |   父母母   +-------------|
        /// |             |             |            | 父母母母    |
        /// |-------------+-------------+------------+-------------|
        /// |             |             |   (か)     | 母父父父    |
        /// |             |             |   母父父   +-------------|
        /// |             |             |            | 母父父母    |
        /// |             |    母父     +------------+-------------|
        /// |             |             |   (お)     | 母父母父    |
        /// |             |             |   母父母   +-------------|
        /// |  (あ)       |             |            | 母父母母    |
        /// | 母          +-------------+------------+-------------|
        /// |             |             |   (え)     | 母母父父    |
        /// |             |             |   母母父   +-------------|
        /// |             |    (い)     |            | 母母父母    |
        /// |             |    母母     +------------+-------------|
        /// |             |             |   (う)     | 母母母父    |
        /// |             |             |   母母母   +-------------|
        /// |             |             |            | 母母母母    |
        /// --------------------------------------------------------
        /// 
        /// ボトムライン活性配合Lv1
        /// 	父が「零細」で、母、母母、母母母が(あ・い・う)ともに流行か因子を持っている場合に成立します。
        /// 
        /// ボトムライン活性配合Lv2
        /// 	加えて、父方の3代前の先祖(こ・け・く・き)がすべて零細血統だとより効果が高くなります。
        /// 
        /// ボトムライン活性配合Lv3
        /// 	加えての母方の3代前の先祖(う・え・お・か)がすべて 
        /// 	流行血統だとさらに効果が高くなります
        /// </summary>
        /// <returns></returns>
        private Enums.ライン活性配合 sub_ボトムライン活性配合のチェック()
        {
            var sire_blood = this.SirePedigree.Tree.Data;
            var temp_info = this.family_line_info[ sire_blood.family_line_num ];

            if( !temp_info.零細血統か() ) {
                return Enums.ライン活性配合.無し;
            }

            // Lv1のチェック
            var level = Enums.ライン活性配合.無し;

            Pedigree.Node[] node_check_list;

            temp_info = this.family_line_info[ this.DamPedigree.Tree.Data.family_line_num ];

            // (あ)の流行or因子持ちチェック
            if( !temp_info.流行血統か() ) {
                if( this.DamPedigree.Tree.Data.factor_left > 8 && this.DamPedigree.Tree.Data.factor_right > 8 ) {
                    return  Enums.ライン活性配合.無し;
                }
            }
            // (い),(う)の流行or因子持ちチェック
            node_check_list = new Pedigree.Node[] {
                this.DamPedigree.Tree.Mother,
                this.DamPedigree.Tree.Mother.Mother,
            };
            level = Enums.ライン活性配合.ボトムライン活性配合Lv1;

            foreach( var node in node_check_list ) {
                temp_info = this.family_line_info[ node.Data.family_line_num ];
                if( !temp_info.流行血統か() && ( node.Data.factor_left > 8 && node.Data.factor_right > 8 ) ) {
                    return Enums.ライン活性配合.無し;
                }
            }

            // (こ),(け),(く),(き)の零細チェック
            node_check_list = new Pedigree.Node[] {
                this.DamPedigree.Tree.Father.Father,
                this.DamPedigree.Tree.Father.Mother,
                this.DamPedigree.Tree.Mother.Father,
                this.DamPedigree.Tree.Mother.Mother,
            };
            foreach( var node in node_check_list ) {
                temp_info = this.family_line_info[ node.Data.family_line_num ];
                if( !temp_info.零細血統か() ) {
                    // ボトムライン活性配合Lv1 or 無し
                    return level;
                }
            }

            // (う),(え),(お),(か)の流行チェック((こ),(け),(く),(き)は零細確定済み)
            node_check_list = new Pedigree.Node[] {
                this.SirePedigree.Tree.Mother.Mother,
                this.SirePedigree.Tree.Mother.Father,
                this.SirePedigree.Tree.Father.Mother,
                this.SirePedigree.Tree.Father.Father
            };
            foreach( var node in node_check_list ) {
                temp_info = this.family_line_info[ node.Data.family_line_num ];
                if( !temp_info.零細血統か() ) {
                    return Enums.ライン活性配合.ボトムライン活性配合Lv2;
                }
            }
            return Enums.ライン活性配合.ボトムライン活性配合Lv3;
        }
Beispiel #2
0
        /// <summary>
        /// メールライン活性配合のチェック
        /// 
        /// --------------------------------------------------------
        /// |             |             |   (け)     | 父父父父    |
        /// |             |             |   父父父   +-------------|
        /// |             |             |            | 父父父母    |
        /// |             |    父父     +------------+-------------|
        /// |             |             |   (く)     | 父父母父    |
        /// |  [流行]     |             |   父父母   +-------------|
        /// |             |             |            | 父父母母    |
        /// | 父          |-------------+------------+-------------|
        /// |             |             |   (き)     | 父母父父    |
        /// |             |             |   父母父   +-------------|
        /// |             |             |            | 父母父母    |
        /// |             |    父母     +------------+-------------|
        /// |             |             |   (か)     | 父母母父    |
        /// |             |             |   父母母   +-------------|
        /// |             |             |            | 父母母母    |
        /// |-------------+-------------+------------+-------------|
        /// |             |             |   (お)     | 母父父父    |
        /// |             |             |   母父父   +-------------|
        /// |             |             |            | 母父父母    |
        /// |             |    母父     +------------+-------------|
        /// |             |             |   (え)     | 母父母父    |
        /// |             |             |   母父母   +-------------|
        /// |  (あ)       |             |            | 母父母母    |
        /// | 母          +-------------+------------+-------------|
        /// |             |             |   (う)     | 母母父父    |
        /// |             |             |   母母父   +-------------|
        /// |             |             |            | 母母父母    |
        /// |             |    母母     +------------+-------------|
        /// |             |             |   (い)     | 母母母父    |
        /// |             |             |   母母母   +-------------|
        /// |             |             |            | 母母母母    |
        /// --------------------------------------------------------
        /// 
        /// メールライン活性配合Lv1
        /// 	父が「流行」で、母、母母、母母母が(あ・い・う)ともに「零細」の場合に成立します。
        /// 	
        /// メールライン活性配合Lv2
        /// 	加えて、母方の3代前の先祖(え・お)がすべて零細血統だとより効果が高くなります。
        /// 
        /// メールライン活性配合Lv3
        /// 	メールライン以外の3代前の先祖(い・う・え・お・か・き・く・け)がすべて零細血統だと
        /// 	さらに効果が高くなります
        /// 
        /// 
        /// > 88 名前:こんな名無しでは、どうしようもないよ。[sage] 投稿日:2012/03/30(金) 11:10:05.60 ID:wGxQ0LBn [1/2]
        /// > sheep(とそのパクリブログ)の配合理論 2012の相違点
        /// > メールラインLV3→父父父は流行でもよい
        /// 
        /// MEMO:
        ///		×流行でもよい
        ///		○零細で無くてもよい
        ///	</summary>
        private Enums.ライン活性配合 sub_メールライン活性配合のチェック()
        {
            var sire_blood = this.SirePedigree.Tree.Data;
            var temp_info = this.family_line_info[ sire_blood.family_line_num ];

            // 父が流行血統ではないなら活性無し
            if( !temp_info.流行血統か() ) {
                return Enums.ライン活性配合.無し;
            }

            Pedigree.Node[] node_check_list;

            // (あ)の零細チェック
            temp_info = this.family_line_info[ this.DamPedigree.Tree.Data.family_line_num ];

            if( !temp_info.零細血統か() ) {
                return Enums.ライン活性配合.無し;
            }

            // (い),(う)の零細チェック
            node_check_list = new Pedigree.Node[] {
                this.DamPedigree.Tree.Mother.Mother,
                this.DamPedigree.Tree.Mother.Father,
            };

            foreach( var node in node_check_list ) {
                temp_info = this.family_line_info[ node.Data.family_line_num ];
                if( !temp_info.零細血統か() ) {
                    return Enums.ライン活性配合.無し;
                }
            }

            // (い),(う),(え),(お)の零細チェック
            node_check_list = new Pedigree.Node[] {
                this.DamPedigree.Tree.Mother.Mother,
                this.DamPedigree.Tree.Mother.Father,
                this.DamPedigree.Tree.Father.Mother,
                this.DamPedigree.Tree.Father.Father,
            };
            foreach( var node in node_check_list ) {
                temp_info = this.family_line_info[ node.Data.family_line_num ];
                if( !temp_info.零細血統か() ) {
                    return Enums.ライン活性配合.メールライン活性配合Lv1;;
                }
            }

            //  (か),(き),(く),(け)の零細チェック((い),(う),(え),(お)は零細確定済み)
            node_check_list = new Pedigree.Node[] {
                this.SirePedigree.Tree.Mother.Mother,
                this.SirePedigree.Tree.Mother.Father,
                this.SirePedigree.Tree.Father.Mother,
                // (け)は零細の必要は無くなった
                //this.SirePedigree.Tree.Father.Father
            };
            foreach( var node in node_check_list ) {
                temp_info = this.family_line_info[ node.Data.family_line_num ];
                if( !temp_info.零細血統か() ) {
                    // メールライン活性配合Lv2
                    return Enums.ライン活性配合.メールライン活性配合Lv2;
                }
            }
            return Enums.ライン活性配合.メールライン活性配合Lv3;
        }
Beispiel #3
0
        /// <summary>
        /// 血脈活性化配合のチェック
        /// 
        /// ---------------------------------------------------
        /// |        |             |  ※        | 父父父父    |
        /// |        |             |   父父父   +-------------|
        /// |        |             |            | 父父父母    |
        /// |        |    父父     +------------+-------------|
        /// |        |             |  ※        | 父父母父    |
        /// |        |             |   父父母   +-------------|
        /// |        |             |            | 父父母母    |
        /// | 父     |-------------+------------+-------------|
        /// |        |             |  ※        | 父母父父    |
        /// |        |             |   父母父   +-------------|
        /// |        |             |            | 父母父母    |
        /// |        |    父母     +------------+-------------|
        /// |        |             |  ※        | 父母母父    |
        /// |        |             |   父母母   +-------------|
        /// |        |             |            | 父母母母    |
        /// |--------+-------------+------------+-------------|
        /// |        |             |  ※        | 母父父父    |
        /// |        |             |   母父父   +-------------|
        /// |        |             |            | 母父父母    |
        /// |        |    母父     +------------+-------------|
        /// |        |             |  ※        | 母父母父    |
        /// |        |             |   母父母   +-------------|
        /// |        |             |            | 母父母母    |
        /// | 母     +-------------+------------+-------------|
        /// |        |             |  ※        | 母母父父    |
        /// |        |             |   母母父   +-------------|
        /// |        |             |            | 母母父母    |
        /// |        |    母母     +------------+-------------|
        /// |        |             |  ※        | 母母母父    |
        /// |        |             |   母母母   +-------------|
        /// |        |             |            | 母母母母    |
        /// ---------------------------------------------------
        /// 
        /// 3代前の先祖馬の親系統が6種類以上の場合成立する。
        /// 親系統の数に応じて爆発力がアップします。また同時にインブリードを成立させた場合、
        /// インブリードによるデメリットが少なくなります。
        /// (インブリードが3×4より薄い場合)7本型以上の場合はデメリットがなくなります。
        /// </summary>
        private void 血脈活性化配合のチェック()
        {
            var TARGET_LEN = 8;
            var activity_node_list = new Pedigree.Node[TARGET_LEN];
            var counter = 0;

            foreach( var pedigree in new []{ this.SirePedigree, this.DamPedigree } ) {
                foreach( var node in pedigree.NodeList(2) ) {
                    activity_node_list[ counter++ ] = node;
                }
            }
            Debug.Assert( counter == TARGET_LEN );

            var parent_family_line_list = new UInt32[TARGET_LEN];

            counter = 0;
            foreach( var node in activity_node_list ) {
                var family_line_info = this.family_line_info[ node.Data.family_line_num ];
                parent_family_line_list[ counter++ ] = family_line_info.ParentFamilyLuneNum;
            }

            var count = parent_family_line_list.Distinct().Count();

            switch( count ) {
            case 6:
                this.Combination.血脈活性化配合 = Enums.血脈活性化配合.六本型;
                break;
            case 7:
                this.Combination.血脈活性化配合 = Enums.血脈活性化配合.七本型;
                break;
            case 8:
                this.Combination.血脈活性化配合 = Enums.血脈活性化配合.八本型;
                break;
            default:
                this.Combination.血脈活性化配合 = Enums.血脈活性化配合.無し;
                break;
            }
        }