/** Основной цикл программы. Тут происходят все важные действия */ 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!"); }
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"); } }