import sk.uniba.fmph.pocprak.simplegraphics.*;
import sk.uniba.fmph.pocprak.ioutils.*;
import java.util.Random;
import sk.uniba.fmph.pocprak.genutils.wait;

public class Model2 {

  public static void main(String[] args) {

    int n=100;  //celkovy pocet oscilatorov
    
    Random r = new Random(12345);
    
    Oscilator[] o = new Oscilator[n]; //pole oscilatorov, zatial prazdne
    Killer.createKiller();

    for(int io=0;io<n;io++){

    // Tu napiste usek programu, ktory naplni pole  100 oscilatromi, ktorych pociatocne
    // satvy su nahodne rovnomerne rozdelene v oblasti 0.27<x<0.33, -0.02<p<0.0.02
    
      
    }
    wait.calibrate();	//calibrate the wait methods for the particular computer
    W.t=0; //pociatocny globalny cas vynulovany;
    Kreslic krxp=new Kreslic(new GrAxisX(-0.5,0.5,0.),new GrAxisY(-0.5,0.5,0.));
    krxp.nakresliOsi();

    double deltat=0.00001;
    for(int io=0;io<n;io++)
         krxp.gr.drawPoint(o[io].x,o[io].p);
    
    for (int i=0;i<10000;i++){
    for (int j = 0;j<500;j++){
      for(int io=0;io<n;io++)o[io].makeStep(deltat);
      W.t = W.t + deltat;
    }
    wait.milis(50); //wait to make the graphics presentation acceptable
    krxp.gr.clearImage();

    for(int io=0;io<n;io++)krxp.gr.drawPoint(o[io].x,o[io].p);

    krxp.repaintall();
    }

  }
}
