public static void AddMoveNariGood() { if (PureMemory.ssss_genk_tume1) { MoveGenAccessor.ClearMoveList(); } //他の指し手を消し飛ばすぜ☆(^▽^) Move ss = AbstractConvMove.ToMove01bNariSasi(PureMemory.ssss_ugoki_ms_src, PureMemory.ssss_ugoki_ms_dst); Debug.Assert(Move.Toryo != ss, ""); PureMemory.ssss_moveList[PureMemory.tnsk_fukasa].AddList(ss, PureMemory.ssss_ugoki_kakuteiSsType); }
public static Move TryFenMove2( FenSyurui f, string str1, string str2, string str3, string str4, string str5 ) { int dstSuji = LisInt.FenSuji_Int(f, str3); // 至筋 int dstDan = LisInt.FenDan_Int(f, str4); // 至段 // 取った駒を調べるぜ☆(^▽^) Masu dstMs = Conv_Masu.ToMasu(dstSuji, dstDan); //------------------------------ // 5 //------------------------------ bool natta = false; if ("+" == str5) { // 成りました natta = true; } //------------------------------ // 結果 //------------------------------ if ("*" == str2) { // 駒台から打ったぜ☆ return(AbstractConvMove.ToMove01cUtta( dstMs, Med_Parser.MojiToMotikomaSyurui(f, str1)//打った駒 )); } else { // 盤上の駒を動かしたぜ☆ if (natta) { return(AbstractConvMove.ToMove01bNariSasi(Med_Parser.FenSujiDan_Masu(f, str1, str2), dstMs)); } else { return(AbstractConvMove.ToMove01aNarazuSasi(Med_Parser.FenSujiDan_Masu(f, str1, str2), dstMs)); } } }
public static void AddMoveNariGoodXorBad() { Move ss = AbstractConvMove.ToMove01bNariSasi(PureMemory.ssss_ugoki_ms_src, PureMemory.ssss_ugoki_ms_dst); if (PureMemory.ssss_genk_tume1) { MoveGenAccessor.ClearMoveList(); } //他の指し手を消し飛ばすぜ☆(^▽^) Debug.Assert(Move.Toryo != ss, ""); if (PureMemory.IsAkusyu_Ssss) { PureMemory.ssss_moveListBad[PureMemory.tnsk_fukasa].AddList(ss, PureMemory.ssss_ugoki_kakuteiSsType | PureMemory.GetAkusyuType_Ssss()); } else { PureMemory.ssss_moveList[PureMemory.tnsk_fukasa].AddList(ss, PureMemory.ssss_ugoki_kakuteiSsType); } }