Я делаю симулятор pacman в Java без интерфейса, использую только консольную печать, и во время печати я столкнулся с проблемой.Итак, у меня есть объект pacman с координатами x и y, у меня есть сетка со стенами и фруктами, которая является плиткой матрицы [] [].Пока я печатал только пакман и сетку, все было хорошо.Это toString (), который я использовал:
public String toString() {
String s = "";
for(int i=0;i<WIDTH;i++) {
for(int j=0;j<HEIGHT;j++) {
if(pacman.getX() == i && pacman.getY() == j) {
s = s + pacman;
}
else {
s = s+tile[i][j];
}
}
s=s+"\n";
}
return s;
}
это вывод:
####################
#<~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
####################
Теперь я создал список массивов призраков, и у меня возникают некоторые проблемы, когда я хочунапечатать призраков, пакмана и сетку.Я хочу, чтобы персонаж, представляющий призраков, был выше персонажа сетки, так же, как я делал с пакманом.Я просто не могу найти лучший способ напечатать призраков над плитками.Я использую цикл foreach следующим образом:
for(Ghost g : ghosts) {
if(g.getX() == i && g.getY() == j) {
s = s + g;
}
}
Обычно я получаю печать в консоли следующим образом:
####################
#<~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~3~~~~~2~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~1~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
#~~~~~~~~~~~~~~~~~~#
####################
Как это исправить?