diff --git a/Mage.Client/src/main/java/mage/client/util/audio/MusicPlayer.java b/Mage.Client/src/main/java/mage/client/util/audio/MusicPlayer.java index cd1613bbcaf..83b73777dc6 100644 --- a/Mage.Client/src/main/java/mage/client/util/audio/MusicPlayer.java +++ b/Mage.Client/src/main/java/mage/client/util/audio/MusicPlayer.java @@ -7,6 +7,7 @@ import java.util.concurrent.TimeUnit; import javax.sound.sampled.*; import mage.client.constants.Constants; import mage.client.dialog.PreferencesDialog; +import mage.util.RandomUtil; import org.apache.log4j.Logger; /** @@ -127,7 +128,7 @@ public class MusicPlayer { } catch (Exception e) { } while (!stopped) { - int it = (int) Math.abs(Math.random() * (filelist.getItemCount())); + int it = (int) Math.abs(RandomUtil.nextDouble() * (filelist.getItemCount())); File file = new File(filepath + filelist.getItem(it)); load(file); Thread PlayThread = new Thread(new PlayThread()); diff --git a/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java b/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java index 7d12660d5a9..9869605f649 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java +++ b/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java @@ -11,6 +11,7 @@ import mage.client.dialog.PreferencesDialog; import mage.components.ImagePanel; import mage.components.ImagePanelStyle; import mage.interfaces.plugin.ThemePlugin; +import mage.util.RandomUtil; import net.xeoh.plugins.base.annotations.PluginImplementation; import net.xeoh.plugins.base.annotations.events.PluginLoaded; import net.xeoh.plugins.base.annotations.meta.Author; @@ -111,7 +112,7 @@ public class ThemePluginImpl implements ThemePlugin { private BufferedImage loadbuffer_random() throws IOException { BufferedImage res; if (loadimages()) { - int it = (int) Math.abs(Math.random() * (flist.getItemCount())); + int it = (int) Math.abs(RandomUtil.nextDouble() * (flist.getItemCount())); String filename = BackgroundDir + flist.getItem(it); res = ImageIO.read(new File(filename)); return res; diff --git a/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java b/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java index 463a6cce7c9..11e5c83e8ee 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java +++ b/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java @@ -17,9 +17,9 @@ import mage.abilities.common.PassAbility; import mage.cards.Card; import mage.game.Game; import mage.game.combat.Combat; -import mage.game.combat.CombatGroup; import mage.game.turn.Step.StepPart; import mage.players.Player; +import mage.util.RandomUtil; import org.apache.log4j.Logger; /** @@ -113,7 +113,7 @@ public class MCTSNode { uct = ((node.visits - node.wins) / (node.visits)) + (selectionCoefficient * Math.sqrt(Math.log(visits) / (node.visits))); else // ensure that a random unvisited node is played first - uct = 10000 + 1000 * Math.random(); + uct = 10000 + 1000 * RandomUtil.nextDouble(); if (uct > bestValue) { bestChild = node; bestValue = uct; diff --git a/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java b/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java index 13a8ae74750..61b836d2f1a 100644 --- a/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java +++ b/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java @@ -16,6 +16,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetOpponent; +import mage.util.RandomUtil; /** * @author noxx @@ -70,7 +71,7 @@ class TyrantOfDiscordEffect extends OneShotEffect { while (!stop) { int count = game.getBattlefield().countAll(new FilterPermanent(), opponent.getId(), game); if (count > 0) { - int random = (int)(Math.random()*count); + int random = (int)(RandomUtil.nextDouble() * count); int index = 0; for (Permanent permanent : game.getBattlefield().getAllActivePermanents(opponent.getId())) { if (index == random) {