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)


  Mostrar Mensajes
Páginas: 1 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ... 238
601  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Duda sobre publicación códigos generados por openAI en: 12 Febrero 2024, 01:29 am
En mi opinión sólo sería un problema si quien los postea parece que quiere romper un record de posteos similares y por eso no los revisa o lo hace tan rápido que es como si no lo hiciera. Si es alguno sin revisar de vez en cuando o revisados, no le veo problema.

En Quora hay casos en que la persona que pregunta dice "ver mi comentario", y la persona o bot (es que ya no se sabe) que responde con una IA dice "No se ve un comentario", es decir la persona no se tomó la molestia de mirarlo o es que ya ni siquiera saben leer, como sea la cuestión es que una respuesta así puede ser más molesta que útil. Incluso yo que no tengo celular ya puedo usar una IA, si quisiera preguntarle lo hago ¿qué sentido tiene que se responda con eso? Pero me remito a lo dicho arriba.


602  Media / Multimedia / ¿Por qué este video de YT es tan difícil de descargar? en: 11 Febrero 2024, 18:20 pm
Como último recurso probaré los métodos que uds me dijeron en un tema que hice hace tiempo sobre un video en otro lado, aquí no estoy preguntando cómo descargar este sino por qué es tan difícil hacerlo, qué tiene de especial, si alguien sabe. Probé diversas páginas de descarga sin instaladores como debe ser y en muchos casos me dice esto:
Se denegó el acceso a rr5---sn-p5qlsn7s.googlevideo.comNo tienes autorización para ver esta página.
HTTP ERROR 403

Por cierto a mí no me interesa ver esta basura, es para una abuela:
https://www.youtube.com/watch?v=NBv6qxKxWEY




https://www.youtube.com/watch?v=NBv6qxKxWEY
603  Media / Juegos y Consolas / Re: super mario bros 8? en: 6 Febrero 2024, 11:11 am
El juego que buscan probablemente sea una versión pirateada de Don Doko Don 2, yo jugué al M8 también en la Family Game, Family Computer o como se llame.

https://www.youtube.com/watch?v=1hyhqjE2ut8

El 1 es más difícil, nunca lo pude pasar.
604  Programación / Programación General / ¿Cuando mostrar cosas en pantalla? en: 5 Febrero 2024, 21:46 pm
Otra duda aparentemente tonta que me ha tenido trancado demasiado tiempo.

En programas que hacen poco, el print o lo que sea se pone casi al final, para mostrar el resultado de la tarea. Nada más.

En programas que hacen muchas cosas, lo mismo pero los prints también se ponen antes de ciertos procesos o después para indicar en qué parte del programa va, o qué está analizando en el momento. Lo vemos cuando copiamos muchos archivos por ejemplo, se indica cual se está copiando.

Parece una cuestión obvia de resolver.

Pero yo tengo un programa que me cuesta decidir o entender dónde quisiera poner los prints si tuviera un criterio que me parezca bueno. En cierto punto sólo ponía uno al final. Luego poco a poco pasé a seguir este patrón generalmente: Comentario, cambio, print. Luego empecé a creer que no tiene sentido hacer print de cada cambio porque si una cosa funciona bien no es necesario indicar que otra lo hizo, por ejemplo indicar que una variable cambió parece innecesario si enseguida se aplicará para algo. Así, quité todos los prints (en mi caso traces) del fotograma 1 excepto uno que muestra lo mismo que otra cosa así que lo quitaré también, no me di cuenta. Ahora iba a analizar el resto y, no sé bien qué hacer...
Código
  1.   actions for fotograma 1
  2.      function InsertarNodoyFlecha () {
  3.         // Insertar Nodo:
  4.         Imagenes = Imagenes+1;
  5.         Nodos = Nodos+1;
  6.         Grafo.attachMovie("mNodo", "Nodo"+Nodos, Imagenes);
  7.         // Especificar la situación que representa:
  8.         set ("Grafo.Nodo"+Nodos+".EnHP", EnHP);
  9.         // Insertar flecha:
  10.         Imagenes = Imagenes+1;
  11.         Grafo.attachMovie("mFlecha", "Flecha"+Nodos, Imagenes);
  12.         // Especificar el sitio donde se insertan:
  13.         PosicionY = PadrePosicionY+33;
  14.         setProperty ("Grafo.Nodo"+Nodos, _y, PosicionY);
  15.         setProperty ("Grafo.Flecha"+Nodos, _x, PadrePosicionX);
  16.         setProperty ("Grafo.Flecha"+Nodos, _y, PadrePosicionY+6.5);
  17.         Hijos = Hijos+1;
  18.         // Como por ahora casi todo padre tiene 1 hijo, este if agiliza el proceso creo:
  19.         if (Hijos == 1) {
  20.            PosicionX = PadrePosicionX;
  21.            setProperty ("Grafo.Nodo"+Nodos, _x, PosicionX);
  22.         } else {
  23.            Hijo = 0;
  24.            MinPosicionX = PadrePosicionX-16.5*(Hijos-1);
  25.            SAquedebeActualizarse = SAs-Hijos;
  26.            do {
  27.               Hijo = Hijo+1;
  28.               PosicionX = (Hijo-1)*33+MinPosicionX;
  29.               setProperty ("Grafo.Nodo"+(Nodos-Hijos+Hijo), _x, PosicionX);
  30.               // Actualizar datos de las posiciones guardadas:
  31.               SAquedebeActualizarse = SAquedebeActualizarse+1;
  32.               set ("SA"+SAquedebeActualizarse+"PosicionX", PosicionX);
  33.               // Establecer rotación 0 a la flecha para que su altura de se modifique bien:
  34.               setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _rotation, 0);
  35.               // Especificar rotación y tamaño de flecha:
  36.               DistanciaXPadreHijo = Math.abs(Math.abs(PadrePosicionX)-Math.abs(PosicionX));
  37.               setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _height, Math.sqrt(DistanciaXPadreHijo*DistanciaXPadreHijo+20*20));
  38.               Rotacion = 180/Math.PI*Math.atan(DistanciaXPadreHijo/20*-1);
  39.               // Si el hijo está a la izquierda del padre, invertir la rotación:
  40.               if (PosicionX<PadrePosicionX) {
  41.                  Rotacion = Rotacion*-1;
  42.               }
  43.               setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _rotation, Rotacion);
  44.            } while (Hijo<Hijos);
  45.         }
  46.      }
  47.      Respuesta = "Vencer al enemigo mediante acciones, el enemigo tiene 11 HP. Se recomienda la serie... ";
  48.      // Situación inicial:
  49.      // HP inicial del enemigo:
  50.      EnBaseHP = 33;
  51.      trace ("EnBaseHP: "+EnBaseHP);
  52.      // Guardar situación y cómo se produjo:
  53.      // Parte inicial del nombre de los datos (en este caso S11):
  54.      SitID = "S"+EnBaseHP;
  55.      // Acción realizada en la situación anterior (en este caso ninguna):
  56.      set (SitID+"ActionAnterior", "Ninguna");
  57.      // En este caso la variable es S11Action y su valor es "Ninguna".
  58.      // Posición X e Y del nodo que representa la situación desde la cual se originó la que será representada por otro nodo...
  59.      // ...pero en este caso es la posición del 1er nodo.
  60.      PadrePosicionX = 0;
  61.      PadrePosicionY = 0;
  62.      // Cantidad de imágenes insertadas:
  63.      Imagenes = 1;
  64.      // Cantidad de nodos del grafo a mostrar:
  65.      Nodos = 1;
  66.      // Insertar nodo inicial:
  67.      Grafo.attachMovie("mNodo", "Nodo1", 1);
  68.      // Especificar la situación que representa:
  69.      Grafo.Nodo1.EnHP = EnBaseHP;
  70.      // Hijos del nodo de la situación que se está analizando:
  71.      Hijos = 0;
  72.      // Acción que será usada 1ero:
  73.      Action = 1;
  74.      // Variables sobre situaciones anotadas:
  75.      // Total de situaciones anotadas:
  76.      SAs = 0;
  77.      // Situación anotada que será investigada 1ero:
  78.      SiguienteSAaInvestigar = 0;
  79.   actions for fotograma 2
  80.      trace ("Reset de la situación, aplicación de la acción, la situación ahora es:");
  81.      EnHP = EnBaseHP-Action;
  82.      trace ("EnHP: "+EnHP);
  83.      // ¿Se logró el objetivo?
  84.      if (EnHP<=0) {
  85.         trace ("Solución hallada, iniciando proceso para mostrar cómo causarla.");
  86.         Serie = Action;
  87.         InsertarNodoyFlecha();
  88.         gotoAndPlay (5);
  89.      } else {
  90.         trace ("No se logró el objetivo.");
  91.         // ¿La situación producida está anotada?
  92.         if (eval("S"+EnHP+"ActionAnterior") == undefined) {
  93.            trace ("La situación producida no está anotada.");
  94.            trace ("Se anotará y cómo se logró.");
  95.            SitID = "S"+EnHP;
  96.            set (SitID+"EnHPAnterior", EnBaseHP);
  97.            set (SitID+"ActionAnterior", Action);
  98.            trace ("Ahora está anotada: "+SitID);
  99.            trace ("Su antecedente fue ("+SitID+"EnHPAnterior): "+EnBaseHP);
  100.            trace ("y la acción fue ("+SitID+"ActionAnterior): "+Action);
  101.            // También se agrega como situación a investigar y se anota en qué consiste:
  102.            SAs = SAs+1;
  103.            SitID = "SA"+SAs;
  104.            set (SitID+"EnHP", EnHP);
  105.            trace ("Situaciones anotadas: "+SAs);
  106.            trace ("La última consiste en (EnHP): "+eval(SitID+"EnHP"));
  107.            // Se inserta el nodo que la representa y se guarda su posición:
  108.            InsertarNodoyFlecha();
  109.            set (SitID+"PosicionX", PosicionX);
  110.            trace (SitID+"PosicionX: "+PosicionX);
  111.            set (SitID+"PosicionY", PosicionY);
  112.         } else {
  113.            trace ("La situación producida ya está anotada.");
  114.         }
  115.      }
  116.   actions for fotograma 3
  117.      // ¿Modificar acción es posible?
  118.      if (Action<7) {
  119.         trace ("Es posible modificar acción.");
  120.         Action = Action+1;
  121.         trace ("Action fue modificada, es: "+Action);
  122.         gotoAndPlay (2);
  123.      } else {
  124.         trace ("No es posible modificar la acción.");
  125.         if (SiguienteSAaInvestigar<SAs) {
  126.            // Aún hay situaciones anotadas sin investigar, investigar una (probablemente lo ideal sería investigar la más diferente a las investigadas, pero me es difícil programar eso):
  127.            trace ("Aún hay situaciones anotadas sin investigar.");
  128.            SiguienteSAaInvestigar = SiguienteSAaInvestigar+1;
  129.            EnBaseHP = eval("SA"+SiguienteSAaInvestigar+"EnHP");
  130.            trace ("Se investigará la situación anotada nro: "+SiguienteSAaInvestigar);
  131.            trace ("Consiste en EnBaseHP: "+EnBaseHP);
  132.            // Guardar su posición para saber dónde poner a sus posibles hijos:
  133.            PadrePosicionX = eval("SA"+SiguienteSAaInvestigar+"PosicionX");
  134.            trace ("Nuevo PadrePosicionX: "+PadrePosicionX);
  135.            PadrePosicionY = eval("SA"+SiguienteSAaInvestigar+"PosicionY");
  136.            Hijos = 0;
  137.            // Reset de la acción a usar:
  138.            Action = 1;
  139.            trace ("Reset de la acción a usar, es: "+Action);
  140.            gotoAndPlay (2);
  141.         } else {
  142.            trace ("No hay situaciones anotadas sin investigar ni es posible lograr el objetivo.");
  143.            Respuesta = "No es posible lograr el objetivo.";
  144.         }
  145.      }
  146.   actions for fotograma 5
  147.      // Obtener acción anterior:
  148.      ActionAnterior = eval("S"+EnBaseHP+"ActionAnterior");
  149.      trace ("La acción anterior fue: "+ActionAnterior);
  150.      // ¿Hubo?
  151.      if (ActionAnterior != "Ninguna") {
  152.         // Sí, agregarla en la lista:
  153.         Serie = ActionAnterior+" "+Serie;
  154.         trace ("Acción agregada en la serie.");
  155.         // Averiguar cual fue la situación anterior:
  156.         EnBaseHP = eval("S"+EnBaseHP+"EnHPAnterior");
  157.         trace ("Se realizó en la situación: S"+EnBaseHP);
  158.         // Repetir este frame.
  159.         gotoAndPlay (4);
  160.      } else {
  161.         // No hubo una acción anterior, mostrar la serie:
  162.         trace (Respuesta+Serie);
  163.         stop ();
  164.      }

Además hay cosas como esta:
// Aún hay situaciones anotadas sin investigar, investigar una (probablemente lo ideal sería investigar la más diferente a las investigadas, pero me es difícil programar eso):
trace ("Aún hay situaciones anotadas sin investigar.");
Es decir un trace que dice lo mismo que el comentario, por lo que parece que debería borrar el comentario, pero el comentario dice más cosas que no tiene sentido decir en un trace. Ahora se me ocurre poner el trace y luego el comentario quitando lo que ya se dice en el trace, sí, puede que sea una solución muy obvia pero no me di cuenta en parte por intentar seguir el patrón que mencioné.

605  Foros Generales / Foro Libre / Re: Conocen otros foros hispanos de programación? en: 4 Febrero 2024, 03:32 am
Me parece posible que ya haya respondido esta pregunta, y a ti.

Pero estoy seguro de que ya has dicho que el foro está muerto, y queda feo decirlo porque si bien no tiene una actividad enorme sí tiene.

No conozco otros, me basta con este, los que conocía hace años dejé de usarlos porque en unos no respondían (la web del progrador y algún otro) y en otro había un usuario que en vez de responder mis dudas me decía que él era profesional, que yo debería imitarlo, usar un mejor lenguaje, y los moderadores lo dejaban a sus anchas así que decidí no seguir ahí.

En Reddit supongo que algún subreddit habrá como el que buscas. Nomás te recomiendo andar con mucho cuidado, te banean sin mucho motivo y a veces son muy exigentes con el contenido, preguntas concisas y esas cosas, moderan bots en parte.
606  Foros Generales / Dudas Generales / Re: ¿Cómo copio rápido los temas que hice en un foro? en: 3 Febrero 2024, 12:10 pm
No es para Quora.
607  Programación / Programación General / 1, acciones, incremento VS 0, incremento, acciones. en: 3 Febrero 2024, 08:51 am
¿Qué se ha dicho que es mejor o qué opinan?

¿Cuales son las ventajas/desventajas de cada uno?

¿No hay diferencia casi?

Por si no se entiende me refiero a:
Código:
Contador = 1
Repetir:
  // Acciones.
  Contador++

VS

Código:
Contador = 0
Repetir:
  Contador++
  // Acciones.

No parece haber diferencia pero me pregunto si cuando el código se pone medio spaguetti sí...
608  Foros Generales / Dudas Generales / Re: ¿Cómo copio rápido los temas que hice en un foro? en: 3 Febrero 2024, 00:43 am
Se debería guardar en formato página completa ¿no? Como cuando se da "Guardar como". Html me dice. El problema es que no quiero hacer eso 3000 veces con esperas de carga, de descarga, y a su vez los temas tienen muchas páginas.
De ese modo las citas y colores se guardan creo, los links también.

Las imágenes creo que también, si aún existen, porque muchas ya no.

Los videos no, sólo los links.

Lo digo según mi experiencia descargando páginas.
609  Foros Generales / Dudas Generales / ¿Cómo copio rápido los temas que hice en un foro? en: 2 Febrero 2024, 19:09 pm
1er post y en lo posible todas las respuestas y páginas.

El admin me dijo:
Citar
Lo más fácil es que tú mismo hagas un script con wget o curl.

Yo no sé cuándo tendré tiempo.

Teniendo los temas, puedes entrenar un LLM y preguntarle para que te responda como cualquier usuario del foro.
Estoy ya bastante liado con mis cosas como para meterme en esas, no tengo idea de cómo se hace. Son unos 3000 temas, hacerlo a mano no parece buena idea.
610  Media / Juegos y Consolas / Re: duda juegos en: 31 Enero 2024, 22:27 pm
Os comento: en pokemon hay una situacion donde tienes que pulsar 200 veces seguidas una teclado (si quieres comprar 200 bebidas,no te dejan comprar de golpe,sino que te obligan a ir una a una). Mi intención seria con algun programita seleccionar que apriete tal boton 200 veces y yo mientras me desentiendo y hago otras cosas.
No recuerdo en qué caso yo hacía esto, creo que para dar experiencia en Mario Tennis (por PC, y cuando las teclas eran un poco más grandes):
1- Apilar monedas.
2- Unirlas con cinta.
3- Configurar el emulador para que tenga autofire con una tecla.
4- Poner la pila encima de la tecla autofire.

Si quieres que no pase demasiado tiempo en el juego luego de la tarea puedes leer un libro cerca o algo.

Pero una mejor forma de hacerlo es con gamesharks o similares, aunque si lo quieres todo legal será difícil que puedas modificar el tiempo de modo que termine exacto como debería. Con cheats puedes modificar muchas cosas del juego, nro de ítems, qué item tienes en la posición 1, qué pokemon salvaje te aparecerá, etc. Pero guarda la partida con savestate antes porque se te puede joder si lo haces mal.
Páginas: 1 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ... 238
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines