/// <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)); } }
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]); } } }