/// <summary> /// 盤上の駒を指したぜ☆(^▽^)(打つ以外の指し手☆) /// /// 指し手に、取った駒を記録するのは止めるぜ☆(^~^)局面データの方に入れておこう☆(^▽^) /// </summary> /// <param name="ms_src"></param> /// <param name="ms_dst"></param> /// <param name="natta"></param> /// <returns></returns> public static Move ToMove01aNarazuSasi(Masu ms_src, Masu ms_dst, Kyokumen.Sindanyo kys) { Debug.Assert(kys.IsBanjoOrError(ms_src), $"ms_src=[{ms_src}] kys.MASUS=[{kys.MASU_YOSOSU}]"); Debug.Assert(kys.IsBanjo(ms_dst), "盤外に指したぜ☆?"); // バリュー int v = 0; // 筋と段☆(^▽^)盤外なら 0 だぜ☆(^▽^) SetSrcMasu_WithoutErrorCheck(ref v, ms_src); // 「打」のときは何もしないぜ☆(^▽^) SetDstMasu_WithoutErrorCheck(ref v, ms_dst); // 打った駒なし // 成らない☆(^▽^) return((Move)v); }
/// <summary> /// 盤上の駒を指したぜ☆(^▽^)(打つ以外の指し手☆) /// /// 指し手に、取った駒を記録するのは止めるぜ☆(^~^)局面データの方に入れておこう☆(^▽^) /// </summary> /// <param name="ms_src"></param> /// <param name="ms_dst"></param> /// <param name="natta"></param> /// <returns></returns> public static Move ToMove01bNariSasi(Masu ms_src, Masu ms_dst, Kyokumen.Sindanyo kys) { Debug.Assert(kys.IsBanjoOrError(ms_src), ""); Debug.Assert(kys.IsBanjo(ms_dst), "盤外に指したぜ☆?"); // バリュー int v = 0; // 筋と段☆(^▽^)盤外なら 0 だぜ☆(^▽^) SetSrcMasu_WithoutErrorCheck(ref v, ms_src); // 「打」のときは何もしないぜ☆(^▽^) SetDstMasu_WithoutErrorCheck(ref v, ms_dst); // 打った駒なし // 成った☆(^▽^) v |= 1 << MoveShift.Natta; return((Move)v); }