Професионална програма
Loading...
kaloyannikov avatar kaloyannikov 531 Точки

Не мога да я тествам в момента , но предполагам че е  защото когато махаш оръжие не правиш gem-a на съответния сокет null a махаш бонусите само. 

0
stela.iv avatar stela.iv 115 Точки

Тествах и двата варианта и все резултата е един. Първоначанло го правех null, след като пратих решението и въпросния тест не мина, пробвах да го оставя така и пак си е същото. То все пак, така или иначе ако попадна на същия сокет, ще го презапиша, а ако не попадна повече на него, май няма значение как ще го оставя. 

0
kaloyannikov avatar kaloyannikov 531 Точки

Пробвай да сложиш скоби където правиш add и remove ,някой път стават непредвидени резултати от това.

ако искаш виж и моето решение

0
27/07/2016 14:44:53
stela.iv avatar stela.iv 115 Точки

Ако имаш предвид методите addBonus и removeBonus и по-точно там, където сетвам min/maxDamage, пробвах току що да отделя умножението в скоби и пак резултата е същия :) 

0
kaloyannikov avatar kaloyannikov 531 Точки

Май разбрах къде ти е грешката пробвай да направиш 1 оръжие , да му напълниш сокетите ( на всеки сокет gem)  , и след това пак да сложиш нови gemove т.е само add команди.

Ти ако сложиш нов gem върху стария прилагаш нов бонус , а стария също остава. Затова е по-добре да нямаш полета за agility , strength и vitality , а динамично от масива с gemove да калкулираш stats-a и да добавяш бонуси (strength , agility) .

1
stela.iv avatar stela.iv 115 Точки

Мда, твоето решение е доста по-добре струкурирано, имаш отделни методи за калкулация на бонусите, но като цяло двата метода в комбинация, работят като моя.Поне аз не намирам разлика във функционалността.

0
kaloyannikov avatar kaloyannikov 531 Точки

Не че е грешно твоето , но трябва когато аддваш да проверяваш дали там има gem за да махнеш неговите бонуси и да сложиш новите (в твоя случай ) .

Всъщност можеш да преизползваш removeBonus метода ти за да го правиш.

1
27/07/2016 15:33:59
stela.iv avatar stela.iv 115 Точки

Точно това беше :) Още при първия тест само с add се счупи. И да сетих се, че вместо да преправям всичко, по-добрия вариант е да си преизползвам вече съществуващия метод. Много ти благодаря!

Успех!

1
stela.iv avatar stela.iv 115 Точки

Не мога да го направя Best Answer, защото е коментар, но имаш една бира от мен :D

1