Софтуерно Инженерство
Loading...
PetarIliev1 avatar PetarIliev1 59 Точки

Твоето решение поправено : 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

0
gpandev85 avatar gpandev85 0 Точки

Благодаря

0