Problem z klasą random

0

Witam. Miałem nadzieję ,że sam rozwiążę ten problem ale po 3 dniach muszę prosić o pomoc.
Link do githuba https://github.com/kolkamil/gra-tekstowa
W klasie Game jest metoda fight(). W linijkach gdzie są metody p.setPlayerAttack(generator.nextInt(10)); i taka sama metoda poniżej dla obiektów Monster chciałbym podmienić zakres losowych liczb na p.setPlayerAttack(generator.nextInt(p.getPlayerAttack())); lecz wyskakuje wyjątek:
Exception in thread "main" java.lang.IllegalArgumentException: bound must be positive. Próbowałem to jakoś obsłużyć, ale nie potrafię. Proszę o radę, jak i o konstruktywną ocenę mojego kodu.

2

Debuger, pora się nauczyć

Ja bym nie bał się dać zmienne lokalne, np dla p.getPlayerAttack() niech beguggerem to się błyskawicznie oglądało.

Szklana kula sugeruje, że jest np zero, które też nie jest dodatnie

0

Inty przyjmują również ujemne wartości :) musisz generować tylko dodatnie, ew. brać moduł

0

Udało się rozwiązać problem. Debugger świetna sprawa, serdeczne dzięki! Zdałem sobie sprawę, że za każdym razem gdy ta "randomowa wartość" jest zmniejszana to zmniejsza się również bound, aż do momentu gdy albo wywalało wyjątek albo "losowało" wartość zero i pętla się nie skończyła. Sprawdźcie co sądzicie o tym rozwiązaniu, wrzuciłem na github'a. Dzięki za odpowiedzi, dodatkowo jeszcze pytanie: co to właściwie znaczy "brać moduł"?

1 użytkowników online, w tym zalogowanych: 0, gości: 1