Exemple #1
0
        public static void MukiToOffsetSujiDan(Hogaku muki, Playerside pside, out int offsetSuji, out int offsetDan)
        {
            offsetSuji = 0;
            offsetDan  = 0;

            switch (muki)//先手の場合
            {
            case Hogaku.:
                offsetDan = -1;
                break;

            case Hogaku.昇:
                offsetSuji = -1;
                offsetDan  = -1;
                break;

            case Hogaku.射:
                offsetSuji = -1;
                break;

            case Hogaku.沈:
                offsetSuji = -1;
                offsetDan  = +1;
                break;

            case Hogaku.引:
                offsetDan = +1;
                break;

            case Hogaku.降:
                offsetSuji = +1;
                offsetDan  = +1;
                break;

            case Hogaku.滑:
                offsetSuji = +1;
                break;

            case Hogaku.浮:
                offsetSuji = +1;
                offsetDan  = -1;
                break;

            default:
                break;
            }

            if (pside == Playerside.P2)
            {
                offsetSuji *= -1;
                offsetDan  *= -1;
            }
        }
Exemple #2
0
        /// <summary>
        /// ************************************************************************************************************************
        /// 1マス上、のように指定して、マスを取得します。
        /// ************************************************************************************************************************
        /// </summary>
        /// <param name="offsetSuji"></param>
        /// <param name="offsetDan"></param>
        /// <returns></returns>
        public static SyElement Offset(Okiba okiba, SyElement masu, Playerside pside, Hogaku muki)
        {
            int offsetSuji;
            int offsetDan;

            Util_Muki.MukiToOffsetSujiDan(muki, pside, out offsetSuji, out offsetDan);

            int suji;
            int dan;

            Util_MasuNum.MasuToSuji(masu, out suji);
            Util_MasuNum.MasuToDan(masu, out dan);

            return(Util_Masu.OkibaSujiDanToMasu(
                       okiba,
                       suji + offsetSuji,
                       dan + offsetDan));
        }