public class Server {
    
    int size = -1; 
    
    Client[] clients = new Client[100]; 
    
    Penguin[] players = new Penguin[100];
    
    public int register(Client there) {
	
	int i = ++size; 
	clients[i] = there; 
	System.out.println("Client " + i + " has registered."); 
	
	return i; 
	
    }
    
    public void broadcast(int id, 
			  int x, int y, // actual location (pixels) 
			  String action) {
	
	System.out.println("Client " + id + " is broadcasting."); 
	
	if (players[id] == null) {
	    
	    players[id] = new Penguin(x, y, 30, 30, "(server, " + id + ")"); 
	    
	    for (int i = 0; i <= size; i++) {
		for (int j = 0; j <= size; j++) {
		    clients[i].update(j, players[j].x, players[j].y, action); 
		}
	    }
	    
	} else { 
	    
            // players[id].moveTo(x, y); 
	    
	    for (int i = 0; i <= size; i++) {
		
		clients[i].update(id, x, y, action); 
		
	    }
	    
	}
	
    }
}

