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


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 229
301  Programación / Programación General / Re: Contar cuántos cuadraditos pintados aislados hay en un dibujo. en: 15 Junio 2024, 07:56 am
Aquí está pero aún no tiene sentido probarlo, o no es fácil, pues me falta aplicar algo parecido al caso en que se despintan. Además tengo un error en cuanto a cómo defino los colores.
Código
  1. // En este programa hay cuadraditos nombrados así:
  2. // 123
  3. // 456
  4. // 789
  5. // Se irán pintando diferentes combinaciones,
  6. // evitando resultados en que muchos queden aislados,
  7. // dibujos producibles en hojas más pequeñas,
  8. // y simétricos (espejo vertical) ya producidos.
  9. // El tamaño de la hoja irá aumentando.
  10. // Debido a que en cierto chequeo se asume que...
  11. // si el cuadradito no está en la parte inferior ni...
  12. // superior entonces está en la fila central,
  13. // conviene que CuadraditosPorFila comience siendo 2,
  14. // cambia enseguida a 3.
  15. // PorFila y porColumna:
  16. CuadraditosPorFila = 2;
  17. // Los cuadraditos están nombrados de modo que...
  18. // los de nombre mayor están abajo en la derecha, ejemplo:
  19. // 12
  20. // 34
  21. // Usada en ContarContiguosDeContiguoAlModificado:
  22. function ParteDeContarEtc () {
  23. // ¿El contiguo indicado está pintado?
  24. if (eval("Cuadradito"+Fila3+"_"+Columna3) == 0 ) {
  25. // Sí, aumentar contador:
  26. ContiguosPintados++;
  27. }
  28. }
  29. // Usada en Variar:
  30. function ContarContiguosDeContiguoAlModificado () {
  31. // ¿El contiguo indicado está pintado?
  32. if (eval("Cuadradito"+Fila2+"_"+Columna2) == 0 ) {
  33. // Sí, el recién pintado no está aislado:
  34. ElRecienPintadoEstaAislado = "No";
  35. // Se contarán los contiguos de este (contiguo al recién...).
  36. ContiguosPintados = 0;
  37. // Para analizar a su inferior derecho:
  38. Fila3 = Fila2+1;
  39. Columna3 = Columna2+1;
  40. ParteDeContarEtc();
  41. // Para analizar a su inferior:
  42. Columna3--;
  43. ParteDeContarEtc();
  44. // Para analizar a su inferior izquierdo:
  45. Columna3--;
  46. ParteDeContarEtc();
  47. // Para analizar a su derecho:
  48. Columna3 = Columna3+2;
  49. Fila3--;
  50. ParteDeContarEtc();
  51. // Para analizar a su izquierdo:
  52. Columna3 = Columna3-2;
  53. ParteDeContarEtc();
  54. // Para analizar a su superior derecho:
  55. Columna3 = Columna3+2;
  56. Fila3--;
  57. ParteDeContarEtc();
  58. // Para analizar a su superior:
  59. Columna3--;
  60. ParteDeContarEtc();
  61. // Para analizar a su superior izquierdo:
  62. Columna3--;
  63. ParteDeContarEtc();
  64. // ¿Estaba aislado?
  65. if (ContiguosPintados == 1) {
  66. // Sí, reducir el contador:
  67. CuadraditosAislados--;
  68. }
  69. }
  70. }
  71. // En F3 se repite:
  72. function Variar () {
  73. ReferenciaAlColoraModificar = "ColordeCuadradito"+Puntero;
  74. ColoraModificar = eval(ReferenciaAlColoraModificar);
  75. // ¿El cuadradito puede cambiar de color?
  76. if (ColoraModificar < 1) {
  77. // Sí, hacer los cambios:
  78. set (ReferenciaAlColoraModificar, ColoraModificar+1);
  79. NuevoColor = new Color("Cuadradito"+Puntero);
  80. NuevoColor.setRGB(0);
  81. // Obtener fila y columna del cuadradito:
  82. Fila = Math.ceil(Puntero/CuadraditosPorFila);
  83. Columna = (Puntero-1)%CuadraditosPorFila+1;
  84. set("Cuadradito"+Fila+"_"+Columna, 0);
  85. // Para juzgar:
  86. // ¿Los cuadraditos aislados en el dibujo es...
  87. // menos de MaxCuadraditosAislados?
  88. // Se actualizará el contador de pintados aislados:
  89. // De cada pintado al lado del recién pintado,
  90. // se verá si estaba aislado,
  91. // en cuyo caso disminuirá el contador.
  92. // Si no hay pintados al lado del nuevo, aumentará.
  93. // Esta variable puede cambiar, se refiere al recién pintado:
  94. ElRecienPintadoEstaAislado = "Sí";
  95. // en vez de usar CuadraditoAislado = "Sí"; se podría definir
  96. // ContiguosPintados = 0; desde el inicio y si aumentó entonces
  97. // se entiende que ek recién pintado no estaba aislado.
  98. // Pero igual ese contador debe reiniciarse cada vez que se empieza a contar,
  99. // pero en esos casos siempre es 1 mínimo.
  100. // Para analizar a su inferior derecho:
  101. Fila2 = Fila+1;
  102. Columna2 = Columna+1;
  103. // Si su inferior derecho existe y está pintado,
  104. // entonces el actual no está aislado,
  105. // y se mira si el infder estaba aislado:
  106. // Cuántos de sus contiguos están pintados.
  107. // Por practicidad se cuenta también el recién pintado.
  108. // Si la cantidad es 1, estaba aislado,
  109. // el contador de Aislados baja:
  110. ContarContiguosDeContiguoAlModificado();
  111. // Para analizar a su inferior:
  112. Columna2--;
  113. ContarContiguosDeContiguoAlModificado();
  114. // Para analizar a su inferior izquierdo:
  115. Columna2--;
  116. ContarContiguosDeContiguoAlModificado();
  117. // Para analizar a su derecho:
  118. Columna2 = Columna2+2;
  119. Fila2--;
  120. ContarContiguosDeContiguoAlModificado();
  121. // Para analizar a su izquierdo:
  122. Columna2 = Columna2-2;
  123. ContarContiguosDeContiguoAlModificado();
  124. // Para analizar a su superior derecho:
  125. Columna2 = Columna2+2;
  126. Fila2--;
  127. ContarContiguosDeContiguoAlModificado();
  128. // Para analizar a su superior:
  129. Columna2--;
  130. ContarContiguosDeContiguoAlModificado();
  131. // Para analizar a su superior izquierdo:
  132. Columna2--;
  133. ContarContiguosDeContiguoAlModificado();
  134. if (ElRecienPintadoEstaAislado == "Sí") {
  135. CuadraditosAislados++;
  136. }
El código sigue con cosas que no vienen al caso. Lo que hice no es una forma corta ni eficiente pero evita el caos de los ifs. Sólo hay 2 ifs, que se repiten luego de haber modificado variables.

En fin, no sé cuando lo terminaré pero esta duda está resuelta.
302  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Sería buena idea crear un blog aquí sobre avances de nuestros proyectos? en: 15 Junio 2024, 02:01 am
Lo bueno:
- Es una opción a ver a quien le interese.
- Implicaría más actividad en el foro, si hay participación ahí.
- Puede atraer a más usuarios, tal vez.

Posibles problemas:
- Spammers. No me refiero a que muchos vengan, publiquen sus cosas una vez y adiós, eso no sé si sería un problema, sino que me refiero al caso de que la gente publique casi lo mismo a cada rato: "Agregué una opción al menú", "agregué otra", etc. Yo mismo podría ser que haga algo así, aunque no por gusto.
- Desorden. Si se postean muchas cosas será un tema de cosas un poco random, no sé si lo consideran un problema. Ya hay un tema donde la gente pùblica canales de YT, o sus blogs, esto sería parecido pero podría ser más activo.
- Más trabajo para los mods, posibles links a malware de usuarios que luego nunca más participen...

¿Hay posibles soluciones, o prevenciones?
Por ejemplo para el 1 se podría limitar el número de post por semana, o mes, o si trabajan en más de 1 proyecto podría limitarse la cantidad de post por semana/mes sobre cada proyecto (es decir se pueden hacer 2 mensajes por semana, por ejemplo, si es sobre 2 proyectos distintos). Pero eso no evita que se puedan postear pequeñeces o incluso "Esta semana se me complicó".
Para el 3, en caso de ser usuarios nuevos se podría exigir que pongan una imagen, código o video a YT, no sólo el link a quien sabe dónde y qué.
303  Foros Generales / Dudas Generales / Re: Archivos de 2005 pero el contenido dice 2006. en: 14 Junio 2024, 22:27 pm
Recuerdo por ejemplo que versiones antiguas de Winrar, si no indicabas fecha, al extraerlos te asignaba la fecha 0, que según en que sistema lo descomprimieras te asignaba la fecha 0, que constare para ese sistema.
Yo también recuerdo algo de eso, pero no muy detalladamente ¿qué significa fecha 0? ¿la fecha que tuviera el sistema actual?

Citar
Por otro lado, que tengas ficheros de un año y tu jures que son de otro...
No es que lo jure, es como que descargue esta página, que dice Publicado en: 5 Mayo 2024, pero el archivo diga (en Windows) que la última modificación fue en 2003.

A la fecha de creación no le doy bola porque no me aparece en los exploradores y además como son archivos copiados desde cds o dvds quedan con la fecha conque los copié.
304  Media / Diseño Gráfico / Re: Busco técnicas para dibujar muro: ¿Achicar una parte? en: 13 Junio 2024, 00:51 am
Ya está (sin líneas):


Con líneas queda negro:

No hay modo de achicarlas... que yo sepa. Les puse el mínimo tamaño de trazo. Tal vez si las convierto en relleno y achico el relleno, pruebo.
305  Foros Generales / Foro Libre / Re: GPT me trolleó. en: 12 Junio 2024, 22:00 pm
Estuvo buena tu idea pero no sirvió:
Citar
¡Claro! Aquí tienes algunas palabras que cumplen los criterios que mencionaste:

1. Abajo (español) - 'ba'
2. Bubble (inglés) - 'bb'
3. Caber (español) - 'ca'
4. Doble (español) - 'do'
5. Ebro (español) - 'eb'
6. Fibra (español) - 'fi'
7. Gobi (inglés) - 'go'
8. Hablar (español) - 'ha'
9. Ibérico (español) - 'ib'
10. Jabón (español) - 'ja'
11. Kabuki (inglés) - 'ka'
12. Labio (español) - 'la'
13. Mobi (inglés) - 'mo'
14. Nabla (inglés) - 'na'
15. Obvio (español) - 'ob'
16. Pub (inglés) - 'pu'
17. Qubo (español) - 'qu'
18. Rubio (español) - 'ru'
19. Subir (español) - 'su'
20. Turbo (español) - 'tu'
21. Uber (inglés) - 'ub'
22. Vobla (inglés) - 'vo'
23. Wombat (inglés) - 'wo'
24. Xebec (inglés) - 'xe'
25. Yobbo (inglés) - 'yo'
26. Zobal (español) - 'zo'

Espero que estas palabras cumplan con tus criterios. Si no encontré ninguna palabra que cumpla con ciertas combinaciones de letras, se mostrará la notación '--xy--' donde 'xy' es la combinación que no se encontró.

Voy a probar otras cosas.
306  Programación / Programación General / ¿Programar esto es buena idea o antes debo saber más? en: 12 Junio 2024, 11:25 am
Quiero hacer más rápido esto que me resulta difícil.

Nota: X puede ser monedas, estrellas, cualquier cosa de un videojuego, en esta tarea no es necesario especificarla.

La hoja 1 está completa:


La hoja 2 está completa (vean que lo obtenido en la hoja 1 es usado aquí como base):


La hoja 3 no, y no sé cuántas hojas quiero hacer:


El problema de que un programa lo haga (sólo una lista, no como las imágenes) es que hay casos especiales, no es tan fácil saberlos a priori o que el programa los produzca bien cuando debe ¿qué me recomiendan?
307  Media / Juegos y Consolas / Re: super mario bros 8? en: 11 Junio 2024, 18:24 pm
Estás jugando Don Doko Don 2, es una secuela de Don Doko Don (1), y te dije que ese es más difícil que el 2, al menos para mí. Este es el 1:
https://www.youtube.com/watch?app=desktop&v=BxjU_SFKx8Q
Ese nunca lo pasé, el 2 sí.
308  Programación / Programación General / Distribuir cosas en una tabla ¿división básica? en: 11 Junio 2024, 01:02 am
Si tengo una tablero de XxX casilleros y quiero distribuir Y colores ¿cómo defino de qué color es cada casillero?
Por ejemplo si X es 3 e Y es 6 quiero esto:
112
233
456
Es decir, se reparte 9 entre 6 y lo que sobre se da a los 1eros colores.
El casillero 1 debe ser de color 1.
El 2 de color 1.
El 3, 2.
4, 2.
5, 3.
6, 3.
7, 4.
8, 5.
9, 6.
¿Cómo logro eso? X e Y pueden variar, claro.

Me dieron una supuesta solución en otro lado pero no pude hacerlo funcionar:
Citar
Para un tablero L×L y c colores llama:

 N=L^2
 a=floor(N/c)  (parte entera de N/c)
 r=mod(N,c) (resto de dividir N entre c)

 Entonces el número de color que tienes que poner en la fija i, columna j, es:

 - Si p<=r*(a+1), floor((p-1)/(a+1)+1
 - Si p>r*(a+1), r+1+floor((p-r(a+1)-1)/a)

 donde p=(i-1)*L+j
Mi código (no es sobre asignar colores sino "ModificacionesRequeridas", pero la idea es la misma):
Código
  1. DibujosPorFila = 5;
  2. MaxCuadro = DibujosPorFila*DibujosPorFila;
  3. CuadraditosPorFila = 4;
  4. MaxCuadradito = CuadraditosPorFila*CuadraditosPorFila;
  5. DistintasMutaciones = Math.floor(MaxCuadro/CuadraditosPorFila);
  6. Resto = MaxCuadro%CuadraditosPorFila;
  7. on (release) {
  8. // Los dibujos serán como el de encima de este botón
  9. // y mutarán:
  10. Dibujo = 0;
  11. // Repetir para el dibujo 1, 2, etc:
  12. do {
  13. Dibujo++;
  14. // El dibujo a copiar no necesita ser modificado:
  15. if (Dibujo != _parent.ID) {
  16. Cuadradito = 0;
  17. // Repetir hasta que todo cuadradito se haya copiado,
  18. // por ahora no hay mutación:
  19. do {
  20. Cuadradito++;
  21. ColoraCopiar = new Color("_parent.Cuadradito"+Cuadradito);
  22. ColoraSustituirse = new Color("_level0.Dibujo"+Dibujo+".Cuadradito"+Cuadradito);
  23. ColoraSustituirse.setRGB(ColoraCopiar.getRGB());
  24. } while (Cuadradito<_level0.MaxCuadradito);
  25. // De cada dibujo copia, variar cuadraditos al azar,
  26. // de 1 hasta CuadraditosPorFila,
  27. // aumentando por dibujo hacia derecha y abajo:
  28. // Repetir hasta que se haya variado esa cantidad...
  29. // de cuadraditos:
  30. CuadraditosModificados = 0;
  31. if (Dibujo <= _level0.Resto*(_level0.DistintasMutaciones+1)) {
  32. ModificacionesRequeridas = Math.floor((Dibujo-1)/(_level0.DistintasMutaciones+1))+1;
  33. } else {
  34. ModificacionesRequeridas = _level0.Resto+1+Math.floor((Dibujo-_level0.Resto(_level0.DistintasMutaciones+1)-1)/_level0.DistintasMutaciones);
  35. }
  36. trace(Dibujo+": "+ModificacionesRequeridas);
  37. // Cosas que no vienen al caso.
  38. }
  39. } while (Dibujo<_level0.MaxCuadro);
  40. }

Resultado:
(Nro de casillero, número asignado (que puede entenderse como color)):
2: 1
3: 1
4: 1
5: 1
6: 1
7: 1
8: 3
9: 3
10: 3
11: 3
12: 3
13: 4
14: 4
15: 4
16: 4
17: 4
18: 4
19: 5
20: 5
21: 5
22: 5
23: 5
24: 5
25: 6

Necesito que sea:
Del 1 al 7: Son de 1.
De 8 a 13: De 2.
De 14 a 19: De 3.
De 20 a 25: De 4.
11111
11222
22233
33334
44444
309  Programación / Programación General / Re: Contar cuántos cuadraditos pintados aislados hay en un dibujo. en: 10 Junio 2024, 10:36 am
Hummm... otro de esos mensajes que da hasta pereza leerlo completo.
¿Te refieres al mío o al que escribiste? Si es el mío ¿por qué te da pereza?

Citar
Veamos, un 'cuadradito' es de cualquier tamaño?
Un espacio de XxX píxeles se divide en YxY cuadraditos. X no recuerdo cuánto es e Y va aumentando a medida que se muestran los dibujos posibles de 2 colores. Así, el tamaño de los cuadraditos va disminuyendo porque deben entrar cada vez más en el espacio pero el espacio disponible es fijo.
Aquí tienes una pequeña muestra, algo antigua:
https://www.youtube.com/watch?v=0x5fEw8LGP4

Citar
Al menos se puede rechazar el cuadrado de 1x1 píxel?
No entiendo la pregunta, pero si te refieres a que si habrá de esos, supongo pero cuando la cantidad de cuadraditos por fila sea igual al tamaño de la hoja, cosa que no he llegado a probar. Estoy intentando evitar ciertos dibujos indeseados antes de dejar que el programa llegue a tantos cuadraditos por fila.

Citar
Si un 'cuadradito', ya se contó, puede todavía formar parte de otro más grande?
No se cuentan así, se cuentan individualmente, un cuadradito es el mínimo tamaño en un dibujo, es una simulación de un pixel, simplemente se ve más grande.

Citar
Si el color blanco refiere al fondo, entonces solo se forman cuadraditos de color negro, o hay más colores?....
Por ahora sólo negros, pero entiende que lo blanco también son cuadraditos de color blanco que pueden cambiar a negro y viceversa, digo que son fondo porque... cuando sean más colores (aún no), es así, como el fondo de la hoja, no es el dibujo...

Citar
Como ves faltan muchos detalles (y no quiero ser exhaustivo), para poder decirte algo concreto y directo.
Podía dar el código completo pero no creí que alguien quisiera leer tanto, además ya puse similares en temas anteriores. Lo subo a un txt para que no ocupe tanto espacio en el post:
https://drive.google.com/file/d/13dSzreVp-WgV0RMKvaRTncqB84lMj3mJ/view?usp=sharing
Y aquí tienes el editable:
https://drive.google.com/file/d/11ksgI1ZEgOSTf0o7X_TRVFLAXPmStT9F/view?usp=sharing
No funciona y aunque dice "ifs terminados", en realidad es sólo un grupo. Se me ocurrió una forma de simplificar la tarea, básicamente es tener guardado cuales coordenadas (filas y columnas) están pintadas, lo estaba evitando porque quería evitar crear variables innecesarias; si funciona como pienso cuando lo tenga hecho lo posteo.

Ok, si no me funciona lo que se me ocurrió intento aplicar lo tuyo, no lo entiendo bien.

Edit: Tras los cambios requeridos en el fotograma 2 que no vienen mucho al caso, tengo esto:
Código
  1. function Variar () {
  2. ReferenciaAlColoraModificar = "ColordeCuadradito"+Puntero;
  3. ColoraModificar = eval(ReferenciaAlColoraModificar);
  4. // ¿El cuadradito puede cambiar de color?
  5. if (ColoraModificar<1) {
  6. // Sí, hacer los cambios:
  7. set (ReferenciaAlColoraModificar, ColoraModificar+1);
  8. NuevoColor = new Color("Cuadradito"+Puntero);
  9. NuevoColor.setRGB(0);
  10. // Obtener fila y columna del cuadradito:
  11. Fila = Math.ceil(Puntero/CuadraditosPorFila);
  12. Columna = (Puntero-1)%CuadraditosPorFila+1;
  13. set("Cuadradito"+Fila+"_"+Columna, 0);
  14. // Para juzgar:
  15. // ¿El dibujo tiene menos de Largo/2 cuadraditos aislados?
  16. // Se actualizará el contador de pintados aislados:
  17. // De cada pintado al lado del recién pintado,
  18. // se verá si estaba aislado,
  19. // en cuyo caso disminuirá el contador.
  20. // Si no hay pintados al lado del nuevo, aumentará.
  21. // Esta variable puede cambiar:
  22. CuadraditoAislado = "Sí";
  23. Fila2 = Fila+1;
  24. Columna2 = Columna+1;
  25. // Si su inferior derecho existe y está pintado,
  26. // entonces el actual no está aislado,
  27. // y se mira si el infder estaba aislado:
  28. // Cuántos de sus contiguos están pintados.
  29. // Por practicidad se cuenta también el recién pintado.
  30. // Si la cantidad es 1, estaba aislado,
  31. // el contador de Aislados baja.
  32. // CONVERTIR EN FUNCIÓN:
  33. // ¿El contiguo indicado está pintado?
  34. if (eval("Cuadradito"+Fila2+"_"+Columna2) == 0 ) {
  35. // Sí, el recién pintado no está aislado:
  36. CuadraditoAislado = "No";
  37. // Se contarán los contiguos de este (contiguo al recién...).
  38. ContiguosPintados = 0;
  39. Fila3 = Fila2+1;
  40. Columna3 = Columna2+1;
  41. // CONVERTIR EN FUNCIÓN2:
  42. // ¿El contiguo indicado está pintado?
  43. if (eval("Cuadradito"+Fila3+"_"+Columna3) == 0 ) {
  44. // Sí, aumentar contador:
  45. ContiguosPintados++;
  46. }
  47. //
  48. Columna3--;
  49. // APLICAR FUNCIÓN2
  50. // Continuar modificando Col3 y fila3 y rellamando a la func2.
  51. }
  52. //
  53. Columna2--;
  54. // APLICAR FUNCIÓN
  55. // Continuar modificando Col2 y fila2 y rellamando a la func.
  56.  
  57. // en vez de usar CuadraditoAislado = "Sí"; se podría definir
  58. // ContiguosPintados = 0; desde el inicio y si aumentó entonces
  59. // se entiende que ek recién pintado no estaba aislado.
  60. // Pero igual ese contador debe reiniciarse cada vez que se empieza a contar,
  61. // pero en esos casos siempre es 1 mínimo.
No sé si funciona bien pero ahí está la idea. Falta agregar lo que dije ahí. En unos días o algo así supongo que estará.
310  Foros Generales / Foro Libre / Re: Otros Foros en: 10 Junio 2024, 05:55 am
Nah, lo suyo es más bien como ir a un hospital a preguntar dónde puede hablar con sicarios xD  Aunque tampoco es que aquí todo sea tan "white".

PD: Yo estoy aquí porque me gusta usar PC, la programación y videojuegos, mi interés por el hacking no es mucho, y no conozco otros foros de eso, ni he buscado.
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 229
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines