コード例 #1
0
            /// <summary>
            /// 駒別の利き を先に作っておいて、それをまとめるだけだぜ☆(^~^)
            /// </summary>
            /// <param name="bb_sourceKomabetuKiki"></param>
            public void Tukurinaosi_Remake(KikiKomabetuBitboardItiran bb_sourceKomabetuKiki)
            {
                Util_Bitboard.ClearBitboards(valueTai);

                foreach (Piece km_all in Conv_Koma.itiran)
                {
                    Taikyokusya tai = Med_Koma.KomaToTaikyokusya(km_all);
                    //Komasyurui ks = Med_Koma.KomaToKomasyurui(km);

                    bb_sourceKomabetuKiki.ToStandup(km_all, valueTai[(int)tai]);
                    //valueTai[(int)tai].Standup(bb_sourceKomabetuKiki.RefBB_Kiki(km));
                }
            }
コード例 #2
0
            public void Tukurinaosi_Remake()
            {
                if (null == valuesKm)
                {
                    valuesKm = new Bitboard[Conv_Koma.itiran.Length];
                }
                Util_Bitboard.ClearBitboards(valuesKm);

                Bitboard bb_ibasho = new Bitboard();

                foreach (Piece km_all in Conv_Koma.itiran)
                {
                    PureMemory.gky_ky.yomiKy.yomiShogiban.yomiIbashoBan.ToSet_Koma(km_all, bb_ibasho);
                    Masu ms_ibasho;
                    while (bb_ibasho.Ref_PopNTZ(out ms_ibasho))
                    {
                        BitboardsOmatome.KomanoUgokikataYk00.ToStandup_Merge(km_all, ms_ibasho, valuesKm[(int)km_all]);
                    }
                }
            }