Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="move">棋譜に記録するために「指す前/指した後」を含めた手。</param>
        /// <param name="back"></param>
        /// <returns></returns>
        private static PieceType Kifusasi30_Naru(
            ShootingStarlightable move,
            bool back)
        {
            //------------------------------------------------------------
            // 確定  :  移動先升
            //------------------------------------------------------------
            PieceType syurui2;

            {
                //----------
                // 成るかどうか
                //----------

                RO_Star_Koma koma = Util_Koma.AsKoma(move.Now);


                if (Util_Sky.IsNattaMove(move))
                {
                    if (back)
                    {
                        // 正順で成ったのなら、巻戻しでは「非成」に戻します。
                        syurui2 = KomaSyurui14Array.NarazuCaseHandle(Haiyaku184Array.Syurui(koma.Haiyaku));
                    }
                    else
                    {
                        syurui2 = Haiyaku184Array.Syurui(koma.Haiyaku);
                    }
                }
                else
                {
                    syurui2 = Haiyaku184Array.Syurui(koma.Haiyaku);
                }
            }

            return(syurui2);
        }