package bingo.game;
import bingo.shared.*;
class BallAnnouncer extends Thread {
private RingMaster ringMaster;
BallAnnouncer(RingMaster ringMaster) {
super("Bingo Ball Announcer");
this.ringMaster = ringMaster;
}
public synchronized void run() {
BagOfBalls bagOfBalls = (BagOfBalls)(new RandomBag());
while (ringMaster.gameInProgress()) {
if (!ringMaster.isCheckingForWinner()) {
try {
ringMaster.announceBall(bagOfBalls.getNext());
} catch (NoMoreBallsException e) {
ringMaster.setGameOver();
}
}
try {
wait(ringMaster.getGameParameters().getDelay());
} catch (InterruptedException e) { }
}
}
}
|