Ejemplo n.º 1
0
 /**
  * Метод продолжения уровня после столкновения Пакмана с привидением.
  *
  * <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;
   }
 }
Ejemplo n.º 2
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;
    }
  }