[C#] Inferno Infinity
Здравейте,
Имам известни проблеми с тази задача и по - точно с тестовере в Judge. От всичките ми минава само първия и не разбирам защо не минават и останалите. И един въпрос относно END. В условието пише "Upon receiving the END command print the weapons in order of their appearance in the format provided below."
Ако няма Print на всеки Weapon, трябва ли да ги принтя, понеже, ако ги изпринтя нищо не минава в Judge. Има го и момента, че изчислявам stats за всеки Weapon, докато го създавам - имам клас за всяко оръжие - Common Axe, Rare Axe, Common Knife, Epic Knife, etc
Поздрави,
Иван
След като получа новия MinDamage от Strength-а, го умножавам по Rarity (12 (minDamage) + (2 strength * 2) = 16 * Rare = 48 :)
Разбрах от къде ми идва грешката :)
Мерси за помощта!
Поздрави,
Иван
Здрасти Мурка.
Видях една хурка и искам да я споделя с теб :)
(това в кръга на шегата не се обиждай :) )
В Main ти инциализираш инвенторито си но си го експознал на всички.
Този код е напълно валиден!
IInventory inventory = new Inventory();
inventory.Weapons.Clear();
Видях че в интерфейса си оставил само get; , но това продължава да ти дава пълен достъп до списъка ти.
Поздрави
Стефан
Между другото имах и такъв коментар на изпита, че листа ми остава експоузнат и все се каня да питам за това и все забравям...
Как всъщност се прави това?
Един вариант е да го направиш IReadOnlyList<T>:
Друг вариант е да копираш листа в нов такъв:
Това първото е много яко но ми казаха че може да се кастне и полсе стигаш до същата ситуация:
var test = (List<Weapon>)weapons.Weapons;
test.Clear();
Второто с копирането би работило , но в ситуация с огромна база данни копирането би заело много памет и performance.
В тази конкретна задача аз съм си направил списъка private и съм експознал само методите/командите , които са ми дали в условието .
Честно казано и аз се чудя за по добър метод да се скрие базата данни.