/** * Метод продолжения уровня после столкновения Пакмана с привидением. * * <p>Герои устанавливаются в свои исходные координаты. * * <p>Если количество жизней Пакмана равно 0, то вызывается вывод окна о проигрыше. */ public void continueLevel() { if (pacman.lives == 0) { if (replay) { score += 1; } repaint(); finish = true; gameOver(); // окно "Конец игры" } // восстанавливаем начальное положение pacman.x = 25; // пакмана и привидений pacman.y = 25; pacman.dx = 0; pacman.dy = 0; for (int i = 0; i < ghostNum; i++) { ghost[i].x = 325; ghost[i].y = 350; ghost[i].dx = 0; ghost[i].dy = 0; } }
/** * Метод обновления (восстановления) карты. * * <p>Матрица перезаписывается начальными значениями, герои устанавливаются в свои исходные * координаты. */ public void refresh() { for (int i = 0; i < 25; i++) for (int j = 0; j < 26; j++) { grid[i][j] = grid2[i][j]; // восстанавливаем карту } // finish = false; pacman.lives = 3; // задаём начальные значения score = 0; // жизней, очков, координат pacman.x = 25; pacman.y = 25; pacman.dx = 0; pacman.dy = 0; for (int i = 0; i < ghostNum; i++) { ghost[i].x = 325; ghost[i].y = 350; ghost[i].dx = 0; ghost[i].dy = 0; } }