public double ExecutePunch(Fighter user, Fighter target, Punch punch) { Random rnd = new Random(); int randomNumber = rnd.Next(1, 100); if (randomNumber <= (punch.GetAccuracy() + user.GetAccuracy() - (target.GetSpeed() * 0.5))) { double damage = 0; if (randomNumber <= user.GetLuck()) { damage = 2 * (user.GetAttack() * punch.GetMultiplier()); } else { damage = user.GetAttack() * punch.GetMultiplier(); } target.SetHp(target.GetHp() - (damage * target.GetDefense())); return(damage * target.GetDefense()); } else { return(999); } }