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


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 254
451  Programación / Programación General / ¿Cómo aprender a hacer programas que resuelvan dudas? en: 23 Agosto 2024, 01:37 am
Para aprender a hacer videojuegos, lo que hice fue pensar cómo serian los más sencillos. Mi conclusión fue uno que se gane simplemente por mover el mouse 1 vez, otro que se gane por presionar alguna tecla 1 vez, etc, y estoy haciendo un programa que cuenta cosas así, así que se supone que estoy aprendiendo a hacer videojuegos.

Para aprender a hacer programas que resuelvan dudas, he pensado cuales son las dudas más sencillas de resolver (sin usar datoes externos, la idea es que el programa averigue experimentando). He pensado en por ejemplo adivinar un número del 1 al 10, obtener un número > 10, en la expresión ... < 9: true poner en ... un valor tal que la expresión resulte lo que diga tras el :, y puedo seguir complicando eso, pero siento que es inútil, sigue siendo un tipo de duda que parece poco útil resolver ¿cómo avanzo entonces? ¿qué camino me conviene seguir?

Si quiero hacer un juego como este:
https://www.youtube.com/watch?v=JPM4y71Jxio
2:00
supongo que debo:
1- Hacer un juego en 2d que no tenga plataformas (o sólo un suelo), ni objetos agarrables, etc, etc, lo más simple posible.
2- Agregar el "3d", o plataformas, u objetos agarrables, etc.
3- Desde la versión simple agregar algo distinto a lo que haya agregado.
4- Mezclar ambas cosas.
5- Lo mismo que el paso 3.
En fin, en teoría se va aprendiendo, y se va pareciendo cada vez más a lo que quiero (que no es una copia exacta de ese juego, pero recién cuando se parezca podría agregarle mis extras).

Si quiero un programa que averigue cómo mejorar el universo, la situación es un poco distinta porque, m, en el proceso quiero hacer programas que resuelvan dudas más sencillas, así que no es exactamente hacer un programa sencillo y agregarle cosas para que se parezca al objetivo final, porque tampoco imagino o comprendo tanto cómo sería, pero es como si quisiera hacer tipos de videojuego más sencillos que otros tipos, por ejemplo:
- Hago un 3 en línea, un 5 en línea, uno en que se pueda elegir el tamaño del tablero, cantidad de jugadores, condición de victoria...
- Hago un ajedrez en que sólo sólo se tenga 1 rey y 1 torre, agrego más piezas hasta que sea un ajedrez normal, le pongo opciones...
Y así sucesivamente, y todo eso me ayudaría a ver mejor cómo sería un juego mejor, posiblemete una mezcla de varios.
Si pudiera hacer un programa que averigue cómo aprovechar mejor el viento, otro cómo los alimentos crecerían mejor, y así sucesivamente, eso me ayudaría a ver mejor cómo sería el que averigue cómo mejorar al universo, además está muy relacionado.
Pero no veo cómo pasar de adivinar numeritos a eso ¿sería sobre adivinar en qué parte de la pantalla colocar ciertos objetos? ¿pero los efectos que tendría el viento en ellos según sus posiciones cómo los averigua? No veo claro por qué es tan complicado o diferente, si lo es. Es fácil saber si un número cumple ciertas condiciones o no, lo podemos decir, prueba números, mira si cumple las condiciones y ya, pero decir si un código que describa los efectos del viento cumple la condición de ser real, es más complicado, es complicado decir cuales son esas condiciones y para colmo generar códigos como ese que describan los efectos del viento es más dificil que simplemente generar números. Ya, pero debe haber cosas de dificultad intermedia. Repito: ¿Cual es el camino, considerando el orden de dificultad? Podría ser algo así:

¿Qué desafíos hay en los ¿? ? Puede haber más que esa cantidad, claro, esto no es una representación exacta.
O así:

Donde cada punto con color es un tipo de desafío, y puede haber más. Aquí yendo en espiral irían alternándose los tipos de desafíos y la dificultad iría aumentando. Tal vez es posible seguir un camino más directo, representado mediante los puntos suspensivos y como en la imagen anterior, no lo sé. ¿Cuales son esos desafíos?
452  Foros Generales / Dudas Generales / Re: ¿Cómo copio rápido los temas que hice en un foro? en: 22 Agosto 2024, 06:27 am
En lo posible denme una respuesta más detallada porque el admin de ese foro sigue sin responder y lo que han dicho son como palabras muy técnicas de las que no tengo idea. Le pregunto a GPT a ver qué me dice.

¿cómo automatizo la descarga de temas que hice en un foro?

Citar
Automatizar la descarga de temas de un foro puede ser un proceso delicado, ya que generalmente implica interactuar con el sitio web, lo cual puede estar sujeto a restricciones legales y de uso impuestas por el propio sitio.

Si estás seguro de que la descarga automática de temas está permitida por los términos de uso del foro y deseas proceder, una forma común de automatizar este proceso es mediante la creación de un script en un lenguaje de programación como Python, que utilice una biblioteca como `requests` para interactuar con el sitio web y descargar el contenido deseado.

Aquí hay un ejemplo simple de cómo podrías crear un script en Python para descargar temas de un foro:

```python
import requests

# URL del tema que deseas descargar
url = 'URL_DEL_TEMA_A_DESCARGAR'

# Realizar una solicitud GET a la URL del tema
response = requests.get(url)

# Verificar si la solicitud fue exitosa
if response.status_code == 200:
    # Guardar el contenido del tema en un archivo local
    with open('nombre_del_archivo.html', 'wb') as file:
        file.write(response.content)
    print('Tema descargado exitosamente.')
else:
    print('Error al descargar el tema. Código de estado:', response.status_code)
```

Recuerda que es importante respetar los términos de uso de cualquier sitio web al automatizar la descarga de contenido. También es recomendable consultar la política del sitio web en cuestión y, si es posible, obtener permiso antes de automatizar cualquier descarga.

eso parece que sólo descarga 1 tema, quiero que se descarguen todos los que hice

Citar
Si deseas automatizar la descarga de múltiples temas que has creado en un foro, el enfoque puede variar dependiendo de cómo estén organizados y accesibles esos temas en el sitio web del foro. Aquí hay una aproximación general que podrías seguir para descargar múltiples temas:

1. **Identificar los enlaces de los temas creados**: Necesitarás encontrar una forma de obtener los enlaces de los temas que has creado en el foro. Puedes hacerlo manualmente inspeccionando el código fuente de la página o explorando la estructura de URL del foro.

2. **Crear un script que recorra los enlaces y los descargue**: Una vez que hayas recopilado los enlaces de los temas que deseas descargar, puedes modificar el script para recorrer estos enlaces y descargar el contenido de cada tema.

Aquí te dejo un ejemplo modificado del script en Python que descargará múltiples temas:

```python
import requests

# Lista de URLs de los temas a descargar (reemplaza con tus propios enlaces)
urls = ['URL_TEMA_1', 'URL_TEMA_2', 'URL_TEMA_3']

for url in urls:
    # Realizar una solicitud GET a la URL del tema
    response = requests.get(url)
   
    # Verificar si la solicitud fue exitosa
    if response.status_code == 200:
        # Guardar el contenido del tema en un archivo local
        with open('nombre_del_archivo.html', 'wb') as file:
            file.write(response.content)
        print('Tema descargado exitosamente:', url)
    else:
        print('Error al descargar el tema', url + '. Código de estado:', response.status_code)
```

En este script, deberás reemplazar `'URL_TEMA_1'`, `'URL_TEMA_2'`, etc., con los enlaces reales de los temas que deseas descargar. El script iterará sobre cada URL en la lista y descargará el contenido de cada tema en archivos separados.

Recuerda respetar los términos de uso del sitio web y asegúrate de tener permiso para descargar los temas antes de automatizar el proceso.

Los links aparecen al buscar los temas creados por mí, pero unos 20 por página, quizá aumentable. A su vez tienen muchas páginas. La idea es que el programa busque los temas él mismo, no darle todos los links, ya que copiarlos también sería un trabajo tedioso y el código sería larguísimo de tantos links.

Citar
Para automatizar la descarga de múltiples temas que has creado en un foro, cuando los enlaces están distribuidos en varias páginas y cada página muestra solo una cantidad limitada de temas, necesitarás un enfoque más avanzado. Aquí hay una estrategia general que puedes seguir:

1. **Automatizar la navegación por las páginas**: Utiliza técnicas de web scraping para identificar y navegar a través de las diferentes páginas que contienen los enlaces de los temas que has creado.

2. **Extraer los enlaces de los temas**: Mediante web scraping, extrae los enlaces de los temas de cada página y guárdalos en una lista.

3. **Descargar los temas**: Utiliza los enlaces obtenidos para descargar los contenidos de los temas.

Aquí te dejo un ejemplo básico utilizando la biblioteca `requests` y `BeautifulSoup` en Python para extraer los enlaces de los temas de un foro. Asegúrate de instalar `requests` y `beautifulsoup4` si aún no lo has hecho:

```bash
pip install requests
pip install beautifulsoup4
```

```python
import requests
from bs4 import BeautifulSoup

# URL base del foro donde se encuentran tus temas
base_url = 'URL_DEL_FORO'

# Realizar una solicitud GET a la página principal del foro
response = requests.get(base_url)

if response.status_code == 200:
    soup = BeautifulSoup(response.content, 'html.parser')
   
    # Encontrar y procesar los enlaces de los temas de cada página
    for page_number in range(1, NUMERO_TOTAL_DE_PAGINAS + 1):  # Reemplaza NUMERO_TOTAL_DE_PAGINAS con el total real de páginas
        page_url = base_url + f'?page={page_number}'  # Modifica según la estructura real de la URL
       
        page_response = requests.get(page_url)
        if page_response.status_code == 200:
            page_soup = BeautifulSoup(page_response.content, 'html.parser')
           
            # Encuentra y extrae los enlaces de los temas de esta página
            topic_links = page_soup.find_all('a', class_='clase_del_enlace')  # Modifica según la clase real del enlace
            for link in topic_links:
                topic_url = link['href']
               
                # Aquí puedes agregar la lógica para descargar el contenido de cada tema
                # Usando el código de descarga de temas del ejemplo anterior
               
        else:
            print(f'Error al obtener la página {page_number}. Código de estado:', page_response.status_code)
else:
    print('Error al acceder al foro. Código de estado:', response.status_code)
```

En este ejemplo, reemplaza `URL_DEL_FORO`, `clase_del_enlace` y `NUMERO_TOTAL_DE_PAGINAS` con los valores reales de tu foro. Adapta el código según la estructura y clases HTML específicas de tu sitio web. Este código es un punto de partida y puede requerir ajustes adicionales según la estructura exacta de tu foro.
Por hoy me cansé de esto, siento que es mucho más complicado de lo que pensé, otro día sigo.
453  Foros Generales / Dudas Generales / ¿Por qué se siguen usando bots de spam? en: 21 Agosto 2024, 10:28 am
Habrá gente que no sabe lo que son, yo no es que sepa detalladamente qué son, cómo son sus códigos, pero sé lo importante, que casi cualquiera sabe, o pronto se da cuenta: Que son una porquería y es mejor no darles bolilla, pero eh, aparecen, uno entra a un tema donde se posteó algo nuevo, a ver qué es, sin saber que fue un bot spamico, así que los ve sin querer.

Quienes los hacen y envían, supongo que saben que la mayoría de la gente no les da bolilla, entonces ¿por qué lo hacen? ¿qué ganan al hacerlo?

454  Foros Generales / Dudas Generales / DVDs VS Pendrives, dudas. en: 21 Agosto 2024, 07:30 am
Sé que hace tiempo hice una pregunta similar pero creo que me faltaron cosas.

El único sitio que conocía donde vendían DVDs, ya no vende, aunque la última vez que compré la vendedora le preguntó a otra si eran para "el cliente", y le respondió "No, él quería poquitos", o sea que yo no era el único comprador. Además un vendedor me había dicho que tenían muchos, que se conseguían fácil.

No encuentro sitio donde vendan, aquél ni siquiera era una cada de Informática sino una papelería.

Vivo en Montevideo Uruguay.

Por todo eso, probablemente deba empezar a usar Pendrives.

Yo lo que quiero es respaldar cosas cada cierto tiempo, algunas de las cuales no cambio.

Al ponerlas en un DVD diferente cada cierto tiempo, si por algún motivo se cambiaran cosas (hackers, malware, no sé), podría recuperar algún estado correcto anterior usando DVDs antiguos.
En cambio, si lo que hago es sustituir lo del Pendrive por cosas más recientes, se puede complicar.

En cuanto a Malwares, no tengo idea, pero los DVDs no se pueden modificar, tengo entendido, en cambio un Pendrive ¿puede que un Malware modifique/borre/desordene los archivos cuando se conecte al PC? ¿o que haga algo de eso cuando se conecta a partir de cierta fecha?

¿Alguien sabe dónde puedo comprar DVDs aquí? ¿o en el exterior sin ir? El problema con eso es que no tengo tarjeta y si bien me gustaría tener muchos, no puedo comprar tantos.
455  Media / Juegos y Consolas / Re: Que hay mal en este juego nes? en: 21 Agosto 2024, 05:35 am
No tengo idea cómo creaste un juego de esos, pero si editaste uno preexistente prueba editarle menos cosas, editarle de a una, probarlo, y así sucesivamente hasta que te falle. Cuando eso suceda, no necesariamente es por el último cambio, puede ser por 2 cosas que combinaste, es decir, quizá si sólo cambies esa sí funcione. Es una teoría, quizá me equivoco. Igual, puede que deje de funcionar casi al final, si es tan complicado no parece buena idea hacer juegos así.

Oí de algunos llenos de bugs, y yo descargué uno con un ips que, llegué casi al final y ya no puedo avanzar, no sé si hice algo mal, está traducido a medias, y sólo usé un save state así que me jodí... Uchiha cosmos o algo así se llama.
456  Media / Diseño Gráfico / Re: ¿Sugerencias sobre hacer/encontrar íconos? en: 21 Agosto 2024, 05:25 am
La flechita no me molesta, aunque tienes razón.

¿Qué opciones hay en AWicons?
457  Media / Diseño Gráfico / ¿Sugerencias sobre hacer/encontrar íconos? en: 20 Agosto 2024, 03:54 am
Decidí tener distintos íconos porque no veo bien las letras y en definitiva así podría distinguir mejor qué es cada acceso directo, el problema es que muchas veces el resultado me resulta como una mancha digamos, no distingo qué es, es demasiado pequeño.

Ahora necesito uno que sea un medidor. Busqué imágenes y al achicarlas ya no veo la aguja ni casi nada. ¿Sugerencias en ese caso y en general?

Aquí se ven algunos de mis íconos:

Sólo me gusta el de la lupa y el de los cuadros negros, los demás son lo que quedó por ahora.

Uno es un caballo de ajedrez, un trofeo y un tubo de ensayo. Antes estaba en un fondo con una cascada así que el caballo se veía bien. Mejoraré alguna calidad cuando pueda.

Otro es una hoja con un burro delante. Le puse un borde blanco y otro negro al burro para que se vea mejor, originalmente lo hice transparente pero en el fondo que tenía no lo veía bien. La idea sería mejor un libro que en la tapa tenga al burro, pero me pareció imposible que pueda ver eso.

El de abajo es muchos libros y una mano, pero yo nada veo digamos, debo arreglarlo, poner sólo 1 pila de libros, la mano no, yo que sé.

Al billete le puse fondo amarillo porque transparente no lo veía en el fondo que tenía antes. Aún no probé ponerle muchos bordes, pero igual el signo de $ no lo veo bien.

El martillo, lo veo, pero el fondo que le puse no tiene mucho sentido, debo probarlo con transparencia y más contorno.

El robot pensando, no lo veo ni a palos. El fondo tampoco tiene mucho sentido.

Con el de Química Flash no publicaba la letra, así que después de luchar quedó pero así, igual no sé bien cómo mejorarlo, algunos detalles que le puse no se ven, bah.

Al de Cíclope debo ver cómo queda sin su fondo.

EDIT: Bueno, ya tengo un medidor. He aquí algunas claves, unas menos obvias que otras:
- Agregar ícono en la palabra a buscar puede ayudar.
- Reducir el zoom del navegador ayuda mucho ya que, de ese modo las imágenes se verán como se verían achicadas así que no hay que copiarlas, pegarlas, etc. Además ves muchas más imágenes enseguida.

Las cosas suelen ser más difíciles de lo que pensé, aunque luego parezca que no.
458  Programación / Programación General / Muchos loops, ayuda. en: 19 Agosto 2024, 07:10 am
El programa genera dibujos en varios cuadros, separados con verde:

Hay 4x4 dibujos.

Luego, cuando el usuario cliquea un dibujo, se transmite a los demás pero con algunas mutaciones. Los de arriba-izquierda mutan menos y los de abajo-derecha mutan más (el cálculo para determinar cuántos mutan en cada dibujo me lo dijeron matemáticos, no lo entiendo bien, pero no importa aquí).

Creo que funciona bien, aquí está el código del clic:
Nota: Es importante diferenciar cuadro de cuadradito: Los cuadros son los dibujos separados con verde, los cuadraditos son digamos los píxeles (pero más grandes que un pixel) que contiene cada dibujo.
Código
  1. on (release) {
  2. // Los dibujos serán como el de encima de este botón:
  3. Dibujo = 1;
  4. ModificacionesRequeridas = 1;
  5. // Repetir para el dibujo 1, 2, etc:
  6. while (Dibujo < _level0.MaxCuadro+1) {
  7. // Este if es porque el dibujo a copiar no necesita...
  8. // ser modificado, eso sería como sustituirse por él mismo:
  9. if (Dibujo != _parent.ID) {
  10. Cuadradito = 0;
  11. // Repetir hasta que todo cuadradito se haya copiado:
  12. do {
  13. Cuadradito++;
  14. ColoraCopiar = new Color("_parent.Cuadradito"+Cuadradito);
  15. ColoraSustituirse = new Color("_level0.Dibujo"+Dibujo+".Cuadradito"+Cuadradito);
  16. ColoraSustituirse.setRGB(ColoraCopiar.getRGB());
  17. } while (Cuadradito<_level0.MaxCuadradito);
  18. // Los dibujos mutarán:
  19. // De cada dibujo copia, variar cuadraditos al azar,
  20. // de 1 hasta CuadraditosPorFila,
  21. // aumentando por dibujo hacia derecha y abajo:
  22. // Repetir hasta que se haya variado esa cantidad...
  23. // de cuadraditos:
  24. CuadraditosModificados = 0;
  25. do {
  26. // Para evitar que se modifique uno ya modificado,
  27. // los modificados se guardan en una lista,
  28. // y cuando se va a modificar uno se mira...
  29. // que no esté en la lista, sino se elige otro:
  30. do {
  31. trace("Se modificará un cuadradito del dibujo "+Dibujo);
  32. Repetido = "No";
  33. NroDeCuadraditoaCambiar = random(_level0.MaxCuadradito)+1;
  34. trace("El nro: "+NroDeCuadraditoaCambiar);
  35. trace("Se verá si ya fue modificado.");
  36. PunteroParaLista = 1;
  37. // Ver si NroDeCuadraditoaCambiar está en la lista de modificados:
  38. while (PunteroParaLista <= CuadraditosModificados) {
  39. trace("Comparando con el nro "+PunteroParaLista+" de la lista de modificados.");
  40. if (NroDeCuadraditoaCambiar == eval("CuadraditoModificado"+PunteroParaLista)) {
  41. Repetido = "Sí";
  42. PunteroParaLista = CuadraditosModificados+1;
  43. trace("Ya fue modificado, se elegirá otro.");
  44. }
  45. PunteroParaLista++;
  46. }
  47. } while (Repetido == "Sí");
  48. CuadraditoaCambiar = "_level0.Dibujo"+Dibujo+".Cuadradito"+NroDeCuadraditoaCambiar;
  49. trace("Ya se eligió uno no modificado, es: "+CuadraditoaCambiar);
  50. ColoraSustituirse = new Color(CuadraditoaCambiar);
  51. // A esto lo convierto a String porque...
  52. // lo debo comparar con un string y es más fácil así.
  53. SavedeColoraSustituirse = ""+(ColoraSustituirse.getRGB());
  54. // trace ("SavedeColoraSustituirse: "+SavedeColoraSustituirse);
  55. // Repetir mientras el color no cambie:
  56. do {
  57. NuevoColor = _parent.PosiblesColores[random(_parent.PosiblesColores.length)];
  58. } while (NuevoColor == SavedeColoraSustituirse);
  59. ColoraSustituirse.setRGB(NuevoColor);
  60. // trace ("NuevoColor: "+NuevoColor);
  61. CuadraditosModificados++;
  62. // Agregar el cuadradito a la lista de modificados:
  63. set("CuadraditoModificado"+CuadraditosModificados, NroDeCuadraditoaCambiar);
  64. } while (CuadraditosModificados<ModificacionesRequeridas);
  65. }
  66. Dibujo++;
  67. if (ModificacionesRequeridas <= _level0.Resto) {
  68. ModificacionesRequeridas = Math.floor((Dibujo-1)/(_level0.DistintasMutaciones+1))+1;
  69. } else {
  70.    ModificacionesRequeridas = Math.floor((Dibujo-1-_level0.Resto*(_level0.DistintasMutaciones+1))/(_level0.DistintasMutaciones))+1+_level0.Resto
  71. }
  72. }
  73. }

Quiero agregar que cada dibujo resultante deba tener cierta cantidad de colores (3 en este caso), ni más ni menos. Eso implica que si los cuadraditos elegidos a modificarse son los únicos que tienen cierto color, deben elegirse otros (porque si cambian de color, habría menos colores, por ser los únicos que tenían ese color). Y eso, creo, implica que ya no conviene modificarlos a penas se seleccionan, porque si no son una elección válida entonces habría que volverlos al color anterior y eso parece más complicado y menos eficiente que irlos guardando en una lista y modificarlos recién cuando esté completa.
Tengo más o menos la idea de cómo hacerlo pero son tantos while (o no sé evitarlos) que me lié. El pseudocódigo yo diría que es:
Código:
Repetir
   Si el dibujo (de turno, D) a sustituirse no es el que se está copiando,
      sustituirlo por el que se está copiando ("pegárselo" encima).
      Repetir
         Repetir
            Seleccionar un cuadradito del dibujo D.
            Si ese ya fue elegido, volver a elegir un cuadradito de D (contador--).
         hasta que se haya elegido la cantidad requerida.
         Si los elegidos no son válidos,
            elegirlos de nuevo (indicar que este loop reinicie ¿resetar contador?).
      hasta que se haya elegido un grupo válido.
      Repetir
         Repetir
            Modificar el color de uno de los cuadraditos elegidos y llevar la cuenta de cuántos colores tiene el dibujo.
         hasta que se haya modificado el color de todos los elegidos.
         Si el dibujo no tiene la cantidad requerida de colores,
            modificar los colores de nuevo (indicar que este loop reinicie).
      hasta que el dibujo tenga la cantidad requerida de colores.
hasta que se haya aplicado a todo dibujo.
Bueno, creo que está bien, hacer pseudocódigos puede simplificar la tarea veo, yo me había quedado así:
Código
  1. on (release) {
  2. // Los dibujos serán como el de encima de este botón:
  3. Dibujo = 1;
  4. ModificacionesRequeridas = 1;
  5. // Repetir para el dibujo 1, 2, etc:
  6. while (Dibujo < _level0.MaxCuadro+1) {
  7. // Este if es porque el dibujo a copiar no necesita...
  8. // ser modificado, eso sería como sustituirse por él mismo:
  9. if (Dibujo != _parent.ID) {
  10. Cuadradito = 0;
  11. // Repetir hasta que todo cuadradito se haya copiado:
  12. do {
  13. Cuadradito++;
  14. ColoraCopiar = new Color("_parent.Cuadradito"+Cuadradito);
  15. ColoraSustituirse = new Color("_level0.Dibujo"+Dibujo+".Cuadradito"+Cuadradito);
  16. ColoraSustituirse.setRGB(ColoraCopiar.getRGB());
  17. } while (Cuadradito<_level0.MaxCuadradito);
  18. // Los dibujos mutarán:
  19. // De cada dibujo copia, variarán cuadraditos al azar,
  20. // de 1 hasta CuadraditosPorFila,
  21. // aumentando por dibujo hacia derecha y abajo,
  22. // pero 1ero elegir cuales,
  23. // porque puede que la elección no sea válida,
  24. // en cuyo caso habría que resetearlos.
  25. // La elección no es válida si los elegidos tienen el mismo color y son los únicos con ese.
  26. // A continuación se eligen para 1 dibujo, pero esto se está repitiendo en un loop mayor:
  27. CuadraditosElegidos = 0;
  28. do {
  29. Repetir = "No";
  30. // Para evitar que se elija uno ya elegido,
  31. // los elegidos se guardan en una lista,
  32. // y cuando se va a elegir uno se mira...
  33. // que no esté en la lista, sino se elige otro:
  34. do {
  35. trace("Se elegirá un cuadradito del dibujo "+Dibujo);
  36. Repetido = "No";
  37. CuadraditoElegido = random(_level0.MaxCuadradito)+1;
  38. trace("El nro: "+CuadraditoElegido);
  39. trace("Se verá si ya fue elegido:");
  40. PunteroParaLista = 1;
  41. // Ver si CuadraditoElegido está en la lista de elegidos:
  42. while (PunteroParaLista <= CuadraditosElegidos) {
  43. trace("Comparando con el nro "+PunteroParaLista+" de la lista de elegidos.");
  44. if (CuadraditoElegido == eval("CuadraditoElegido"+PunteroParaLista)) {
  45. Repetido = "Sí";
  46. // Esto es para que ya no mire la lista:
  47. PunteroParaLista = CuadraditosElegidos;
  48. trace("Ya fue elegido antes, se elegirá otro.");
  49. }
  50. PunteroParaLista++;
  51. }
  52. } while (Repetido == "Sí");
  53. CuadraditosElegidos++;
  54.  
  55.  
  56.  
  57. // Repetir hasta que se haya variado esa cantidad...
  58. // de cuadraditos:
  59. CuadraditosaModificarse = 0;
  60. do {
  61. // Para evitar que se modifique uno ya modificado,
  62. // los modificados se guardan en una lista,
  63. // y cuando se va a modificar uno se mira...
  64. // que no esté en la lista, sino se elige otro:
  65. do {
  66. trace("Se modificará un cuadradito del dibujo "+Dibujo);
  67. Repetido = "No";
  68. NroDeCuadraditoaCambiar = random(_level0.MaxCuadradito)+1;
  69. trace("El nro: "+NroDeCuadraditoaCambiar);
  70. trace("Se verá si ya fue modificado.");
  71. PunteroParaLista = 1;
  72. // Ver si NroDeCuadraditoaCambiar está en la lista de modificados:
  73. while (PunteroParaLista <= CuadraditosaModificarse) {
  74. trace("Comparando con el nro "+PunteroParaLista+" de la lista de modificados.");
  75. if (NroDeCuadraditoaCambiar == eval("CuadraditoModificado"+PunteroParaLista)) {
  76. Repetido = "Sí";
  77. PunteroParaLista = CuadraditosaModificarse+1;
  78. trace("Ya fue modificado, se elegirá otro.");
  79. }
  80. PunteroParaLista++;
  81. }
  82. } while (Repetido == "Sí");
Un lío. Nótese que estoy cambiando algunos nombres por lo de que debe eligirse un grupo y chequearse que sirvan en vez de modificar colores enseguida.

Intentaré transformar el pseudocódigo en código, pero ¿se puede simplificar? ¿consejos?
459  Programación / Programación General / Re: ¿Cómo crear una función a la que se le de un parámetro y usarlo? en: 17 Agosto 2024, 05:26 am
Te paso el fla:
https://drive.google.com/file/d/1Ewju2bGGeupjS_AmrH0G7IdSt-765TrG/view?usp=sharing

La idea es hacer un juego de peleas tipo Megaman en principio. Por ahora se controla (con flechas) a Jumpman (Mario antes de serlo) y la IA controla a Loder Runner, pero está muy simplón, lo voy haciendo de a poco.

Voy a probar esto
FaceLeft(Player)
así sin comillas a ver si funciona. Sí ¿pero con comillas no es más eficiente? Ya que en tal caso, quizá, deduce más rápido que es un objeto.

También podrías añadir un Método al Objeto Player para que sea innato de la clase/objeto/prototipo para poder hacer algo como: Player.FaceRight() pero todo esto va a depender de como estés trabajando, supongo que agregaste la Propiedad Facing de manera similar.

Los Objetos pueden tener Propiedades (variables) y Métodos (funciones) que obviamente están ligadas y son parte del Objeto, se acceden a ellas por objeto.variable o objeto.funcion()
Te doy el fla para que veas si conviene eso o no, me parece que es mejor que las funciones esté definidas fuera sólo 1 vez cada una, sino habría que poner copias en cada personaje (objeto) ¿no?
460  Foros Generales / Foro Libre / ¿Alguien entendió Serial Experiments Lain? en: 17 Agosto 2024, 03:30 am
Yo la vi como en 2006 y a veces he pensado en preguntar aquí esto. Si mal no recuerdo es una chica callada que adquiere una computadora y resulta una genia, aparentemente. 2 tipos en una camioneta negra la comienzan a espiar. Parece que estuviera hackeando cosas pero se pone muy raro todo, como si hackeara la realidad misma, o se autotriplicara según leí.

Vi esta noticia así que me decidí a preguntar.
https://somoskudasai.com/noticias/cultura-otaku/una-linda-lain-vuelve-para-ensenarte-a-programar/
Pero no, no tengo interés en ver sus videos.
Páginas: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 254
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines