aveenger17

calle.java

Feb 15th, 2013
538
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.34 KB | None | 0 0
  1. import java.util.Calendar;
  2. import java.util.Random;
  3.  
  4. public class calle {
  5.     public int A,B,C,D,n,trAB,trCD,hora,trafico=0; //Variables a utilizar
  6.     boolean AB=true,CD=false,cic=true; //Variables AB: Encienden los semaforos de la calle A y B , CD: Encienden los senaforos de la calle C y D
  7.     Thread tiempo; //Hilo
  8.     generatrafico gen = new generatrafico(); //Se manda llamar a la clase generatrafico
  9.     Calendar cal =Calendar.getInstance();
  10.    
  11.     calle(){
  12.             //Obtienen los valores aleatorios del trafico en las calles
  13.             A = gen.getA();
  14.             B = gen.getB();
  15.             C = gen.getC();
  16.             D = gen.getD();
  17.             //Obtenemos la hora del dia
  18.             hora = cal.get(Calendar.HOUR_OF_DAY);
  19.  
  20.            
  21.             System.out.print("Trafico en la calle A = "+A+"\n");
  22.             System.out.print("Trafico en la calle B = "+B+"\n");
  23.             System.out.print("Trafico en la calle C = "+C+"\n");
  24.             System.out.print("Trafico en la calle D = "+D+ "\n");
  25.            
  26.         do{ //do para entrar en un bucle infinito
  27.            
  28.         if(hora == 15 || hora == 16 || hora == 17) { //Dependiendo del valor de la variable hora, habra mucho o poco trafico en las calles
  29.    
  30.     //Semaforos A y B
  31.    
  32.         if(AB == true){
  33.             System.out.print("\n== Se encienden los semaforos A y B == \n");
  34.             System.out.print("== Se apagan los semaforos C y D == \n");
  35.             trAB = A+B; //Suma los traficos de las calles A y B
  36.             trCD = C+D; //Suma los traficos de las calles C y D
  37.             Random tr2 = new Random(); //Nuevo random
  38.             if(trAB > trCD){ //Si el trafico de las calles A y B mayores que C y D, se da un tiempo de 8 segundos para que pasen los autos
  39.             try{
  40.                 for(n=1;n<9;n++){
  41.                     A= A-1; //Se elimina un auto cada segundo
  42.                     B= B-1;
  43.                     if (A <= 0){ //Si el numero de autos en la calle A es menor o igual a 0, se genera un nuevo numero de trafico de manera aleatoria
  44.                        
  45.                         A = 1 + (tr2.nextInt(3));
  46.                     }
  47.                    
  48.                     if(B <= 0){
  49.                         B = 1 + (tr2.nextInt(3));
  50.                     }
  51.                     C= C+1;//Se suma un nuevo carro a la calle C
  52.                     D= D+1;
  53.                     Thread.sleep(1000);
  54.                     System.out.print(", "+n); //Imprime los segundos
  55.                 }
  56.             }//Fin del try
  57.            
  58.             catch (InterruptedException e) {
  59.                 System.out.println(e.getMessage());
  60.                 }
  61.            
  62.             System.out.print("\nTrafico en la calle A = "+A+"\n");
  63.             System.out.print("Trafico en la calle B = "+B+"\n");
  64.             System.out.print("Trafico en la calle C = "+C+"\n");
  65.             System.out.print("Trafico en la calle D = "+D+"\n");
  66.             }
  67.            
  68.             if(trAB < trCD){//Si el trafico de las calles A y B menores que C y D, se da un tiempo de 5 segundos para que pasen los autos
  69.                 try{
  70.                     for(n=1;n<6;n++){
  71.                         A= A-1;
  72.                         B= B-1;
  73.                         if (A <= 0){
  74.                            
  75.                             A = 1 + (tr2.nextInt(3));
  76.                         }//Fin del if
  77.                        
  78.                         if(B <= 0){
  79.                             B = 1 + (tr2.nextInt(3));
  80.                         }//Fin del if
  81.                         C= C+1;
  82.                         D= D+1;
  83.                         Thread.sleep(1000);
  84.                     System.out.print(", "+n);  
  85.                     }//Fin del for
  86.                 }//Fin del try
  87.                
  88.                 catch (InterruptedException e) {
  89.                     System.out.println(e.getMessage());
  90.                     }//Fin del catch
  91.                
  92.                 System.out.print("\nTrafico en la calle A = "+A+"\n");
  93.                 System.out.print("Trafico en la calle B = "+B+"\n");
  94.                 System.out.print("Trafico en la calle C = "+C+"\n");
  95.                 System.out.print("Trafico en la calle D = "+D+"\n");
  96.                 }//Fin del if
  97.             AB=false; //Se apagan los semaforos A y B
  98.             CD=true;//Se encienden los semaforos C y D
  99.             hora = cal.get(Calendar.HOUR_OF_DAY); //Se obtiene de nuevo la hora, para asegurar si hay una transicion de horas, por ejemplo de 5 p.m. a 6 p.m.
  100.         }//fin del super If
  101.        
  102.         //Semaforos C y D
  103.    
  104.         if(CD == true){
  105.             System.out.print("\n== Se encienden los semaforos C y D ==\n");
  106.             System.out.print("== Se apagan los semaforos A y B == \n");
  107.             trAB = A+B;
  108.             trCD = C+D;
  109.             Random tr2 = new Random();
  110.             if(trCD > trAB){ //Si el trafico de las calles C y D mayores que A y B, se da un tiempo de 8 segundos para que pasen los autos
  111.             try{
  112.                 for(n=1;n<9;n++){
  113.                     A= A+1;
  114.                     B= B+1;
  115.                     C= C-1;
  116.                     D= D-1;
  117.                     if (C <= 0){
  118.                        
  119.                         C = 1 + (tr2.nextInt(3));
  120.                     }
  121.                    
  122.                     if(D <= 0){
  123.                         D = 1 + (tr2.nextInt(3));
  124.                     }
  125.                    
  126.                     Thread.sleep(1000);
  127.                     System.out.print(", "+n);
  128.                 }
  129.             }//Fin del try
  130.            
  131.             catch (InterruptedException e) {
  132.                 System.out.println(e.getMessage());
  133.                 }
  134.            
  135.             System.out.print("\nTrafico en la calle A = "+A+"\n");
  136.             System.out.print("Trafico en la calle B = "+B+"\n");
  137.             System.out.print("Trafico en la calle C = "+C+"\n");
  138.             System.out.print("Trafico en la calle D = "+D+"\n");
  139.             }
  140.            
  141.             if(trCD < trAB){//Si el trafico de las calles C y D menores que A y B, se da un tiempo de 5 segundos para que pasen los autos
  142.                 try{
  143.                     for(n=1;n<6;n++){
  144.                         A= A+1;
  145.                         B= B+1;
  146.                         C= C-1;
  147.                         D= D-1;
  148.                         if (C <= 0){
  149.                            
  150.                             C = 1 + (tr2.nextInt(3));
  151.                         }//Fin del if
  152.                        
  153.                         if(D <= 0){
  154.                             D = 1 + (tr2.nextInt(3));
  155.                         }//Fin del if
  156.                        
  157.                         Thread.sleep(1000);
  158.                     System.out.print(", "+n);  
  159.                     }//Fin del for
  160.                 }//Fin del try
  161.                
  162.                 catch (InterruptedException e) {
  163.                     System.out.println(e.getMessage());
  164.                     }//Fin del catch
  165.                
  166.                 System.out.print("\nTrafico en la calle A = "+A+"\n");
  167.                 System.out.print("Trafico en la calle B = "+B+"\n");
  168.                 System.out.print("Trafico en la calle C = "+C+"\n");
  169.                 System.out.print("Trafico en la calle D = "+D+"\n");
  170.                 }//Fin del if
  171.                 AB=true; //Se encienden los semaforos A y B
  172.                 CD=false;//Se apagan los semaforos C y D
  173.                 hora = cal.get(Calendar.HOUR_OF_DAY);
  174.         }//fin del super If
  175.     }// Fin del if de horas
  176.        
  177.         //De las 6,7,8,9 de la tarde/noche
  178.  
  179.         if(hora==18 || hora==19 || hora == 20 || hora == 21){
  180.             //Semaforos A y B
  181.            
  182.             if(AB == true){
  183.                 System.out.print("\n== Se encienden los semaforos A y B == \n");
  184.                 System.out.print("== Se apagan los semaforos C y D == \n");
  185.                 trAB = A+B;
  186.                 trCD = C+D;
  187.                 Random tr2 = new Random();
  188.                 if(trAB > trCD){
  189.                 try{
  190.                     for(n=1;n<15;n++){
  191.                         A= A-2;
  192.                         B= B-2;
  193.                         if (A <= 0){
  194.                            
  195.                             A = 1 + (tr2.nextInt(6));
  196.                         }
  197.                        
  198.                         if(B <= 0){
  199.                             B = 1 + (tr2.nextInt(6));
  200.                         }
  201.                         C= C+1;
  202.                         D= D+1;
  203.                         Thread.sleep(1000);
  204.                         System.out.print(", "+n);
  205.                     }
  206.                 }//Fin del try
  207.                
  208.                 catch (InterruptedException e) {
  209.                     System.out.println(e.getMessage());
  210.                     }
  211.                
  212.                 System.out.print("\nTrafico en la calle A = "+A+"\n");
  213.                 System.out.print("Trafico en la calle B = "+B+"\n");
  214.                 System.out.print("Trafico en la calle C = "+C+"\n");
  215.                 System.out.print("Trafico en la calle D = "+D+"\n");
  216.                 }
  217.                
  218.                 if(trAB < trCD){
  219.                     try{
  220.                         for(n=1;n<9;n++){
  221.                             A= A-2;
  222.                             B= B-2;
  223.                             if (A <= 0){
  224.                                
  225.                                 A = 1 + (tr2.nextInt(6));
  226.                             }//Fin del if
  227.                            
  228.                             if(B <= 0){
  229.                                 B = 1 + (tr2.nextInt(6));
  230.                             }//Fin del if
  231.                             C= C+1;
  232.                             D= D+1;
  233.                             Thread.sleep(1000);
  234.                         System.out.print(", "+n);  
  235.                         }//Fin del for
  236.                     }//Fin del try
  237.                    
  238.                     catch (InterruptedException e) {
  239.                         System.out.println(e.getMessage());
  240.                         }//Fin del catch
  241.                    
  242.                     System.out.print("\nTrafico en la calle A = "+A+"\n");
  243.                     System.out.print("Trafico en la calle B = "+B+"\n");
  244.                     System.out.print("Trafico en la calle C = "+C+"\n");
  245.                     System.out.print("Trafico en la calle D = "+D+"\n");
  246.                     }//Fin del if
  247.                 AB=false;
  248.                 CD=true;
  249.                 hora = cal.get(Calendar.HOUR_OF_DAY);
  250.             }//fin del super If
  251.            
  252.             //Semaforos C y D
  253.        
  254.             if(CD == true){
  255.                 System.out.print("\n== Se encienden los semaforos C y D ==\n");
  256.                 System.out.print("== Se apagan los semaforos A y B == \n");
  257.                 trAB = A+B;
  258.                 trCD = C+D;
  259.                 Random tr2 = new Random();
  260.                 if(trCD > trAB){
  261.                 try{
  262.                     for(n=1;n<15;n++){
  263.                         A= A+1;
  264.                         B= B+1;
  265.                         C= C-2;
  266.                         D= D-2;
  267.                         if (C <= 0){
  268.                            
  269.                             C = 1 + (tr2.nextInt(6));
  270.                         }
  271.                        
  272.                         if(D <= 0){
  273.                             D = 1 + (tr2.nextInt(6));
  274.                         }
  275.                        
  276.                         Thread.sleep(1000);
  277.                         System.out.print(", "+n);
  278.                     }
  279.                 }//Fin del try
  280.                
  281.                 catch (InterruptedException e) {
  282.                     System.out.println(e.getMessage());
  283.                     }
  284.                
  285.                 System.out.print("\nTrafico en la calle A = "+A+"\n");
  286.                 System.out.print("Trafico en la calle B = "+B+"\n");
  287.                 System.out.print("Trafico en la calle C = "+C+"\n");
  288.                 System.out.print("Trafico en la calle D = "+D+"\n");
  289.                 }
  290.                
  291.                 if(trCD < trAB){
  292.                     try{
  293.                         for(n=1;n<9;n++){
  294.                             A= A+1;
  295.                             B= B+1;
  296.                             C= C-2;
  297.                             D= D-2;
  298.                             if (C <= 0){
  299.                                
  300.                                 C = 1 + (tr2.nextInt(6));
  301.                             }//Fin del if
  302.                            
  303.                             if(D <= 0){
  304.                                 D = 1 + (tr2.nextInt(6));
  305.                             }//Fin del if
  306.                            
  307.                             Thread.sleep(1000);
  308.                         System.out.print(", "+n);  
  309.                         }//Fin del for
  310.                     }//Fin del try
  311.                    
  312.                     catch (InterruptedException e) {
  313.                         System.out.println(e.getMessage());
  314.                         }//Fin del catch
  315.                    
  316.                     System.out.print("\nTrafico en la calle A = "+A+"\n");
  317.                     System.out.print("Trafico en la calle B = "+B+"\n");
  318.                     System.out.print("Trafico en la calle C = "+C+"\n");
  319.                     System.out.print("Trafico en la calle D = "+D+"\n");
  320.                     }//Fin del if
  321.                     AB=true;
  322.                     CD=false;
  323.                     hora = cal.get(Calendar.HOUR_OF_DAY);
  324.                  }//fin del super If   
  325.        
  326.             }//fin del if de hora
  327.        
  328.         }while(cic=true);
  329.        
  330.    
  331.     }//Fin del proceso
  332.    
  333. }//Fin de la clase
Advertisement
Add Comment
Please, Sign In to add comment