practica#1 - semáforo

10
Practica#1 Semáforo Laboratorio de Sistemas Adaptativos Martes – M4.M5 Angel Rodolfo Reyna Acevedo 1459652 Lucía Guadalupe Moyeda Cornejo 1145154 Adrian Vega Magaña 1497896 Lucero Itzel Ramos García 1491994

Upload: luceroirg

Post on 13-Jun-2015

2.507 views

Category:

Education


1 download

DESCRIPTION

Laboratorio de Sistemas Adaptativos Angel Rodolfo Lucia Guadalupe Adrian Vega Lucero Itzel

TRANSCRIPT

Page 1: Practica#1 -  Semáforo

Practica#1Semáforo

Laboratorio de Sistemas AdaptativosMartes – M4.M5

Angel Rodolfo Reyna Acevedo 1459652Lucía Guadalupe Moyeda Cornejo 1145154

Adrian Vega Magaña 1497896Lucero Itzel Ramos García 1491994

Page 2: Practica#1 -  Semáforo

El objetivo de la Practica #1 del Laboratorio de Sistemas Adaptativos consiste en un sistema que simule el funcionamiento de un cruce vehicular y que regule automáticamente el tiempo de semáforo que tiene cada calle.

El sistema simula la interacción entre las 4 calles: A,B,C y D(con sus restricciones). Aleatoriamente se le agregan carros a los carriles. Y dependiendo del carril con mas carros se van asignando los tiempos y van “saliendo” los carros.

Introducción

Page 3: Practica#1 -  Semáforo

Diseño del Cruce Diseño de la Solución Código

Desarrollo

Page 4: Practica#1 -  Semáforo

Diseño del Cruce

Page 5: Practica#1 -  Semáforo
Page 6: Practica#1 -  Semáforo

El comportamiento de los carros ya ha sido definido por medio de la tabla. Aparte del comportamiento, hemos analizado la solución para ser programada en JAVA y sabemos que debemos de generar tres clases: Carro, Ciudad y Semáforo.

Carro de lo único que se encargara es de cuando agregar un nuevo carro al carril y de verificar cuando puede salir un carro. Ciudad lo único que hace es la carga de los gráficos y de iniciar el hilo de semáforo. Y por último, Semáforo se encargara de asignar los tiempos y de recibir de Carros la cantidad de carros que hay en X carril. El semáforo tiene un máximo y mínimo de tiempo de la luz verde así como el de asignar el tiempo utilizando razón y proporción.

Diseño de la Solución

Page 7: Practica#1 -  Semáforo

private void Cargar() {

◦ this.setDefaultCloseOperation(EXIT_ON_CLOSE);◦ fondo = new ImageIcon("calles.jpg");◦ base = new JPanel();◦ glu = new JLabel(fondo);◦ glu.setBounds(0,0,550,550);◦ base.add(glu);◦ btn = new JButton("Activar");◦ btn.setBounds(200,200,30,90);◦ base.add(btn);◦ this.add(base);◦ this.setVisible(true);◦ btn.addActionListener(this);◦ una = false;

}

Códigoprivate static final long serialVersionUID = 1L;private ImageIcon fondo;private JPanel base;private JLabel glu;private JButton btn;

Page 8: Practica#1 -  Semáforo

La GUI en este demo es bastante simple, ya que el objetivo de la practica era el buen manejo de la información de los carriles, entonces decidimos mantener la interacción con el usuario casi nula, con solo una imagen de un cruce de calles y un botón que activa o desactiva el movimiento de los carros.

En este caso, la carga de la GUI se hace en la clase Ciudad, en el constructor se definen las dimensiones, en carga se instancian las clases necesarias, como JPanel, JButton, etc. Y se agregan a la interfaz para hacer visibles estos componentes. También usando un ActionListener para activar o desactivar el demo

Page 9: Practica#1 -  Semáforo

Con la creación de la tabla del comportamiento, la programación de todos los aspectos a tomar en cuenta fue mucho mas fácil.

Nos limitamos a simular un comportamiento de vehículos que avanzaban derecho y otros que giraban a la derecha, este ultimo no es tan notorio, dado que arrojamos datos a la consola sobre salidas, longitudes de carriles, entradas.

Hacer un comportamiento mas grafico nos pareció un valor agregado del cual no tuvimos la oportunidad de completar como lo buscábamos, pero toda la información y comportamiento sobre entradas y salidas de vehículos, así como el movimiento de las luces, fue lo mas apegado posible a lo real y a la tabla que presentamos inicialmente.

Conclusión

Page 10: Practica#1 -  Semáforo

Para la realización de este programa nos basamos en conocimientos adquiridos en POO y TPOO e hicimos algunas consultas al libro "Java para estudiantes" 7a ed y a la pagina www.java2s.com

Las imágenes utilizadas en todo el proyecto fueron creadas por los integrantes del equipo.

Referencias