/** * Метод, объединящий движение героев игры. * * <p>Для движения привидений используется метод Move(), а для движения Пакмана move() или * demoMove, в зависимости от режима игры, т.е. значения переменной demo. * * @throws FileNotFoundException * @throws InterruptedException */ public void move() throws FileNotFoundException, InterruptedException { if (!demo && !replay) { // обычный режим игры if (!pause) { pacman.setDemo(false); pacman.setReplay(false); for (int i = 0; i < ghostNum; i++) ghost[i].Move(); pacman.move(); repaint(); } } else if (demo) { // автоматический режим pacman.setDemo(true); for (int i = 0; i < ghostNum; i++) ghost[i].Move(); pacman.demoMove(); repaint(); } else if (replay) { // повтор игры pacman.setReplay(true); for (int i = 0; i < ghostNum; i++) ghost[i].notationMove(); // ghost[i].Move(); pacman.notationMove(); if (pacman.collision()) { pacman.lives--; continueLevel(); } repaint(); } }