Exemplo n.º 1
0
  /** Основной цикл программы. Тут происходят все важные действия */
  public void run() throws Exception {
    // Создаем холст для отрисовки.
    Canvas canvas = new Canvas(width, height);

    // Создаем объект "наблюдатель за клавиатурой" и стартуем его.
    KeyboardObserver keyboardObserver = new KeyboardObserver();
    keyboardObserver.start();

    // Исполняем цикл, пока игра не окончека
    while (!isGameOver) {
      // "наблюдатель" содержит события о нажатии клавиш?
      if (keyboardObserver.hasKeyEvents()) {
        KeyEvent event = keyboardObserver.getEventFromTop();

        // Если "стрелка влево" - сдвинуть фигурку влево
        if (event.getKeyCode() == KeyEvent.VK_LEFT) stand.moveLeft();
        // Если "стрелка вправо" - сдвинуть фигурку вправо
        else if (event.getKeyCode() == KeyEvent.VK_RIGHT) stand.moveRight();
        // Если "пробел" - запускаем шарик
        else if (event.getKeyCode() == KeyEvent.VK_SPACE) ball.start();
      }

      // двигаем все объекты
      move();

      // проверяем столкновения
      checkBricksBump();
      checkStandBump();

      // проверяем, что шарик мог улететь через дно.
      checkEndGame();

      // отрисовываем все объекты
      canvas.clear();
      draw(canvas);
      canvas.print();

      // пауза
      Thread.sleep(300);
    }

    // Выводим сообщение "Game Over"
    System.out.println("Game Over!");
  }
Exemplo n.º 2
0
 public void run() {
   // Le client attend son horraire d'arrivé pour entrer dans le cinema
   try {
     Thread.sleep(horraireArrive);
   } catch (InterruptedException e) {
   }
   // Le client se rend a la billeterie
   billeterie.arriverBilleterieGuichet(this);
   billeterie.attendreGuichet(this);
   // Si il a une seance
   if (seance != null) {
     System.out.println(
         Thread.currentThread().getName()
             + ": achéte un ticket pour "
             + seance.getFilme().getNom()
             + " seance : "
             + seance.getIdent()
             + " Salle : "
             + seance.getSalle().getIdent()
             + " Il reste : "
             + seance.getNombreTicketDispo());
     // Le client va t'il au stand de pop corne?
     if ((Math.random() * 100) < chance_popCorn) {
       // Entre dans le stand de pop corne et fais la queue
       stand.arriverStand(this);
       // On lui donne son pop-corne
       stand.attendreStand(this);
     }
     // Il veut entrer dans la salle
     seance.getSalle().entrer(seance);
     // Le client sort quand la salle ferme
     seance.getSalle().sortir();
   }
   // cas ou le client n'a pas eu de seance
   else {
     System.out.println(Thread.currentThread().getName() + ": rentre chez lui penaud");
   }
 }