elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Notan alguna falla? ¿y si se reseteara? Y quiero texto con scroll...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Notan alguna falla? ¿y si se reseteara? Y quiero texto con scroll...  (Leído 1,027 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.382


Hackentifiko!


Ver Perfil
¿Notan alguna falla? ¿y si se reseteara? Y quiero texto con scroll...
« en: 25 Junio 2024, 09:00 am »

Código
  1. // Este programa genera una comparación simple y su evaluación, pero:
  2. // Debe haber alguna parte cuyo contenido no está definido.
  3. // Ejemplo: 1 < ... : true
  4. // Luego intenta asignar los contenidos faltantes.
  5. // Las siguientes funciones se usan en Resolvedor:
  6. function Comparacion() {
  7. trace("Probando: "+P1+" "+P2+" "+P3+": "+P4);
  8. if (P2 == "==") {
  9. Resultado = P1 == P3;
  10. } else if (P2 == "!=") {
  11. Resultado = P1 != P3;
  12. } else if (P2 == "<=") {
  13. Resultado = P1 <= P3;
  14. } else if (P2 == ">=") {
  15. Resultado = P1 >= P3;
  16. } else if (P2 == "<") {
  17. Resultado = P1 < P3;
  18. } else {
  19. Resultado = P1 > P3;
  20. }
  21. return Resultado+"" == P4;
  22. }
  23. function ModificarP1() {
  24. if (P1<10) {
  25. P1++;
  26. } else {
  27. Puntero++;
  28. // ¿Se puede modificar el contenido de otra parte?
  29. if (Puntero > Indefinidos) {
  30. // Sí, resetear esta y modificar esa:
  31. P1 = 0;
  32. eval("ModificarP"+eval("Indefinido"+Puntero))();
  33. } else {
  34. // No, indicar que el resolvedor se detenga:
  35. Continuar = "No";
  36. }
  37. }
  38. }
  39. function ModificarP2() {
  40. if (P2Valor<6) {
  41. P2Valor++;
  42. P2 = PosiblesSignos[P2Valor];
  43. Puntero = 1;
  44. } else {
  45. Puntero++;
  46. // ¿Se puede modificar el contenido de otra parte?
  47. if (Puntero > Indefinidos) {
  48. // Sí, resetear esta y modificar esa:
  49. P2Valor = 0;
  50. P2 = "==";
  51. eval("ModificarP"+eval("Indefinido"+Puntero))();
  52. } else {
  53. // No, indicar que el resolvedor se detenga:
  54. Continuar = "No";
  55. }
  56. }
  57. }
  58. function ModificarP3() {
  59. if (P3<10) {
  60. P3++;
  61. Puntero = 1;
  62. } else {
  63. Puntero++;
  64. // ¿Se puede modificar el contenido de otra parte?
  65. if (Puntero > Indefinidos) {
  66. // Sí, resetear esta y modificar esa:
  67. P3 = 0;
  68. eval("ModificarP"+eval("Indefinido"+Puntero))();
  69. } else {
  70. // No, indicar que el resolvedor se detenga:
  71. Continuar = "No";
  72. }
  73. }
  74. }
  75. function ModificarP4() {
  76. if (P4 == "true") {
  77. P4 = "false";
  78. Puntero = 1;
  79. } else {
  80. Puntero++;
  81. // ¿Se puede modificar el contenido de otra parte?
  82. if (Puntero > Indefinidos) {
  83. // Sí, resetear esta y modificar esa:
  84. P4 = "true";
  85. eval("ModificarP"+eval("Indefinido"+Puntero))();
  86. } else {
  87. // No, indicar que el resolvedor se detenga:
  88. Continuar = "No";
  89. }
  90. }
  91. }
  92. // Se repite en F2:
  93. function Resolvedor () {
  94. if (Comparacion()) {
  95. trace ("Solución hallada, ver respuesta.");
  96. Mensaje = Mensaje+"\n"+P1+" "+P2+" "+P3+": "+P4;
  97. gotoAndStop (3);
  98. } else if (Continuar == "Sí") {
  99. // Se modificará el candidato:
  100. eval(ModificadoraUsar)();
  101. } else {
  102. trace ("No se pudo hallar una solución.");
  103. gotoAndStop (3);
  104. }
  105. }
  106. PosiblesTiposDeContenido = ["Normal", "Indefinido"];
  107. PosiblesSignos = ["==", "!=", "<=", ">=", "<", ">"];
  108. // Generar los contenidos de las 4 partes hasta que alguno sea indefinido:
  109. do {
  110. Indefinidos = 0;
  111. // Parte 1 (cosa 1 a comparar):
  112. TipoDelParte1 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  113. if (TipoDelParte1 == "Normal") {
  114. Parte1 = random(10);
  115. } else {
  116. Parte1 = "...";
  117. Indefinidos++;
  118. set("Indefinido"+Indefinidos, 1);
  119. }
  120. // Parte 2 (símbolo comparador):
  121. TipoDelParte2 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  122. if (TipoDelParte2 == "Normal") {
  123. Parte2 = PosiblesSignos[random(6)];
  124. } else {
  125. Parte2 = "...";
  126. Indefinidos++;
  127. set("Indefinido"+Indefinidos, 2);
  128. }
  129. // Parte 3 (cosa 2 a comparar):
  130. TipoDelParte3 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  131. if (TipoDelParte3 == "Normal") {
  132. Parte3 = random(10);
  133. } else {
  134. Parte3 = "...";
  135. Indefinidos++;
  136. set("Indefinido"+Indefinidos, 3);
  137. }
  138. // Parte 4 (evaluación):
  139. TipoDelParte4 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  140. if (TipoDelParte4 == "Normal") {
  141. // Definir esta parte según las anteriores:
  142. // ¿Fueron definidas?
  143. if (Parte1 != "..." && Parte2 != "..." && Parte3 != "...") {
  144. // Sí, ver qué definición corresponde:
  145. if (Parte2 == "==") {
  146. Parte4 = Parte1 == Parte3;
  147. } else if (Parte2 == "!=") {
  148. Parte4 = Parte1 != Parte3;
  149. } else if (Parte2 == "<=") {
  150. Parte4 = Parte1 <= Parte3;
  151. } else if (Parte2 == ">=") {
  152. Parte4 = Parte1 >= Parte3;
  153. } else if (Parte2 == "<") {
  154. Parte4 = Parte1 < Parte3;
  155. } else {
  156. Parte4 = Parte1 > Parte3;
  157. }
  158. } else {
  159. // No toda parte fue definida,
  160. // definir esta al azar:
  161. Parte4 = random(2);
  162. if (Parte4 == 0) {
  163. Parte4 = "true";
  164. } else {
  165. Parte4 = "false";
  166. }
  167. }
  168. } else {
  169. Parte4 = "...";
  170. Indefinidos++;
  171. set("Indefinido"+Indefinidos, 4);
  172. }
  173. } while (Indefinidos == 0);
  174. Mensaje = Parte1+" "+Parte2+" "+Parte3+": "+Parte4;
  175. // Preparar variables, asignar valores a los contenidos indefinidos:
  176. // Parte 1:
  177. if (Parte1 != "...") {
  178. P1 = Parte1;
  179. } else {
  180. P1 = 0;
  181. }
  182. // Parte 2:
  183. if (Parte2 != "...") {
  184. P2 = Parte2;
  185. } else {
  186. P2Valor = 0;
  187. P2 = "==";
  188. }
  189. // Parte 3:
  190. if (Parte3 != "...") {
  191. P3 = Parte3;
  192. } else {
  193. P3 = 0;
  194. }
  195. // Parte 4:
  196. if (Parte4 != "...") {
  197. P4 = Parte4;
  198. } else {
  199. P4 = "true";
  200. }
  201. // Usado para variar qué contenido de P se modifica:
  202. Puntero = 1;
  203. ModificadoraUsar = "ModificarP"+Indefinido1;
  204. // Marca si algún cantenido puede modificarse:
  205. Continuar = "Sí";

Ejemplo:
8 ... ...: ...
Probando: 8 == 0: true
Probando: 8 != 0: true
Solución hallada, ver respuesta.

Otro ejemplo:
... > 4: ...
Probando: 0 > 4: true
Probando: 1 > 4: true
Probando: 2 > 4: true
Probando: 3 > 4: true
Probando: 4 > 4: true
Probando: 5 > 4: true
Solución hallada, ver respuesta.

¿Funciona bien siempre? ¿detectan algo en el código que podría generar fallas?

Si pongo un botón de resetear ¿habrá problema? Pondría las funciones en el frame 1, la comparación se generaría en el 2 y el resolvedor se repetiría en el 3; mi temor es que una variable no eliminada, que no estaba definida al inicio, cause un error.

Lo último: El programa muestra mensajes usando trace, el equivalente de print. Pero eso sólo funciona usando el editor de Flash. Quisiera que esos mensajes se muestren también en un swf o exe. El problema es si el mensaje tiene muchas líneas, no sé cómo ponerle scroll. Voy a mirar el tutorial pero si me dicen mejor.


« Última modificación: 25 Junio 2024, 09:07 am por Tachikomaia » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
tutorial scroll de texto en flash mx
Diseño Gráfico
prosk8er 3 7,625 Último mensaje 11 Marzo 2005, 00:27 am
por ™Carlos.®
Problema de texto al poner un texto muy largo, alguna forma de cortarlo?
PHP
XXXXXX 5 8,346 Último mensaje 21 Junio 2010, 04:51 am
por XXXXXX
Resultados de Google, quiero mas texto
Dudas Generales
Esperpentor 3 3,695 Último mensaje 10 Julio 2010, 00:04 am
por Esperpentor
Mi método buscarTexto() falla (JTextArea, pequeño editor de texto)
Java
omar_cdg 0 1,556 Último mensaje 2 Agosto 2015, 01:34 am
por omar_cdg
¿Alguna manera de quitar scroll del body?
Desarrollo Web
Ethgar 1 1,786 Último mensaje 6 Agosto 2015, 18:57 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines