Foro SofosAgora

Foro abierto a los intereses de sus usuarios. Debate, aprende y diviértete.
Fecha actual 01 Abr 2020, 03:12

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 15 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 21 Mar 2020, 01:38 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 10258
Código:
Escena 1
   actions for fotograma 1
      // SitIni.
      Base.S = 5;
      // CandIni.
      Actual.C = -1;
      // Vars de Unsolved sits.
      Actual.U = 0;
      Actual.Us = 0;
      // Save iniSit y preparar comprobación.
      S = 5;
      C = "Ninguno";
      Loading.S = -1;
      Loading.C = -1;
      Loading.Cargas = 0;
      Loading.ArchID = "S"+S+".txt";
      fscommand ("save", Loading.ArchID);
   actions for fotograma 3
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 5
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Loading.S != S) {
         Loading.Verif = 0;
      } else if (Loading.C != C) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en savecheck de "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (3);
            }
         } else {
            // retry.
            gotoAndPlay (4);
         }
      }
   actions for fotograma 6
      // Reset Sit. Aplic.
      Actual.S = Base.S+Actual.C;
      // ¿Sol?
      if (10<Actual.S) {
         // Sol; begin loads to show list
         List = Actual.C;
         gotoAndPlay (26);
      } else {
         // ¿Sit exist?
         Loading.Cargas = 0;
         Loading.S = -10;
         Loading.C = -10;
         Loading.ArchID = "S"+Actual.S+".txt";
      }
   actions for fotograma 7
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 9
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Loading.S == -10) {
         Loading.Verif = 0;
      } else if (Loading.C == -10) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               // La Sit parece no existir, crearla.
               S = Base.S;
               C = Actual.C;
               Loading.Cargas = 0;
               Loading.ArchID = "S"+Actual.S+".txt";
               gotoAndPlay (15);
            } else {
               // reload.
               gotoAndPlay (7);
            }
         } else {
            // retry.
            gotoAndPlay (8);
         }
      }
   actions for fotograma 10
      // La sit existe. ¿Candmod is pos?
      if (Actual.C<1) {
         // Candmod.
         Actual.C = Actual.C+2;
         // Reset sit, then Aplic.
         gotoAndPlay (6);
      } else {
         // Load UnsSit.
         Actual.U = Actual.U+1;
         Loading.Cargas = 0;
         Base.S = -10;
         Loading.ArchID = "U"+Actual.U+".txt";
      }
   actions for fotograma 11
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Base");
   actions for fotograma 13
      if (Base.S == -10) {
         Loading.Comps = Loading.Comps+1;
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en loading "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (11);
            }
         } else {
            // retry.
            gotoAndPlay (12);
         }
      }
   actions for fotograma 14
      Base.S = Number(Base.S);
      // Reset Cand. Aplic.
      Actual.C = -1;
      gotoAndPlay (6);
   actions for fotograma 15
      // Creando Sit.
      fscommand ("save", Loading.ArchID);
   actions for fotograma 17
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 19
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Loading.S != S) {
         Loading.Verif = 0;
      } else if (Loading.C != C) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en savecheck de "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (17);
            }
         } else {
            // retry.
            gotoAndPlay (18);
         }
      }
   actions for fotograma 20
      // Save UnsSit.
      delete C;
      S = Actual.S;
      Actual.Us = Actual.Us+1;
      Loading.S = -10;
      Loading.Cargas = 0;
      Loading.ArchID = "U"+Actual.Us+".txt";
      fscommand ("save", Loading.ArchID);
   actions for fotograma 22
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 24
      if (Loading.S == -10) {
         Loading.Comps = Loading.Comps+1;
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en savecheck de "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (22);
            }
         } else {
            // retry.
            gotoAndPlay (23);
         }
      }
   actions for fotograma 25
      // ¿Candmod is pos?
      gotoAndPlay (10);
   actions for fotograma 26
      S = Base.S;
      Loading.Cargas = 0;
      Base.S = -1;
      Base.C = -10;
      Loading.ArchID = "S"+S+".txt";
   actions for fotograma 27
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Base");
   actions for fotograma 29
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Base.S == -1) {
         Loading.Verif = 0;
      } else if (Base.C == -10) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en loading "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (27);
            }
         } else {
            // retry.
            gotoAndPlay (28);
         }
      }
   actions for fotograma 30
      if (Base.C != "Ninguno") {
         List = Base.C+" "+List;
         gotoAndPlay (26);
      } else {
         stop ();
      }
La idea es comparable a un objeto que se mueve de a 1 casillero en el eje de las X, hasta que gracias a las acciones adecuadas quede más allá del punto 10.

Funciona, pero si no puedo entenderlo difícil que pueda agregarle cosas más complejas, no tiene sentido.

Pueden hacerme preguntas; las adecuadas resolverán mis dudas se supone...

Gracias.

Por ejemplo: ¿Por qué uso Actual.C en vez de C?

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 21 Mar 2020, 04:19 
Desconectado

Registrado: 05 Mar 2013, 14:43
Mensajes: 12044
¿Por qué no aprendés programación como todos las personas?


Arriba
 Perfil  
Responder citando  
NotaPublicado: 21 Mar 2020, 06:46 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 10258
No sé a qué llamas aprender programación. Puede implicar diferentes paradigmas, como el de Java que pone un do while al inicio con unas condiciones que pueden llegar a cumplirse siempre. O el de Phyton que para sumar texto y números hay que hacer una función rara...
Si te refieres a aprender a hacer pseudocódigos y diagramas de flujo, creo que sé, pero hay casos como este, en que no parece.

El problema acá me parece que son el hecho de tener que poner variables "iguales" dentro de objetos, y toda la maniobra para ver si los archivos existen,

Básicamente ya decidí no intentar explicarlo. Y le estoy poniendo cosas más complejas lo cual veremos si puedo y entonces llego a entender más, o no.

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 21 Mar 2020, 17:51 
Desconectado

Registrado: 05 Mar 2013, 14:43
Mensajes: 12044
Lee un libro entero de programación una vez.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 21 Mar 2020, 21:13 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 10258
Da un ejemplo de algo que tengan que pueda ayudarme en este tema concreto. Es como si alguien dijera que vayan a leer un libro entero de filosofía antes de preguntar algo. No sigues la misma lógica y no es la 1era vez. Si te preguntan algo que sepas respondes, pero si es de programación, independientemente de si sabes o no, mandas a leer.

Que me digas que lea un libro entero para mí no es muy diferente a que me mandes a fumar un cigarro entero. Hay cosas que no entiendo, quien entienda el code lo puede explicar, no tiene sentido leer un libro que incluya muchas cosas que ya sé o que no me interesan (ni me sirven probablemente).

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 24 Mar 2020, 21:15 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 10258
Creo que está bien así:
Imagen

Un problema es que yo intentaba hacer un diagrama desde el code; me resultó más fácil pensarlo "desde 0", o más bien desde "probar ¿sol o no sol?".

No sé si tiene sentido explicarlo...

ResetSit: Resetear situación.
C: Candidato.
Sol: Solución.
Mostrar lista de Cs: Se refiere a la serie de Cs que llevaron a Sol.
pos: posible.
Unsolved sit: Situación en que aún no se probaron los Cs.

Es probable que yo haya cometido algún error, de hecho estoy agregando 1 PS y no está funcionando.

Gracias igual. ¿Dudas? ¿cosas que se podrían simplificar?

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 26 Mar 2020, 03:43 
Desconectado
Avatar de Usuario

Registrado: 28 Ene 2015, 21:06
Mensajes: 510
Tachikomaia escribió:
Funciona, pero si no puedo entenderlo difícil que pueda agregarle cosas más complejas, no tiene sentido.


Deberías aplicar lo que reza tu firma: hacer cosas más simples antes de pasar a algo más complejo. Una herramienta que te puede ayudar es aprender programación modular, consiste en resumidas cuentas en "dividir un problema complejo en muchos pequeños problemas". Esto se logra utilizando múltiples archivos de código que se relacionan entre sí, cada uno con una tarea específica, que son invocados finalmente por el archivo principal para ejercer su función. Al ser cada archivo compilado por separado es muchísimo más fácil de debuggear.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 26 Mar 2020, 07:10 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 10258
Ya hice cosas más simples ^^uuu

El tema es que la diferencia es tremenda.

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 26 Mar 2020, 07:15 
Desconectado
Avatar de Usuario

Registrado: 28 Ene 2015, 21:06
Mensajes: 510
En ese caso una herramienta que te puede ayudar es aprender programación modular, consiste en resumidas cuentas en "dividir un problema complejo en muchos pequeños problemas". Esto se logra utilizando múltiples archivos de código que se relacionan entre sí, cada uno con una tarea específica, que son invocados finalmente por el archivo principal para ejercer su función. Al ser cada archivo compilado por separado es muchísimo más fácil de debuggear.


Arriba
 Perfil  
Responder citando  
NotaPublicado: 26 Mar 2020, 07:33 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 10258
No sé si mi lenguaje tiene eso, pero tiene frames y funciones, así que debería andar.

Por cierto, ya no sé siquiera si funciona, me entraron dudas porque de tanto no entender...

De momento estoy bastante con esto:
Código:
S = 5   
C = -1   

Si S <= C   
   Sol, fin
sino si es una sit new   
   Save it
sino   
   ir a X
   
Saving   
Saving   
Saving   
Saving   
   
X   
Si hay más cands   
   Cand++
   Reset sit
   go 1er if
sino si hay uns sits   
   Reser C
   Change base.S
   load
Lo tendría que convertir a código pero tengo dudas de que esté bien. Estoy pensando...

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 15 mensajes ]  Ir a página 1, 2  Siguiente

Todos los horarios son UTC + 1 hora [ DST ]


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
POWERED_BY
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO