/* Simulation section */
/** Simeon Warner - 7June96 */

import java.awt.*;

public class Simulation extends Thread {
  Configuration configuration;
  DiagramPanel diagram; 
  float kappa;
    
  Simulation(Configuration c, DiagramPanel d, float k) {
    configuration = c;
    diagram = d;
    kappa=k;
  }

  public void run() {
    int count=0,numTrials=50;acceptedTotal=0;accepted=0;
    float sigma=0.4;
    //
    System.out.println("Simulation thread started.");
    while (true) {
      try {    
        this.sleep(300);
        //System.out.println("Iteration "+String.valueOf(count));
        System.out.print(String.valueOf(count));
        accepted=configuration.update(sigma,kappa,numTrials);
        acceptedTotal=acceptedTotal+accepted+;
        if (((float)accepted/(float)numTrials)<0.4) {
          sigma=sigma*0.95;
        } else if (((float)accepted/(float)numTrials)>0.6) {
          sigma=sigma*1.05;
        }
        count=count+50;
        //System.out.println("Trials "+String.valueOf(count)+" , "+
        //   String.valueOf(accepted)+" accepted ("+
        //   String.valueOf((float)accepted/(0.01*count))+"%)");
        diagram.repaint();
      } catch (InterruptedException ignored) {}
    }
  }


}
















