Esempio n. 1
0
 /// <summary>
 /// 二塁打か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsTwoBaseHit(BattingResultKind result)
 {
     return result >= BattingResultKind.RightDouble && result <= BattingResultKind.LeftDouble;
 }
Esempio n. 2
0
 /// <summary>
 /// なんらかの成功した打席か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsSuccess(BattingResultKind result)
 {
     // 安打か四死球か犠打であればtrue
     return IsHit(result) || IsFourBollOrDeadBoll(result) || IsSacrifice(result);
 }
Esempio n. 3
0
 /// <summary>
 /// 三塁打か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsThreeBaseHit(BattingResultKind result)
 {
     return result >= BattingResultKind.RightTriple && result <= BattingResultKind.LeftTriple;
 }
Esempio n. 4
0
 /// <summary>
 /// 犠打か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsSacrifice(BattingResultKind result)
 {
     return result == BattingResultKind.SacrificeBunt || result == BattingResultKind.SacrificeFly;
 }
Esempio n. 5
0
 /// <summary>
 /// 三振か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsStrikeOut(BattingResultKind result)
 {
     return result == BattingResultKind.StrikeOut;
 }
Esempio n. 6
0
 /// <summary>
 /// 失策か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsError(BattingResultKind result)
 {
     return result >= BattingResultKind.PitcherError && result <= BattingResultKind.LeftError;
 }
Esempio n. 7
0
 /// <summary>
 /// 外野ゴロか
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsOutFielderGround(BattingResultKind result)
 {
     return result == BattingResultKind.RightGround || result == BattingResultKind.CenterGround || result == BattingResultKind.LeftGround ||
            result == BattingResultKind.RightGetTwo || result == BattingResultKind.CenterGetTwo || result == BattingResultKind.LeftGetTwo;
 }
Esempio n. 8
0
 /// <summary>
 /// 内野ゴロか
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsInFielderGround(BattingResultKind result)
 {
     return result == BattingResultKind.PitcherGround || result == BattingResultKind.CatcherGround || result == BattingResultKind.FirstGround ||
            result == BattingResultKind.SecondGround || result == BattingResultKind.ThirdGround || result == BattingResultKind.ShortGround ||
            result == BattingResultKind.PitcherGetTwo || result == BattingResultKind.CatcherGetTwo || result == BattingResultKind.FirstGetTwo ||
            result == BattingResultKind.SecondGetTwo || result == BattingResultKind.ThirdGetTwo || result == BattingResultKind.ShortGetTwo;
 }
Esempio n. 9
0
 /// <summary>
 /// 内野安打か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsInFielderHit(BattingResultKind result)
 {
     return result >= BattingResultKind.PitcherHit && result <= BattingResultKind.ShortHit;
 }
Esempio n. 10
0
 /// <summary>
 /// 本塁打か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsHomeRun(BattingResultKind result)
 {
     return result >= BattingResultKind.RightHomerun && result <= BattingResultKind.LeftHomerun;
 }
Esempio n. 11
0
 /// <summary>
 /// 内野フライか
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsInFielderFly(BattingResultKind result)
 {
     return result == BattingResultKind.PitcherFly || result == BattingResultKind.CatcherFly || result == BattingResultKind.FirstFly ||
            result == BattingResultKind.SecondFly || result == BattingResultKind.ThirdFly || result == BattingResultKind.ShortFly;
 }
Esempio n. 12
0
 /// <summary>
 /// 安打か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsHit(BattingResultKind result)
 {
     return result >= BattingResultKind.PitcherHit && result <= BattingResultKind.LeftHomerun;
 }
Esempio n. 13
0
 /// <summary>
 /// 併殺か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsGetTwo(BattingResultKind result)
 {
     return result == BattingResultKind.PitcherGetTwo || result == BattingResultKind.CatcherGetTwo || result == BattingResultKind.FirstGetTwo ||
            result == BattingResultKind.SecondGetTwo || result == BattingResultKind.ThirdGetTwo || result == BattingResultKind.ShortGetTwo ||
            result == BattingResultKind.RightGetTwo || result == BattingResultKind.CenterGetTwo || result == BattingResultKind.LeftGetTwo;
 }
Esempio n. 14
0
 /// <summary>
 /// 四死球か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsFourBollOrDeadBoll(BattingResultKind result)
 {
     return result == BattingResultKind.FourBoll || result == BattingResultKind.DeadBoll;
 }
Esempio n. 15
0
        /// <summary>
        /// 打撃結果を追加する
        /// </summary>
        /// <param name="result"></param>
        /// <param name="ribby"></param>
        public void AddBattingResult(BattingResultKind result, int ribby)
        {
            // 打撃結果の追加
            BattingResults.Add(result);

            // 打数の加算
            if (BattingResultKindHelper.IsBatCount(result))
            {
                BatCount++;
                Player.BatCount++;
            }

            // 安打数の加算
            if (BattingResultKindHelper.IsHit(result))
            {
                HitCount++;
                Player.HitCount++;
            }

            // 二塁打数の加算
            if (BattingResultKindHelper.IsTwoBaseHit(result))
            {
                TwoBaseHitCount++;
                Player.TwoBaseHitCount++;
            }

            // 三塁打数の加算
            if (BattingResultKindHelper.IsThreeBaseHit(result))
            {
                ThreeBaseHitCount++;
                Player.ThreeBaseHitCount++;
            }

            // 本塁打の加算
            if (BattingResultKindHelper.IsHomeRun(result))
            {
                HomeRunCount++;
                Player.HomeRunCount++;
            }

            // 打点の加算(失策でなければ加算する)
            if (!BattingResultKindHelper.IsError(result) && ribby > 0)
            {
                Ribby += ribby;
                Player.Ribby += ribby;
            }

            // 四死球の加算
            if (BattingResultKindHelper.IsFourBollOrDeadBoll(result))
            {
                FourBollOrDeadBollCount++;
                Player.FourBollOrDeadBollCount++;
            }

            // 犠打の加算
            if (BattingResultKindHelper.IsSacrifice(result))
            {
                SacrificeCount++;
                Player.SacrificeCount++;
            }

            // 三振の加算
            if (BattingResultKindHelper.IsStrikeOut(result))
            {
                StrikeOutCount++;
                Player.StrikeOutCount++;
            }

            // EXPとスカウト評価の加算
            Player.GameExp += EventConstants.AddGameExpByBat;
            if (BattingResultKindHelper.IsSuccess(result))
            {
                // 成功した打席の場合はさらに経験値を加算
                Player.GameExp += EventConstants.AddGameExpByBatSuccess;

                // スカウト評価の加算
                Player.ScoutEvaluation += EventConstants.AddEvaluationByBatSuccess;
                Player.ScoutEvaluation += ribby * EventConstants.AddEvaluationByRibby;
                if (BattingResultKindHelper.IsHomeRun(result))
                {
                    // 本塁打
                    Player.ScoutEvaluation += EventConstants.AddEvaluationByHomeRun;
                }
                else if (BattingResultKindHelper.IsTwoBaseHit(result) ||
                         BattingResultKindHelper.IsThreeBaseHit(result))
                {
                    // 二塁打か三塁打
                    Player.ScoutEvaluation += EventConstants.AddEvaluationByLongHit;
                }
            }
            else
            {
                // スカウト評価の減算(マイナス値を加算)
                Player.ScoutEvaluation += EventConstants.AddEvaluationByFail;
            }
        }
Esempio n. 16
0
 /// <summary>
 /// 外野フライか
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsOutFielderFly(BattingResultKind result)
 {
     return result == BattingResultKind.RightFly || result == BattingResultKind.CenterFly || result == BattingResultKind.LeftFly;
 }
Esempio n. 17
0
        /// <summary>
        /// 投手結果に打席結果を追加
        /// </summary>
        /// <param name="result">打撃結果</param>
        /// <param name="addRunScore">その打席で追加された得点</param>
        public void AddPitchingResult(BattingResultKind result, int addRunScore)
        {
            // 失点の加算(現在は自責点という概念なし)
            PitchingResult.RunsAllowed += addRunScore;
            Player.PitchingResult.RunsAllowed += addRunScore;

            // 打席の結果がない(盗塁死か捕逸後の憤死)であれば、失点のみ加算して終了
            if (result == BattingResultKind.Invalid)
            {
                return;
            }

            // 被打数の加算(四死球も含む)
            if (BattingResultKindHelper.IsBatCount(result) || BattingResultKindHelper.IsFourBollOrDeadBoll(result))
            {
                PitchingResult.BatCount++;
                Player.PitchingResult.BatCount++;
            }

            // 安打数の加算
            if (BattingResultKindHelper.IsHit(result))
            {
                PitchingResult.HitCount++;
                Player.PitchingResult.HitCount++;
            }

            // 本塁打の加算
            if (BattingResultKindHelper.IsHomeRun(result))
            {
                PitchingResult.HomeRunCount++;
                Player.PitchingResult.HomeRunCount++;
            }

            // 四死球の加算
            if (BattingResultKindHelper.IsFourBollOrDeadBoll(result))
            {
                PitchingResult.FourBollOrDeadBollCount++;
                Player.PitchingResult.FourBollOrDeadBollCount++;
            }

            // 三振の加算
            if (result == BattingResultKind.StrikeOut)
            {
                PitchingResult.StrikeOutCount++;
                Player.PitchingResult.StrikeOutCount++;
            }

            // 防御率のプロパティ変更通知
            OnPropertyChanged("Player.PitchingResult.RunsAllowedAverage");

            // 失点によるスカウト評価の加算
            Player.ScoutEvaluation += addRunScore * EventConstants.AddEvaluationByRunsAllowed;
        }
Esempio n. 18
0
 /// <summary>
 /// 打席のカウント対象か
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public static bool IsBatCount(BattingResultKind result)
 {
     return result >= BattingResultKind.PitcherHit;
 }