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


Tema destacado: Tutorial básico de Quickjs


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 50
111  Sistemas Operativos / Windows / ¿Algo que abra una carpeta y además un archivo? en: 12 Agosto 2024, 02:37 am
Un acceso directo es, según he visto, abrir una cosa o la otra, no ambas.

Se puede abrir una carpeta, que el archivo esté dentro o un acceso directo a él y entonces abrirlo, pero quiero que se abran ambas cosas con un par de clics.

¿Es posible? ¿con un bat, un exe, cómo los hago?
112  Sistemas Operativos / Windows / Hacer ícono con transparencia en W7 ¿qué estoy haciendo mal? en: 10 Agosto 2024, 13:24 pm
Tengo el dibujo en Flash, mide 32x32 px.

Lo publico como png y gif.

Si les cambio la extensión a ico, no se reconocen como tales, dice que no hay ícono ahí.

Abro el png con paint y lo guardo como bmp. Luego lo cambio a ico, funciona pero no es transparente.

Abro el png con paint y lo guardo como gif. Luego lo cambio a ico, no funciona.

Tal vez hago algo distinto pero es lo que recuerdo y no volveré a probar por ahora porque el frío me está congelando las manos.
113  Foros Generales / Foro Libre / Adivinar característica que puede tener un número. en: 9 Agosto 2024, 23:46 pm
Conocen juegos donde se debe adivinar una película, frase, etc, diciendo letras. Las 1eras letras que dices son las que en general están en más palabras. No empiezas diciendo la x, sino la a por ejemplo.

No quiero hacer un juego de esto, o no era mi intención, pero me interesa esto: Supongamos que elijo una característica que puede tener un número (por ejemplo ser divisible entre 11), y debes adivinar cual es, diciendo números, hasta que digas uno que la cumpla ¿qué números dirías 1ero?

Puede haber pistas:
- Un "rango", por ejemplo "Entre 0 y 50 hay números que la cumplen".
- Qué tipo de números es necesario decir, por ejemplo "Tendrás que decir decimales", o "Basta conque digas enteros positivos".

No se vale elegir una que no la cumplan los números normales (enteros/decimales, positivos/negativos/0).

Bue, GPT no entendió:
Citar
Entiendo que estás interesado en un juego de adivinanzas que implique identificar números que cumplen con una característica particular, como ser divisible entre 11. En este caso, si te doy pistas como un rango o el tipo de números que se deben decir, ¿cuáles serían los números que dirías primero?

Para abordar el desafío de adivinar un número que cumple con una característica específica, como ser divisible entre 11, es útil seguir una estrategia que maximice las posibilidades de identificar el número correcto lo más rápido posible.

Dado que estamos tratando con números enteros y decimales normales, y no se permiten trucos o excepciones inusuales, la estrategia más eficaz sería comenzar con números que sean múltiplos de 11, ya que estos son los números que cumplen con la característica de ser divisibles entre 11.

(...)
No tiene sentido comenzar por los divisibles entre 11 porque lo que debes adivinar es que son divisibles entre 11, lo que tiene sentido es empezar por un número que probablemente cumpla la característica elegida por tu rival, que tú no sabes, es decir, empezar ppor números que cumplan la mayor cantidad posible de características. ¿Cuales son esos números?

Mira, vamos a jugarlo. Yo elijo una característica que tienen algunos números, y tú diciendo números debes adivinar cual característica elegí.

Pistas:
Del 0 al 1000 hay números que la cumplen.
Los números enteros la cumplen.

(sólo para uds: Elegí capicúa que tiene algún 9).

Citar
¡Entendido! Vamos a jugar. Dado que debemos identificar una característica que algunos números comparten y que se encuentran en el rango del 0 al 1000 y que los números enteros la cumplen, empezaré nombrando números que cumplen con múltiples características para aumentar la probabilidad de acertar.

Aquí están los números que nombraría primero:

1. **100**: Es un número redondo y alto que podría cumplir con varias características.
2. **500**: Otro número central que podría tener múltiples propiedades.
3. **250**: Un número intermedio que podría cumplir con diferentes criterios.
4. **750**: Otro número alto y redondo que podría tener las características requeridas.
5. **333**: Un número impar que podría cumplir con ciertas condiciones.
6. **666**: Un número especial por su composición de dígitos.
7. **888**: Otro número especial que destaca por su estructura.

Estos números son seleccionados con la idea de cubrir una amplia gama de posibles características que podrías haber elegido. ¿Cuál es la característica específica que tengo que adivinar?
Es claro que puede ser difícil, pero probablemente no es casualidad que haya fallado, no son los mejores números a decir.

Espero que se entienda el tema y espero respuestas.
114  Sistemas Operativos / Windows / Me apareció un "Grupo en el hogar" ¿qué es? en: 7 Agosto 2024, 18:11 pm
Mi PC dejó de funcionar, se la di a un técnico sin el disco duro, me la devolvió y ahora tengo esto

¿qué es? ¿cómo lo quito?

115  Programación / Programación General / Contar tiempo en que se presionan teclas pero... en: 31 Julio 2024, 10:00 am
Supongamos que se presiona una tecla. Pasa un frame (tiempo). En el siguiente frame, el contador debe aumentar. Eso lo logré.

Otra situación:
- Presión.
- Frame.
- Frame, aumenta el contador, presión de otra tecla.
- Frame, aumenta 1 el contador.
- Frame, aumenta 2 el contador.

Es decir, el contador aumenta 1 en cada frame por cada tecla presionándose pero sólo si se presionó durante más de 1 frame. No estoy pudiendo lograr eso.

Mi código es básicamente repetir esto:
Código:
Cuando hay una presión:
   TeclasPresionandose++
   Si AlgunaPresionandose == "No", then eso = "Recién"
Cuando hay un nuevo frame:
   Si AlgunaPresionandose == "Recién", then eso = "Sí"
   // Eso logra que en el 1er frame no aumente el contador.
   sino si AlgunaPresionandose == "Sí", then:
      Contador = Contador+TeclasPresionandose

Eso no sirve porque la 2nda, 3era, etc, tecla que se presione aumentará el contador desde el 1er frame en que se presione, y debe ser desde el 2ndo.

Intenté hacer esto:
Código:
Cuando hay una presión:
   TeclasPresionandose++
   TeclasRecientes++
   Si AlgunaPresionandose == "No", then eso = "Recién"
Cuando hay un nuevo frame:
   Si AlgunaPresionandose == "Recién", then eso = "Sí"
   sino si AlgunaPresionandose == "Sí", then:
      Contador = Contador+TeclasPresionandose-TeclasRecientes
      TeclasRecientes = 0

Pero sucede esto:
En el 1er frame no aumenta, eso está bien.
En el 2ndo frame tampoco, porque TeclasPresionandose-TeclasRecientes es 1-1, está mal que no aumente.


Lo que se me acaba de ocurrir es:
Código:
Cuando hay una presión:
   TeclasPresionandose++
   TeclasRecientes++
   Si AlgunaPresionandose == "No", then eso = "Recién"
Cuando hay un nuevo frame:
   Si AlgunaPresionandose == "Recién", then:
      Eso = "Sí"
      TeclasRecientes--
   sino si AlgunaPresionandose == "Sí", then:
      Contador = Contador+TeclasPresionandose-TeclasRecientes
      TeclasRecientes = 0

Lo pruebo, pero es feo ese -- sin que realmente se haya reducido. ¿Soluciones?

EDIT: Hay que poner 0 en vez de -- o sino si la 1era vez se presiona más de una tecla, lo que se sume será 2-1 la 1era vez, y debe ser 2. En realidad todo eso de "No", "Recién" y "Sí" podría ser innecesario, lo que pasa que también cuento la cantidad de frames (a partir del 2ndo) en que se está presionando alguna tecla, en este caso independientemente de cuántas se presionen, pero no pensé que fuese relevante. Dejo el código completo a ver si alguien lo puede simplificar:
Nota: Lo de C (ejemplo MovimientosC) es que se cuenta el evento si es el único en ese momento o si sucede a la vez que otros, resume +Cualquiercosa.
Código
  1. // Frame 1:
  2. Frames = 0;
  3. // Relativo a Movimiento del mouse:
  4. // Esto sólo lo pude contar en el cambio de frame:
  5. MovimientosC = 0;
  6. // Esto se cuenta desde el 2ndo frame en que se mueve:
  7. FramesMoviendoseC = 0;
  8. // Esto sólo lo pude contar en el cambio de frame:
  9. FrenadasC = 0;
  10. // Relativo a Clics:
  11. ClicsC = 0;
  12. // Esto se cuenta desde el 2ndo frame en que se está cliqueando:
  13. FramesCliqueandoC = 0;
  14. DesclicsC = 0;
  15. // Relativo a Clacs:
  16. ClacsC = 0;
  17. // Esto se cuenta desde el 2ndo frame en que se está claqueando:
  18. FramesClaqueando1C = 0;
  19. // La diferencia es que cuenta cada tecla claqueandose:
  20. FramesClaqueandoXC = 0;
  21. DesclacsC = 0;
  22. // Se detiene en el frame 4 (en el 2 y 3 hay un tiempo de espera antes de empezar, no viene al caso). Un objeto en él tiene:
  23. onClipEvent (load) {
  24. // Para saber si el mouse se movió:
  25. ActualXMouse = _level0._xmouse;
  26. ActualYMouse = _level0._ymouse;
  27. // Para saber si FramesMoviendoseC debe aumentar:
  28. Moviendose = "No";
  29. // Para saber si FramesClaqueando1C debe aumentar:
  30. Claqueando = "No";
  31. // Para determinar qué pantalla mostrar:
  32. PantallaActual = 1;
  33. TiempodePantalla = 333;
  34. }
  35. // Clics:
  36. onClipEvent (mouseDown) {
  37. _level0.ClicsC++;
  38. // Para saber si FramesCliqueandoC debe aumentar
  39. // (si al cambiar el frame es Recién, cambia a Sí y empieza...
  40. // a aumentar. Se detiene cuando cambia a No, al descliquear).
  41. Cliqueando = "Recién";
  42. }
  43. onClipEvent (mouseUp) {
  44. _level0.DesclicsC++;
  45. // Para que FramesCliqueandoC ya no aumente:
  46. Cliqueando = "No";
  47. }
  48. // Teclas:
  49. onClipEvent (keyDown) {
  50. // Clacs sólo debe aumentar si ocurre un clac, no si se mantiene:
  51. // Si la tecla presionándose no está indicada como tal:
  52. if (eval("Tecla"+Key.getCode()+"Presionandose") == undefined) {
  53. // Indicarla:
  54. // trace("Se presionó la tecla: "+Key.getCode());
  55. set ("Tecla"+Key.getCode()+"Presionandose", "S");
  56. // trace("Tecla"+Key.getCode()+"Presionandose: "+eval("Tecla"+Key.getCode()+"Presionandose"));
  57. _level0.ClacsC++;
  58. // Para más adelante saber qué tecla se soltó:
  59. TeclasPresionandose++;
  60. // Para más adelante saber cuánto debe aumentar FramesClaqueandoXC:
  61. TeclasRecienPresionadas++;
  62. // Esto es para saber cual eliminar cuando se deje de presionarse:
  63. set ("TeclaPresionandoseNro"+TeclasPresionandose, Key.getCode());
  64. // trace("TeclaPresionandoseNro"+TeclasPresionandose+": "+eval("TeclaPresionandoseNro"+TeclasPresionandose));
  65. if (Claqueando == "No") {
  66. Claqueando = "Recién";
  67. }
  68. }
  69. }
  70. onClipEvent (keyUp) {
  71. // Revisar lista de teclas guardadas como presionándose,
  72. // para quitar las que ya no estén así:
  73. Puntero = 0;
  74. do {
  75. Puntero = Puntero+1;
  76. if (Key.isDown(eval("TeclaPresionandoseNro"+Puntero))) {
  77. // trace("La tecla "+eval("TeclaPresionandoseNro"+Puntero)+" aún está presionada.");
  78. } else {
  79. // La tecla guardada como presionándose nro (puntero),
  80. // ya no está presionándose: Quitar la asignación:
  81. // ¿Debo indicar que sólo si existe?
  82. // trace("La tecla "+eval("TeclaPresionandoseNro"+Puntero)+" no está presionada.");
  83. // trace("Se elimina.");
  84. delete eval("Tecla"+eval("TeclaPresionandoseNro"+Puntero)+"Presionandose");
  85. // _level0.DesclacsC++;
  86. // Eliminar tecla de la lista de presionándose:
  87. delete eval("TeclaPresionandoseNro"+Puntero);
  88. // Reordenar lista si es necesario:
  89. Puntero2 = Puntero;
  90. while (Puntero2<TeclasPresionandose) {
  91. set("TeclaPresionandoseNro"+Puntero2, eval("TeclaPresionandoseNro"+(Puntero2+1)));
  92. Puntero2 = Puntero2+1;
  93. }
  94. // Borrar la última tecla de la lista (fue movida a antes):
  95. delete eval("TeclaPresionandoseNro"+Puntero2);
  96. TeclasPresionandose--;
  97. // TeclasSoltadasEnEsteFrame++;
  98. }
  99. } while (Puntero<TeclasPresionandose);
  100. if (TeclasPresionandose == 0) {
  101. Claqueando = "No";
  102. }
  103. Desclaqueando = "Sí";
  104. }
  105. onClipEvent (enterFrame) {
  106. // Relativo a Frames:
  107. _level0.Frames = _level0.Frames+1;
  108. // Relativo al Movimiento del Mouse:
  109. // Si se movió:
  110. if (ActualXMouse != _level0._xmouse or ActualYMouse != _level0._ymouse) {
  111. // Si estaba quieto:
  112. if (Moviendose == "No") {
  113. _level0.MovimientosC++;
  114. Moviendose = "Sí";
  115. } else {
  116. _level0.FramesMoviendoseC++;
  117. }
  118. } else if (Moviendose == "Sí") {
  119. // No se movió pero estaba moviéndose:
  120. Moviendose = "No";
  121. _level0.FrenadasC++;
  122. }
  123. ActualXMouse = _level0._xmouse;
  124. ActualYMouse = _level0._ymouse;
  125. // Relativo a Clics:
  126. if (Cliqueando == "Sí") {
  127. _level0.FramesCliqueandoC++;
  128. } else if (Cliqueando == "Recién") {
  129. Cliqueando = "Sí";
  130. }
  131. // Relativo a Clacs:
  132. if (Claqueando == "Sí") {
  133. _level0.FramesClaqueando1C++;
  134. _level0.FramesClaqueandoXC = _level0.FramesClaqueandoXC+TeclasPresionandose-TeclasRecienPresionadas;
  135. trace("TeclasPresionandose: "+TeclasPresionandose);
  136. trace("TeclasRecienPresionadas: "+TeclasRecienPresionadas);
  137. TeclasRecienPresionadas = 0;
  138. } else if (Claqueando == "Recién") {
  139. Claqueando = "Sí";
  140. // Esto es un parche para que a partir del 2ndo frame,
  141. // la 1er o 1eras teclas se cuenten:
  142. TeclasRecienPresionadas = 0;
  143. }
  144. // Relativo a cambiar pantalla:
  145. TiempodePantalla--;
  146. if (TiempodePantalla == 0) {
  147. TiempodePantalla = 333;
  148. if (PantallaActual == 1) {
  149. PantallaActual = 2;
  150. } else {
  151. PantallaActual = 1;
  152. }
  153. _level0.gotoAndStop(PantallaActual+3);
  154. }
  155. }

Lo del cambio de pantalla no es relevante aquí.
116  Media / Juegos y Consolas / ¿Cómo se vería un ajedrez 3d o batallas 3d, en 2d? en: 29 Julio 2024, 19:56 pm
Estoy pensando cómo mejoraría esto:
https://www.youtube.com/watch?v=HWiqu4J9iDA
1:05:00

Una posibilidad sería que fuese 3d ¿pero cuántas vistas se requieren para que se vea todo? No importa desde qué lado se mire un cubo de rubik: Su interior no se ve, hay 1 cubito. Si el cubo fuese más grande, habría más cubitos internos. Sería así el caso del juego.

Digamos que hay naves amarillas, rojas, etc, enfrentando a una gris. Las que estén debajo de las amarillas, y entre las rojas y bordós, no se verán.

Una posibilidad es que se muestren varias vistas laterales, como si fuesen hojas, una detrás de la otra, pero dudo que sea bueno.
Que se muestre la perspectiva de cada nave difícilmente permitiría ver la perspectiva general.

¿Ideas? ¿conocen juegos que hayan mejorado en esto?

Yo nunca había visto algo así en videojuegos.

En los Super Robot Taisen, Advance Wars, etc, cada unidad tiene su propio turno, y la perspectiva es aérea con algo de diagonal... Pero son 2d, nunca se ve una unidad encima de la otra.

En Star Craft, vi que hay unidades terrestres y naves que pueden pasarles por encima, pero cada unidad tiene una Z fija, ninguna unidad puede elevarse o descender más.

Juegos como Star Fox muestran la perspectiva de 1 nave, la cual se controla, y se va moviendo, es distinto...

Gradius y Area 88 se ven de costado como aquí pero se controla sólo 1 nave, y son 2d.

El anime La Legenda de los héroes de la galaxia trata en parte de batallas en el espacio, la idea es aplicar algo de eso aquí. Es interesante el 3d en esto porque permite más formaciones y estrategias.
117  Media / Juegos y Consolas / ¿Cómo encuentro guías en japonés? en: 28 Julio 2024, 18:21 pm
Últimamente me ha pasado ver que las guías en inglés de ciertos juegos son pocas (en gamefaqs) y bastante incompletas, y me ha pasado antes ver info más detallada en japonés (el navegador lo traduce, claro, sino no sé leerlo), así que quisiera saber cómo hallar guías así. Me interesan estas por ahora (NES):
- Daiva - Imperial of Nirsartia.
- Excitebike.
- Uchuusen - Cosmo Carrier.
118  Seguridad Informática / Seguridad / ¿Es muy inseguro comprar cosas por Internet? en: 27 Julio 2024, 02:11 am
Algo de Mercado Libre Argentina o España, soy de Uruguay.

Alguien me dijo que muchas ofertas son estafas para obtener datos de uno y luego usar eso para sacar préstamos o comprar cosas como si hubiera sido yo. Que hay muchas denuncias pero lo siguen haciendo. O que si compras una pelota de tenis por ejemplo y te mandan una de ping pong nada puedes hacer.

No entiendo por qué es tan complicado:
- El vendedor da su objeto al intermediario, quien le da una constancia de que lo recibió.
- El intermediario le muestra el objeto al comprador.
- El comprador dice si es lo que pidió o no.
- Si es lo que pidió, le da el dinero al intermediario, recibe una constancia de haber pagado, y el intermediario se queda con una copia de eso. Si no es lo que pidió, el intermediario deberá discutirlo con el vendedor, es problema suyo, el comprador sólo perdió tiempo.
- El intermediario muestra al vendedor la constancia de pago y le da el dinero acorde. Si el vendedor dice que el precio era otro, de nuevo es un problema entre ellos, pues el comprador pagó lo que el intermediario le dijo que pague.

¿Cómo van a robar datos así? ¿los intermediarios? Con ese criterio nunca te harías una tarjeta ni socio de algún lugar porque los de la empresa que tienen tus datos (para saber a quién reclamar si no pagas) va a usar tus datos para cualquier cosa.

Otra persona me dijo que incluso te pueden matar  :o
119  Media / Diseño Gráfico / Recomendación de colores. en: 23 Julio 2024, 08:29 am
El estilo de colores de la izquierda, quiero aplicarlo en la derecha:

No quiero los mismos colores, quiero el estilo más o menos. Es necesario un color extra. El estilo se entiende aquí:

Desde el máximo rojo y verde, va perdiendo verde, luego va perdiendo rojo. La solución por lógica sería alguna de estas:
- Desde el máximo rojo y azul, va perdiendo uno de esos, luego el otro.
- Desde verde y azul, va perdiendo uno de esos y luego el otro.
(verde y rojo perdiendo rojo al inicio queda descartado porque empieza como amarillo y los colores deben ser distintos a los de la izquierda).
Se muestran en el 2ndo dibujo. Pero no sé si tengo un problema en los ojos o algo curioso en mi PC o es normal, que no noto bien las diferencias entre los colores a los que le puse fuente distinta y rodié con negro, así que no sé cómo hacerlo, ahora se me ocurre desde rojo y azul pero reduciendo menos los colores porque el azul me parece demasiado oscuro enseguida, no sé si uds pueden leer el texto negro con azul oscuro, con los demás no tengo drama aunque la oscuridad es la misma. Ah, sí, recuerdo que a mi monitor lo configuré de un modo en que el rojo resalta un poco más, puede ser por eso.
¿Les pasa lo mismo que a mí? ¿qué colores quedarían bien? En lo posible no quiero que sea uno oscureciéndose, ahí no es simplemente que el rojo esté oscureciendo.

Quizá es una duda tonta pero me ha estado costando resolverla.
120  Programación / Programación General / ¿Cuales son las series cuyos números cumplen más condiciones más rápido? en: 22 Julio 2024, 12:56 pm
Supongamos que tenemos la serie A:
0, 98765, 123

Y la serie B:
1, 99999, 360

La serie B tiene un capicúa en 2ndo lugar, la A no tiene, por lo tanto la condición de tener un capicúa la cumple B más rápido.

Eso es un ejemplo, no demuestra que B sea mejor. Quiero hacer un programa que genere alguna de las series más acordes a esto pero no he concluído cómo son especificamente. En principio no pretendo que tenga decimales ni negativos ni que sea infinita. Se establece un número mínimo y otro máximo. En general, es conveniente que al inicio tengan el mínimo y máximo o 2 números parecidos a ellos. En cuanto a lo demás es que no concluyo. He estado pensando en que tengan caracteres lo más distintos posible, pero eso hace que los capicúa estén al final. Además hay varias cosas que pueden tenerse en cuenta, no sé si todas importan:
- Ser divisible entre más números, el siguiente debe ser preferentemente divisible entre otros.
- Diferencia entre sus contiguos (por ejemplo en 989 las diferencias son 9-8=1 y 8-9=-1, entonces el siguiente debe tener preferentemente diferencias lo más distintas a esas).
- Repeticiones de caracteres (por ejemplo si un número es 98765, preferentemente el siguiente debe tener todos los caracteres iguales).
- Cuan capicúa es (lo normal es considerarlo capicúa o no, pero no es lo mismo tener 2/2 caracteres capicúa que 9/9, y además la condición puede ser "ser 50% capicúa" por ejemplo).

Es claro que algunas cosas contradicen otras, deben establecerse prioridades o asignar puntajes a los números según cuantas condiciones cumplan, no sé.

¿Cómo debería ser la serie y/o el programa?

Entiendo que debe empezar por algo como:
- Definir el mínimo (no es que sea el 1ero de la serie).
- Definir el máximo (idem).
- Hallar, en ese rango, el número más divisible. Por ejemplo de 1 a 15 sería el 12. Supongo que este conviene que sea el 1er número. Generalmente será más cercano al máximo que al mínimo.
- El 2ndo número, bien podría ser el mínimo, si sólo tiene 1 caracter, sino uno cercano a él pero habría que considerar las otras cosas.

También hay que considerar condiciones como "dar resto 1 al ser dividido entre...", lo normal es buscar que den resto 0 pero esto puede ser también.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 50
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines