shadow_blind Posted September 15, 2011 Report Share Posted September 15, 2011 (edited) Hola a la Comunidad: Bueno, mi problema es que tengo un proyecto de simulación de fumigación y lo debo desarrollar en Qt Creator. Al principio no fue muy complicado, tuve que crear la interfaz gráfica, mapa de fondo, los botones para controlar los movimientos, en fin, esta casi todo listo si no fuera por un detalle, como parte final del proyecto hay que hacer que el tractor fumigue ciertas plantas y que se mueva de forma automática. Buscando por la web encontré que una forma de resolver el problema es utilizando el algoritmo de backtracking, investigue y leí pero me cuesta llevar la idea al Qt. Esta es una imagen de lo esta hecho, ahora les pido ayuda de como hacer el piloto automatico. PD. el color de las ventanas en la imagen fue un error. :tonto:Si se necesita mas informacion solo pidanla, gracias Edited September 15, 2011 by shadow_blind Link to comment Share on other sites More sharing options...
AshWilliams Posted September 17, 2011 Report Share Posted September 17, 2011 Me imaginé algo parecido al caracol del Plantas vs Zombies, el que recoge las monedas cuando las plantas las botan. Podrías hacer algo parecido y se me ocurren varias formas como manejar las coordenadas de cada planta y que la planta tenga un evento cambiarestado que cuando cambie a fumigar, el robot se mueva a la casilla correspondiente a la planta, la fumigue y vuelva a setear su estado, funcionaría de alguna manera. Saludos Link to comment Share on other sites More sharing options...
shadow_blind Posted September 18, 2011 Author Report Share Posted September 18, 2011 Buena idea.La forma que utilice para crear las plantas fue mediante un arreglo bidimensional, el cual se llama matriz[x][y], con un total de 100 elementos ( 10 = x, 10 = y), y se llena con 0, 1 y -1. El 0 significa que no hay planta y se puede mover sobre la casilla, el 1 que hay una planta y no puede pasar sobre esa casilla y el -1 indica una planta fumigada.Para tener un -1, utilizo una función llamada cambiarEstado, la cual ademas de cambiar la imagen de la planta, me cambia el numero en la matriz de 1 a -1.Si al pensar en las posibilidades que tengo para solucionar el problema, la que mas me convence es el algoritmo bactracking, ya que podría buscar las posibles soluciones y luego utilizar una de ellas. Ahora, mi complicación es que debo mover el tractor a travez de la matriz[x][y] preguntando los valores que posea, pero hacia donde me muevo??, como me muevo???, a lo mejor me ahogo en un baso de agua y es mas simple... PD: Si se necesita mas informacion (como el codigo) la puedo dar sin problema, incluso esta en C++ Link to comment Share on other sites More sharing options...
cañangasñangas Posted September 18, 2011 Report Share Posted September 18, 2011 (edited) supongo que no se puede pasar por encima del arbolito?, ya que si es asi primero debes crear un algoritmo en el cual puedas ratificar que puedes moverte en todo el campo, lo digo porque si tienes esto SOOOOXOXXXXXXXXXOOOOOOX S = startO=espacios libresX=marihuana arbolitos a fumigar ahora si estas cocechando zanahorias, cebollas, y weas asi te pasai por la raja las plantas ya que puedes pasar por encima de ellas sin dañarlas... ahi simplemente tu coso no va a poder fumigar la caga plantacion campo, asique debes partir con un algoritmos que te ratifique que se puede llegar de campo[0][0] a campo[n][n] , no es tan complejo ese algoritmo pero en estos momentos estoy con mis remedios para la epilepsia y me joden la cabeza para pensar y no quiero pensar mucho enverdad por eso es que no te doy un codigo, pero realmente si craneas bien, te va a salir Edited September 18, 2011 by cañangasñangas Link to comment Share on other sites More sharing options...
shadow_blind Posted September 20, 2011 Author Report Share Posted September 20, 2011 ok, igual eso de iniciar desde campo[0][0] y llegar a campo[n][n] lo voy a pensar muy bien, se agradece Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now