Witam, proszę o przeanalizowanie poniższego kodu. Zależy mi głównie na czasie. Nie znam składni Javy, więc zależy mi na mniej-więcej dobrym wytłumaczeniu jak działa poniższy algorytm (np. poprzez odwołanie się na jakiś przykład z języka C++, a ten język znam na tyle, że raczej mógłbym się tam odnaleźć). Ten fragment to kawałek kodu bota discordowego, który ma za zadanie (w tym przypadku) postawić zakład za wirtualne pieniądze. Możliwe komendy to:
-gamble all // stawiamy wszystko
-gamble half // połowę
-gamble <liczba>
-gamble <procent>
Ważne dla mnie też jest, w jaki sposób odbywa się losowanie, czy trafimy czy nie. Wiem, że prawdopodobieństwo to 25%. // zaraz wstawię kod
case "all":
case "everything":
i = player.getMoney();
- multiplier = 1.4d + (r.nextInt(1500) / 1000d);
+ multiplier = 1.3d + (r.nextInt(1450) / 1000d);
luck = 21 + (int) (multiplier * 13) + r.nextInt(18);
break;
case "half":
@@ -249,7 +249,7 @@ public void call(GuildMessageReceivedEvent event, String content, String[] args)
break;
case "quarter":
i = player.getMoney() == 1 ? 1 : player.getMoney() / 4;
- multiplier = 1.1d + (r.nextInt(1100) / 1000d);
+ multiplier = 1.1d + (r.nextInt(1250) / 1000d);
luck = 18 + (int) (multiplier * 12) + r.nextInt(18);
break;
default:
@@ -275,7 +275,7 @@ public void call(GuildMessageReceivedEvent event, String content, String[] args)
User user = event.getAuthor();
long gains = (long) (i * multiplier);
- gains = Math.round(gains * 0.55);
+ gains = Math.round(gains * 0.45);
final int finalLuck = luck;
final long finalGains = gains;
Tutaj jest link do większego fragmentu: https://github.com/Mantaro/MantaroBot/commit/dde50e0b69eb7dcd7c2ebfa498a814e081e98856