Smika, tu código es un desastre, pero no te preocupes, todos hemos pasado por eso. Mi consejo es: vuelve a lo básico. Prueba una sola condición de cierre y ve construyendo desde ahí.
Versión para imprimir
Smika, tu código es un desastre, pero no te preocupes, todos hemos pasado por eso. Mi consejo es: vuelve a lo básico. Prueba una sola condición de cierre y ve construyendo desde ahí.
Creo que el problema es que las condiciones se están evaluando de forma que entran en conflicto. ¿Has considerado usar variables temporales para guardar los resultados antes de evaluar?
Si las órdenes se cierran automáticamente cuando cambias una variable a falso, entonces el EA no entiende la lógica correctamente. Intenta cambiar la forma en que evalúas los booleanos.
No es solo un error de código, es un problema de cómo estás estructurando la lógica de tu EA. A veces el enfoque más sencillo es el correcto. Reestructura todo.
Es frustrante, pero este tipo de errores son normales cuando estás empezando. Sigue depurando y eliminando posibles conflictos entre las condiciones hasta que encuentres el problema.
No quiero sonar mal, pero... si sigues con esta mentalidad de "es fácil" sin entender la lógica detrás, te vas a atascar. Dedica más tiempo a entender qué hace cada línea.
Este es un buen momento para aplicar la famosa "dividir y conquistar". Desglosa cada parte del código en componentes más pequeños y prueba uno por uno. Verás que encuentras el fallo.
Quizás lo más útil que puedes hacer ahora mismo es buscar ejemplos de código más simples y ver cómo manejan las condiciones de cierre. Te va a ayudar a entender mejor cómo evitar estos problemas.
Si cada vez que cambias una condición a "falso" todo falla, lo más probable es que estés evaluando mal las condiciones booleanas. Usa Print para rastrear qué está pasando dentro del EA.
No te agobies demasiado, Smika. Al final, el problema es de lógica, no de sintaxis. Ajusta las condiciones de cierre con calma, prueba por partes y lo resolverás.