package market;

import java.awt.Graphics;
import java.util.Random;
import java.util.Vector;

import javax.swing.JPanel;

public class MarketArea extends JPanel {
    int w, h;
    Vector<Market> markets;
    Vector<Salesman> salesmen;
    Random r;
    
    public MarketArea(int w, int h) {
	setSize(w,h);
	this.w=w;
	this.h=h;
	r=new Random();
	markets=new Vector<Market>();
	salesmen=new Vector<Salesman>();
	Market m1=new Market(0, h/2, 100,50);
	Market m2=new Market(300, h/4, 100,100);
	markets.add(m1);
	markets.add(m2);
	
	for(int i=0; i<50; i++){
	    salesmen.add(new Salesman(10, 
		r.nextBoolean(), 
		r.nextInt(w),
		r.nextInt(h),
		r.nextBoolean()?1:-1,
		r.nextBoolean()?1:-1,
		this));
	}
       for(Salesman s: salesmen)
	   new Thread(s).start();
    }
    
    Market getMarket(Salesman s){
	for(Market m:markets){
	    if(m.contains(s))
	    	return m;
	}
	return null;
    }
    
    @Override
    public void paint(Graphics arg0) {
        super.paint(arg0);
        for(Market m:markets)
            m.drawSelf(arg0);
        for(Salesman s:salesmen)
            s.drawSelf(arg0);
    }
}
