Jump to content

Ayuda Con Piloto Automatico


Recommended Posts

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.

 

b1faec3c06610422f0b2ed710b7d2b4ao.png

 

PD. el color de las ventanas en la imagen fue un error. :tonto:

Si se necesita mas informacion solo pidanla, gracias

Edited by shadow_blind
Link to comment
Share on other sites

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 :notonto:

Link to comment
Share on other sites

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

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

 

SOOOOXO

XXXXXXXXX

OOOOOOX

 

 

S = start

O=espacios libres

X=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 by cañangasñangas
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...