Advertisement
eriasu

Simulacion

Apr 21st, 2014
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.65 KB | None | 0 0
  1. import controlP5.*;
  2.  
  3. ControlP5 cp5;
  4.  
  5.  
  6. class Persona {
  7.  
  8.  int edad;
  9.  int experiencia;
  10.  int educacionES;
  11.  int educacionFA;
  12.  int posicionx;
  13. int posiciony;
  14.  }
  15.  
  16.  
  17.  
  18. class Homosexual{
  19.  
  20.   int posicionx, posiciony;
  21.  
  22. }  
  23.  
  24.   String parametro;
  25.   String valor;
  26.   Persona Persona []=new Persona[20];
  27.   Homosexual Homosexual[]= new Homosexual[20];
  28.  
  29.   int cantidad=-1;
  30.   int menu= 0;
  31.   ListBox l;
  32.   int menuHOMO= 0;
  33.   int cantidadHOMO=0;
  34.   int encuentro = 0;
  35. void CreaPersona(){
  36.  
  37.   cantidad++;
  38.   Persona[cantidad]= new Persona();
  39.   Persona[cantidad].edad = 8 + (int)(Math.random()*75);
  40.   Persona[cantidad].experiencia =0 + (int)(Math.random()*100);
  41.   Persona[cantidad].educacionES=0 + (int)(Math.random()*100);
  42.   Persona[cantidad].educacionFA=0 + (int)(Math.random()*100);
  43.   Persona[cantidad].posicionx=20 + (int)(Math.random()*300);
  44.   Persona[cantidad].posiciony=20 + (int)(Math.random()*300);
  45.   menu++;
  46.  
  47. }
  48.  
  49. void CreaHomosexual(){
  50.    println("creando homo");
  51.  
  52.   Homosexual[cantidadHOMO]= new Homosexual();
  53.   Homosexual[cantidadHOMO].posicionx=20 + (int)(Math.random()*300);
  54.   Homosexual[cantidadHOMO].posiciony=20 + (int)(Math.random()*300);
  55.  
  56.   cantidadHOMO++;
  57.   menuHOMO++;
  58.  
  59. }
  60. void encuentro(){
  61. for(int i=0;i<cantidad;i++){
  62.   for(int e=0;e<cantidadHOMO;e++){
  63.   if(Persona[i].posicionx==Homosexual[e].posicionx || Persona[i].posiciony==Homosexual[e].posiciony||Persona[i].posicionx==Homosexual[e].posicionx || Persona[i].posiciony==Homosexual[e].posiciony ){
  64.     println("Encontre un Homosexual encuentro n°: "+encuentro);
  65.     encuentro++;
  66.   }
  67.  
  68. }
  69. }
  70. }
  71. void CambiodePosicion(){
  72.  
  73.   for(int i=0; i< menu; i++){
  74.  
  75.   Persona[i].posicionx=Persona[i].posicionx + (int)(Math.random()*25) - (int)(Math.random()*25 );
  76.   if(Persona[i].posicionx>300){
  77.     Persona[i].posicionx=300;}
  78.   if(Persona[i].posicionx<20){
  79.     Persona[i].posicionx=20;}  
  80.    
  81.     if(Persona[i].posiciony>300){
  82.     Persona[i].posiciony=300;}
  83.    
  84.   if(Persona[i].posiciony<20){
  85.     Persona[i].posiciony=20;}  
  86.    
  87.    
  88.   Persona[i].posiciony=Persona[i].posiciony + (int)(Math.random()*25) - (int)(Math.random()*25 );
  89.   if(Persona[i].posiciony>300){
  90.     Persona[i].posiciony=300;}
  91.    
  92.   if(Persona[i].posiciony<20){
  93.     Persona[i].posiciony=20;}  
  94.    
  95.   if(Persona[i].posicionx>300){
  96.     Persona[i].posicionx=300;}
  97.    
  98.   if(Persona[i].posicionx<20){
  99.     Persona[i].posicionx=20;}    
  100.   }
  101.    
  102.   }
  103.  
  104.  
  105.  
  106.  
  107. void setup() {
  108.   size(800, 600);
  109.   frameRate(60);
  110.  
  111.   PFont font = createFont("arial",20);
  112.  
  113.   cp5 = new ControlP5(this);
  114.  
  115.   cp5.addTextfield("edad")
  116.      .setPosition(680,80)
  117.      .setSize(50,20)
  118.      .setFont(font)
  119.      .setFocus(true)
  120.      .setColor(color(255,0,0))
  121.      ;
  122.      
  123.   cp5.addTextfield("experiencia")
  124.      .setPosition(680,130)
  125.      .setSize(50,20)
  126.      .setFont(font)
  127.      .setFocus(true)
  128.      .setColor(color(255,0,0))
  129.      ;
  130.      
  131.   cp5.addTextfield("educacionES")
  132.      .setPosition(680,180)
  133.      .setSize(50,20)
  134.      .setFont(font)
  135.      .setFocus(true)
  136.      .setColor(color(255,0,0))
  137.      ;
  138.                  
  139.    cp5.addTextfield("educacionFA")
  140.      .setPosition(680,230)
  141.      .setSize(50,20)
  142.      .setFont(font)
  143.      .setFocus(true)
  144.      .setColor(color(255,0,0))
  145.      ;
  146.  
  147.  
  148.  
  149.          
  150.  
  151.  
  152.  
  153.   ControlP5.printPublicMethodsFor(ListBox.class);
  154.  
  155.  
  156.   l = cp5.addListBox("myList")
  157.          .setPosition(530, 300)
  158.          .setSize(150, 120)
  159.          .setItemHeight(15)
  160.          .setBarHeight(15)
  161.          .setColorBackground(color(0,0,255))
  162.          .setColorActive(color(0,0,0))
  163.          .setColorForeground(color(255, 0,0))
  164.          ;
  165.  
  166.   l.captionLabel().toUpperCase(true);
  167.   l.captionLabel().set("Cantidad de Personas Simulacion");
  168.   l.captionLabel().setColor(255);
  169.   l.captionLabel().style().marginTop = 3;
  170.   l.valueLabel().style().marginTop = 3;
  171.  
  172.   for (int i=0;i<menu;i++) {
  173.     print(menu);
  174.     ListBoxItem lbi = l.addItem("Persona "+1, i);
  175.     lbi.setColorBackground(color(0,0,255));
  176.   }
  177.  
  178.  
  179.   cp5.addButton("Agrega Persona")
  180.      .setValue(0)
  181.      .setPosition(700,300)
  182.      .setSize(75,15)
  183.      ;
  184.      
  185.   cp5.addButton("Agrega Homosexual")
  186.      .setValue(0)
  187.      .setPosition(700,330)
  188.      .setSize(75,15)
  189.      ;  
  190.      
  191.  
  192.  
  193.      
  194.  
  195. }
  196.  
  197.  
  198. void draw( ) {
  199.  
  200.  
  201.  fill(255);
  202.  rect(520,10, 265,475);
  203.  rect(10,500, 775,90);
  204.  rect(10,10, 490,475);  
  205.  
  206.  fill(0,0,0);
  207.  textSize(18);
  208.  text("Parametros", 620,30,500,500);
  209.  
  210.  textSize(14);
  211.  text("Edad", 530,80,500,500);
  212.  text("Experiencia", 530,130,500,500);
  213.  text("Educacion Escolar", 530,180,500,500);
  214.  text("Educacion Familiar", 530,230,500,500);  
  215.  
  216.  text(Float.toString(Persona[cantidad].edad), 740,80, 200,200);
  217.  text(Float.toString(Persona[cantidad].experiencia), 740,130, 200,200);
  218.  text(Float.toString(Persona[cantidad].educacionES), 740,180, 200,200);
  219.  text(Float.toString(Persona[cantidad].educacionFA), 740,230, 200,200);
  220.  
  221.  
  222.  for(int i=0; i< menu; i++){  
  223.  
  224.  if(i==cantidad){
  225.  fill(255,255,20);  
  226.  ellipse(Persona[i].posicionx, Persona[i].posiciony, 15, 15);}
  227.  fill(0);  
  228.  ellipse(Persona[i].posicionx, Persona[i].posiciony, 10, 10);
  229.  }
  230.  
  231. for(int i=0; i< menuHOMO; i++){  
  232.  
  233.  fill(255,105,180);
  234.  
  235. ellipse(Homosexual[i].posicionx, Homosexual[i].posiciony, 15, 15);
  236.   fill(0);  
  237.  
  238. }
  239.  
  240.  
  241.  text(("Se ha cambiado "+parametro+" de la Persona"+(menu+1)+" a: "+valor), 50,500,500,100);  
  242.  
  243. CambiodePosicion();
  244. encuentro();  
  245. }
  246.  
  247.  
  248. public void clear() {
  249.   cp5.get(Textfield.class,"textValue").clear();
  250. }
  251.  
  252.  
  253.  
  254.  
  255. void controlEvent(ControlEvent theEvent) {
  256.  
  257.    if(theEvent.isGroup() && theEvent.name().equals("myList")){
  258.     int test = (int)theEvent.group().value();
  259.    
  260.    
  261.     cantidad=(int)test-1;
  262.    
  263.    }
  264.    
  265.   if((theEvent.getController().getName()) =="Agrega Persona"){
  266.    
  267.    CreaPersona();
  268.    ListBoxItem lbi = l.addItem("Persona "+menu, menu);
  269.    println("Agregando Persona");
  270.    
  271.  }
  272.  
  273.  
  274.  if((theEvent.getController().getName()) =="Agrega Homosexual"){
  275.    
  276.    CreaHomosexual();
  277.    println("AgregandoHomosexual");
  278.    
  279.  }
  280.  
  281.   if(theEvent.isAssignableFrom(Textfield.class)) {
  282.    
  283.     parametro = theEvent.getName();
  284.     println(parametro);
  285.     valor = theEvent.getStringValue();
  286.     println(valor);
  287.    
  288.     if(parametro=="edad"){
  289.      
  290.     Persona[cantidad].edad = int(valor);
  291.     print("1");
  292.   }
  293.  
  294.   if(parametro=="experiencia"){
  295.      
  296.     Persona[cantidad].experiencia = int(valor);
  297.   }
  298.  
  299.   if(parametro=="educacionES"){
  300.      
  301.     Persona[cantidad].educacionES = int(valor);
  302.   }
  303.  
  304.   if(parametro=="educacionFA"){
  305.      
  306.     Persona[cantidad].educacionFA = int(valor);
  307.   }
  308.    
  309.    
  310.          
  311.   }
  312.  
  313.  
  314.  
  315.  
  316.  
  317. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement