package concurrency.golf;

import java.awt.*;

class PlayerArrival extends Panel {

    GolfClub gc;
    private String names = "abcdefghijklnopqrstuvxyz";
    private int nextname = 0;

    Button p[];

    PlayerArrival(GolfClub g, int n) {
        super();
        gc=g;
        p = new Button[n];
        for(int i=0; i<p.length; i++) {
            p[i] = new Button("new Player("+(i+1)+")");
            add(p[i]);
        }
    }

    public boolean handleEvent(Event event) {
        if (event.id != event.ACTION_EVENT) {
            return super.handleEvent(event);
        } else {
            for (int i=0; i<p.length; i++)
                if (event.target==p[i]) {
                    Thread t = new Player(gc,i+1,names.substring(nextname,nextname+1));
                    t.start();
                    nextname = (nextname+1)%names.length();
                    return true;
                }
        }
        return super.handleEvent(event);
    }

}
