Exemplo n.º 1
0
        //計算クラス*********************************************************************************************************

        /// <summary>
        /// タイプ相性計算
        /// </summary>
        /// <param name="AttackType"></param>
        /// <param name="EnemyPokemonNo"></param>
        /// <returns></returns>
        public static double TypeBairituCalc(eTypeNo AttackType, int EnemyPokemonNo)
        {
            double dRet;

            try
            {
                //基本計算
                //タイプ1、タイプ2
                var xtypeNo = MASTER_TYPE_LIST.Single(r => r.M_TYPENO == AttackType).M_TYPENO;  //攻撃側タイプ

                var y        = MASTER_POKEMON_LIST.Single(r => r.M_POKENO == EnemyPokemonNo);   //防御側ポケモンデータ
                var ytype1No = MASTER_TYPE_LIST.Single(r => r.M_TYPENO == y.M_TYPE_1).M_TYPENO; //防御側タイプ1
                var ytype2No = MASTER_TYPE_LIST.Single(r => r.M_TYPENO == y.M_TYPE_2).M_TYPENO; //防御側タイプ2

                dRet = _Master_Common.GetTypeBairitu(xtypeNo, ytype1No) * _Master_Common.GetTypeBairitu(xtypeNo, ytype2No);

                //特殊な技(じゅうりょく、はねやすめ、みずびだし、もりののろい)
                //特殊な特性(よびみず、ひらいしん、ちょすい、かんそうはだ、そうしょく、もらいびetc)

                return(dRet);
            }
            catch (Exception ex)
            {
                OutputErrorLog(sErrorPlace, ex.Message.ToString());
                return(-1);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// タイプ倍率変換
        /// </summary>
        /// <param name="OFFeNo">攻撃側タイプ</param>
        /// <param name="DEFeNo">防御側タイプ</param>
        /// <returns></returns>
        public static double GetTypeBairitu(eTypeNo OFFeNo, eTypeNo DEFeNo)
        {
            var z = _Master_Data.MASTER_TYPE_LIST.Single(r => r.M_TYPENO == OFFeNo);

            switch (DEFeNo)
            {
            case eTypeNo.M_NORMAL:
                return(z.M_NORMAL);

            case eTypeNo.M_HONOO:
                return(z.M_HONOO);

            case eTypeNo.M_MIZU:
                return(z.M_MIZU);

            case eTypeNo.M_DENKI:
                return(z.M_DENKI);

            case eTypeNo.M_KUSA:
                return(z.M_KUSA);

            case eTypeNo.M_KOORI:
                return(z.M_KOORI);

            case eTypeNo.M_KAKUTOU:
                return(z.M_KAKUTOU);

            case eTypeNo.M_DOKU:
                return(z.M_DOKU);

            case eTypeNo.M_JIMEN:
                return(z.M_JIMEN);

            case eTypeNo.M_HIKOU:
                return(z.M_HIKOU);

            case eTypeNo.M_ESP:
                return(z.M_ESP);

            case eTypeNo.M_MUSI:
                return(z.M_MUSI);

            case eTypeNo.M_IWA:
                return(z.M_IWA);

            case eTypeNo.M_GHOST:
                return(z.M_GHOST);

            case eTypeNo.M_DRAGON:
                return(z.M_DRAGON);

            case eTypeNo.M_AKU:
                return(z.M_AKU);

            case eTypeNo.M_HAGANE:
                return(z.M_HAGANE);

            case eTypeNo.M_FAIRY:
                return(z.M_FAIRY);
            }

            OutputErrorLog(sErrorPlace, "異常な値");
            return(-1);
        }