На ваш комментарий звучит так, будто вы испытываете зависание, а не сбой.Когда программа зависает, вы должны искать места, где она может бесконечно "застрять".Главный подозреваемый в isPlayable
- ваш while
цикл.Пока любое из восьми логических значений истинно, оно никогда не завершится.
Я бы добавил запись в журнал, чтобы вы могли видеть, что происходит:
while(leads[0]||leads[1]||leads[2]||leads[3]||leads[4]
||leads[5]||leads[6]||leads[7]){
System.out.println("leads[0]: " + leads[0]);
System.out.println("leads[1]: " + leads[1]);
// etc.
int i = 2;
if(leads[0]) // 7 other directions are searched given that their marker is true.
this.searchN(x,y,i);
}
Как только вы убедились, что этопроблема, начните искать методы поиска, чтобы выяснить, почему это происходит.