| class Skjald extends Thread{
private String[] strofer;
int forsinkelse; // pause efter et vers
int gentagelser; // hvor mange gange synger jeg verset
int mig; // mit nummer
Dirigent coordinator; // reference til dirigenten
public Skjald(int mig, Dirigent coordinator, String[] strofer,
int forsinkelse, int gentagelser){
super();
this.mig = mig;
this.coordinator = coordinator;
this.strofer = strofer;
this.forsinkelse = forsinkelse;
this.gentagelser = gentagelser;
}
// udskriver ét vers ad gangen:
private void syngVers(){
coordinator.tagScenen(mig);
StringBuffer str = new StringBuffer(100);
for(int i = 0; i < strofer.length; i++){
str.append(strofer[i] + "\n");
}
System.out.println(str.toString());
try{
if (forsinkelse > 0) Thread.sleep(forsinkelse);
}
catch (InterruptedException e)
{};
coordinator.frigivScenen();
}
public void run(){
for(int g = 1; g <= gentagelser; g++){
syngVers();
}
// jeg burde måske her give den anden lov til at synge færdig
}
} // end class Skjald |