Example #1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="wp">WP7</param>
        /// <param name="horseNum">馬番号</param>
        /// <param name="type">血統タイプ 父系or母系</param>
        public Pedigree( WP7 wp, UInt32 horseNum, 血統タイプ type )
        {
            this.wp = wp;
            this.Type = type;
            this.HorseNum = horseNum;

            switch( type ) {
            case 血統タイプ.父系:
                var sire_data = new HSireData();
                this.wp.HSireTable.GetData( this.HorseNum, ref sire_data );
                this.BloodNum = sire_data.blood_num;
                break;
            case 血統タイプ.母系:
                var dam_data = new HDamData();
                this.wp.HDamTable.GetData( this.HorseNum, ref dam_data );
                this.BloodNum = dam_data.blood_num;
                break;
            }
            this.Tree = new Node( wp, type, 0, this.BloodNum, new 血統タイプ[]{ type } );
            this.CreateTree( this.Tree );

            var list = new List< NodeLevelPair >();

            foreach( var node in this.NodeList() ) {
                list.Add( new NodeLevelPair( node.NodeLevel, node ) );
            }
            this.NodeAndLevelList = list.ToArray();
        }
Example #2
0
            /// <summary>
            /// コンストラクタ
            /// </summary>
            /// <param name="wp">WP7</param>
            /// <param name="type">血統タイプ</param>
            /// <param name="nodeLevel">ノードレベル</param>
            /// <param name="bloodNum">血統番号</param>
            /// <param name="line">ノードの位置を示す血統タイプの配列</param>
            /// <param name="fatherNode">父馬のノード</param>
            /// <param name="motherNode">母馬のノード</param>
            public Node( WP7 wp, 血統タイプ type, UInt32 nodeLevel, UInt32 bloodNum, 血統タイプ[] line, Node fatherNode, Node motherNode  )
            {
                this.Type = type;
                this.NodeLevel = nodeLevel;
                this.BloodNum = bloodNum;
                this.Line = line;

                this.Father = fatherNode;
                this.Mother = motherNode;

                var blood_data = new HBloodData();
                wp.HBloodTable.GetData( bloodNum, ref blood_data );

                this.Data = blood_data;
            }
Example #3
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="wp">WP7</param>
 /// <param name="type">血統タイプ</param>
 /// <param name="nodeLevel">ノードレベル</param>
 /// <param name="bloodNum">血統番号</param>
 /// <param name="line">ノードの位置を示す血統タイプの配列</param>
 public Node( WP7 wp, 血統タイプ type, UInt32 nodeLevel, UInt32 bloodNum, 血統タイプ[] line )
     : this(wp, type, nodeLevel, bloodNum, line, null, null)
 {
 }