2.Sneaking - Java Advanced - Sample Exam
Някои ако може да помогне къде бъркам с кода.
3 нулеви теста минават и до там.
https://pastebin.com/Dc9t4DpS - това ми е решението.
https://judge.softuni.bg/Contests/Practice/Index/1563#1 - това е задачата
Някои ако може да помогне къде бъркам с кода.
3 нулеви теста минават и до там.
https://pastebin.com/Dc9t4DpS - това ми е решението.
https://judge.softuni.bg/Contests/Practice/Index/1563#1 - това е задачата
Твоето решение поправено : https://pastebin.com/3vW302HV
Главно грешките ти бяха във индексацията при Up,Down,Left,Right всяка една от командите имаха case във които излизаха от масива или започваше от грешен индекс.При Up командата започваше от 1-ви индекс ( for (int r = 1; r < matrix.length; r++) )
Излизаше от масивa когато примерно при команда ( R ) Sam е на позиция matrix.length-1 и ти му казваш да се премести със един индекс напред което свежда до рънтайм ерор.
Във метода ти за movementOfEnemies() необхождаже последният индекс на колоните - for (int c = 0; c < matrix[r].length - 1; c++)
Правилно - for (int c = 0; c < matrix[r].length ; c++) .
Също така във същият метод имаше два if-a първият за enemy тип (b) който ако е на последен индекс става ( d ) след което влиза във другият if който ти е за ( d ) но ние все още сме на същият ред и колана и ще премести елемента със един индекс наляво.
Като цяло имаш проверки които могат да бъдат избегнати сложил съм малко коментари на твоето решение и ти пращам едно мое.
https://pastebin.com/cHwmwXfR
Благодаря