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


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 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 62 63 ... 243
471  Programación / Programación General / El OR y AND a nivel de bits ¿sólo conviene usarlo para agilizar procesos? en: 20 Mayo 2024, 12:22 pm
explícame cómo funciona el desplazamiento | en programación

GPT:
Citar
En programación, el operador de desplazamiento `|` se conoce como "OR a nivel de bits" o "OR bit a bit". Este operador se utiliza principalmente en lenguajes de programación que admiten manipulación de bits, como C, C++, Java, entre otros.

El operador `|` realiza una operación lógica OR (o inclusiva) entre los bits de dos operandos. A nivel de bits, el OR devuelve un 1 si al menos uno de los bits correspondientes en los operandos es 1. Si ambos bits son 0, el resultado será 0.

Aquí hay un ejemplo para ilustrar cómo funciona el operador de desplazamiento `|`:

Supongamos que tenemos dos números en representación binaria:

```
A: 11001010
B: 10110111
```

Si aplicamos el operador `|` entre A y B, el resultado sería:

```
A | B: 11111111
```

Cada bit en la posición correspondiente se compara entre A y B. Si al menos uno de los bits es 1, el resultado tendrá un 1 en esa posición. En este caso, todos los bits son 1 porque hay al menos un 1 en cada posición.

Es importante destacar que el operador `|` se aplica a nivel de bits, lo que significa que opera individualmente en cada bit de los operandos. Esto puede ser útil cuando se trabaja con máscaras de bits, banderas o manipulación de bits específica.

Espero que esta explicación te haya ayudado a comprender cómo funciona el operador de desplazamiento `|` en programación. Si tienes alguna otra pregunta, ¡no dudes en preguntar!

y el and?

Citar
¡Claro! El operador de desplazamiento `&` se conoce como "AND a nivel de bits" o "AND bit a bit" en programación. Este operador se utiliza para realizar una operación lógica AND entre los bits correspondientes de dos operandos.

El operador `&` compara los bits en cada posición de los operandos y devuelve un 1 si y solo si ambos bits correspondientes son 1. Si alguno de los bits es 0, el resultado será 0.

Aquí hay un ejemplo para ilustrar cómo funciona el operador de desplazamiento `&`:

Supongamos que tenemos dos números en representación binaria:

```
A: 11001010
B: 10110111
```

Si aplicamos el operador `&` entre A y B, el resultado sería:

```
A & B: 10000010
```

Cada bit en la posición correspondiente se compara entre A y B. Solo si ambos bits son 1, el resultado tendrá un 1 en esa posición. En este caso, solo el séptimo y el segundo bit son 1 en ambos operandos, por lo que el resultado tiene un 1 solo en esas posiciones.

Al igual que con el operador `|`, el operador `&` se aplica a nivel de bits y es útil para realizar operaciones de máscaras de bits, filtrado de bits o verificación de ciertas propiedades de los bits.

Espero que esta explicación te haya ayudado a comprender cómo funciona el operador de desplazamiento `&` en programación. Si tienes más preguntas, ¡no dudes en hacerlas!

para qué sirven esos desplazamientos, por qué se le llama desplazamientos?

Citar
Los operadores de desplazamiento, como `<<` (desplazamiento a la izquierda) y `>>` (desplazamiento a la derecha), son diferentes de los operadores `|` y `&` que mencionamos anteriormente. Permíteme explicarte cómo funcionan y por qué se les llama "desplazamientos".

Estos operadores de desplazamiento se utilizan para mover los bits de un número hacia la izquierda o hacia la derecha. El desplazamiento se realiza en función de la cantidad de posiciones especificadas.

1. Desplazamiento a la izquierda (`<<`): Este operador desplaza los bits de un número hacia la izquierda en la cantidad de posiciones especificadas. Cada desplazamiento hacia la izquierda duplica el valor del número. Por ejemplo:

   ```
   5 << 2 // Resultado: 20
   ```
  
   En este caso, el número 5 en binario es `101`. Al desplazarlo dos posiciones hacia la izquierda, obtenemos `10100`, que es el número 20 en binario.

2. Desplazamiento a la derecha (`>>`): Este operador desplaza los bits de un número hacia la derecha en la cantidad de posiciones especificadas. Cada desplazamiento hacia la derecha divide el valor del número. Hay dos tipos de desplazamiento a la derecha: desplazamiento a la derecha lógico y desplazamiento a la derecha aritmético.

   - Desplazamiento a la derecha lógico (`>>>`): En este tipo de desplazamiento, los bits se desplazan hacia la derecha y se rellenan con ceros en la posición más significativa. Por ejemplo:

     ```
     20 >>> 2 // Resultado: 5
     ```
    
     En este caso, el número 20 en binario es `10100`. Al desplazarlo dos posiciones hacia la derecha, obtenemos `101`, que es el número 5 en binario.

   - Desplazamiento a la derecha aritmético (`>>`): En este tipo de desplazamiento, los bits se desplazan hacia la derecha y se rellenan con el bit más significativo (el bit de signo) en la posición más significativa. Esto significa que si el número es positivo, se rellena con ceros, y si el número es negativo, se rellena con unos. Por ejemplo:

     ```
     -20 >> 2 // Resultado: -5
     ```
    
     En este caso, el número -20 en binario es `11111111111111111111101100`. Al desplazarlo dos posiciones hacia la derecha, obtenemos `11111111111111111111111011`, que es el número -5 en binario.

Los operadores de desplazamiento son útiles en situaciones donde se necesita manipular bits individuales de un número, realizar cálculos rápidos de potencias de dos, implementar algoritmos de codificación o decodificación, y en otros casos específicos relacionados con la manipulación de bits.

Espero que esta explicación aclare el concepto de desplazamientos y cómo se utilizan en programación. Si tienes más preguntas, no dudes en hacerlas.

dame un ejemplo de un operador or usado en un programa

Citar
Aquí tienes un ejemplo sencillo de cómo se puede utilizar el operador OR (`|`) en un programa:

Supongamos que tienes un programa en C que maneja permisos de usuario representados como combinaciones de banderas o "flags". Cada flag indica un permiso específico, y puedes combinar múltiples flags utilizando el operador OR para obtener un conjunto de permisos completo.

```c
#include <stdio.h>

// Definición de flags de permisos
#define PERM_READ  1  // Permiso de lectura: 0001 en binario
#define PERM_WRITE 2  // Permiso de escritura: 0010 en binario
#define PERM_EXEC  4  // Permiso de ejecución: 0100 en binario

int main() {
    int permisosUsuario = PERM_READ | PERM_WRITE;  // Combinación de permisos de lectura y escritura

    // Verificación de permisos
    if (permisosUsuario & PERM_READ) {
        printf("El usuario tiene permiso de lectura.\n");
    }
    if (permisosUsuario & PERM_WRITE) {
        printf("El usuario tiene permiso de escritura.\n");
    }
    if (permisosUsuario & PERM_EXEC) {
        printf("El usuario tiene permiso de ejecución.\n");
    } else {
        printf("El usuario no tiene permiso de ejecución.\n");
    }

    return 0;
}
```

En este ejemplo, definimos tres flags de permisos (`PERM_READ`, `PERM_WRITE` y `PERM_EXEC`) que se representan mediante valores binarios distintos. Luego, utilizamos el operador OR (`|`) para combinar los flags de permisos de lectura y escritura en la variable `permisosUsuario`.

Después, utilizamos el operador AND (`&`) en una serie de condiciones para verificar los permisos del usuario. Si el resultado de la operación AND entre los permisos del usuario y un flag específico es distinto de cero, significa que el usuario tiene ese permiso y se muestra un mensaje correspondiente.

En este caso, el programa imprimirá los mensajes "El usuario tiene permiso de lectura." y "El usuario tiene permiso de escritura.", ya que esos flags están presentes en la combinación de permisos del usuario. Sin embargo, no imprimirá el mensaje "El usuario tiene permiso de ejecución." porque ese flag no está presente en los permisos del usuario.

Este es solo un ejemplo básico para ilustrar el uso del operador OR en un programa. En aplicaciones reales, la combinación de flags y el uso de operadores OR pueden ser mucho más complejos y variados, dependiendo de los requisitos específicos del programa.

dame otro ejemplo, pero relacionado con videojuegos

Citar
Claro, aquí tienes un ejemplo relacionado con videojuegos. Supongamos que estás desarrollando un videojuego de plataformas y tienes un personaje que puede tener diferentes habilidades. Puedes utilizar el operador OR (`|`) para combinar las habilidades del personaje y determinar qué acciones puede realizar.

```python
# Definición de habilidades del personaje
HABILIDAD_SALTO = 1     # Salto: 0001 en binario
HABILIDAD_CORRER = 2    # Correr: 0010 en binario
HABILIDAD_ATACAR = 4    # Atacar: 0100 en binario
HABILIDAD_PLANEAR = 8   # Planear: 1000 en binario

# Habilidades del personaje
habilidades_personaje = HABILIDAD_SALTO | HABILIDAD_CORRER | HABILIDAD_ATACAR

# Verificación de habilidades
if habilidades_personaje & HABILIDAD_SALTO:
    print("El personaje puede saltar.")

if habilidades_personaje & HABILIDAD_CORRER:
    print("El personaje puede correr.")

if habilidades_personaje & HABILIDAD_ATACAR:
    print("El personaje puede atacar.")

if habilidades_personaje & HABILIDAD_PLANEAR:
    print("El personaje puede planear.")
else:
    print("El personaje no puede planear.")
```

En este ejemplo, el personaje tiene cuatro habilidades diferentes: salto, correr, atacar y planear. Cada habilidad se representa mediante un valor binario diferente. Utilizamos el operador OR (`|`) para combinar las habilidades del personaje en la variable `habilidades_personaje`.

Luego, utilizamos el operador AND (`&`) en una serie de condiciones para verificar las habilidades del personaje. Si el resultado de la operación AND entre las habilidades del personaje y una habilidad específica es distinto de cero, significa que el personaje tiene esa habilidad y se muestra un mensaje correspondiente.

En este caso, el programa imprimirá los mensajes "El personaje puede saltar.", "El personaje puede correr." y "El personaje puede atacar.", ya que esas habilidades están presentes en las habilidades del personaje. Sin embargo, no imprimirá el mensaje "El personaje puede planear." porque esa habilidad no está presente en las habilidades del personaje.

Este es solo un ejemplo básico para ilustrar el uso del operador OR en un contexto de videojuegos. En un juego real, las habilidades y su combinación podrían ser mucho más complejas y permitir una amplia variedad de acciones para el personaje.

No entiendo ¿no es más fácil algo como:
HABILIDAD_SALTO = true
HABILIDAD_CORRER = true
HABILIDAD_ATACAR = true
HABILIDAD_PLANEAR = false
Si HABILIDAD_SALTO == true
  puede saltar
etc? O en vez de true/false, "Sí"/"No", 1/0, etc.

Yo quiero aprender eso del or y and si es algo que no se puede hacer de otro modo o resulta mucho más fácil hacerlo así. Si es por agilizar procesos, entiendo que es importante pero por ahora paso.

A un número le puedo sumar otro, eso es útil y difícilmente insustituible.

El or viene a decir que a 2 binarios los puedo transformar en 1, uno tiene más probabilidad de tener 1s ¿pero eso para qué sirve?

Capaz que los ejemplos que me dió son incorrectos, imagino que si se tienen 2 cosas a comparar, con muchas variables, en vez de hacer:
SumaDe1 = Objeto1TieneCuello+Objeto1TieneManos+Objeto1TienePiernas
SumaDe2 = Objeto2TieneCuello+Objeto2TieneManos+Objeto2TienePiernas
Si SumaDe1 == SumaDe2
  los objetos son iguales
...
usando or se podría hacer la comparación sin sumar ni usar 3 ifs ¿puede ser?
472  Programación / Programación General / Generador de dibujos usando programación genética. en: 20 Mayo 2024, 11:27 am
https://drive.google.com/file/d/1BSfitRU9lBvKPfmlnQ9Vw0W5aNcHVQyE/view?usp=sharing

Lo intenté pero no le veo mucho uso práctico por ahora ¿tal vez no es programación genética lo que hice?

No le puse interfase así que para usarlo mejor (modificarlo a voluntad) se requiere Flash (el editor de archivos fla). Actualmente genera 5*5 dibujos (hojitas) en la pantalla, cada uno de 10*10 cuadraditos, pero eso se puede cambiar, el código está en el frame 1:
DibujosPorFila = 5;
CuadraditosPorFila = 10;
Si cambian eso y ponen Probar película, ya está.

Los colores actuales son blanco, negro, azul y la separación entre los dibujos es verde, todo fácimente modificable también, pero ese código está en la película Cuadros:
PosiblesColores = [0xFFFFFF, 0x0000FF, 0x000000];
Se pueden modificar o agregar. Si quisieran muchísimos colores o todos entonces tendrían que hacer varios cambios, pero es que no lo hice con la intención de que pudiera haber tantos porque es más bien para generar sprites y suelen tener pocos.

Cuando hacen clic a un dibujo, los demás dibujos quedan como él excepto por un cuadradito, que es el mutado. Puede haber algún error en el proceso (el código está en el botón que hay en la película Botón) pero el resultado según veo es correcto (en algún caso me pareció que en algún dibujo la imagen no mutó), sólo que, como di a entender, no me parece tan útil como esperaba, es decir, la idea es que uno elija el dibujo que más le guste, se generan parecidos, reelige, y así, pero como los iniciales son tan sin sentido y sólo se va modificando de 1 cuadradito, el resultado es... dibujos sin sentido, demasiado similares como para ver rápido las diferencias, y parece que da igual cual se elija entonces, o uno quiere que se pinte cierto punto pero en tal caso conviene dibujar a mano.

¿Es posible mejorarlo? ¿cómo?

Algunas ideas que no he aplicado, y difícil que lo haga porque no creo que cambie mucho:

- Que en vez de variar sólo 1 cuadradito, varíe por ejemplo (CuadraditosPorFila) cuadraditos, es decir, si CuadraditosPorFila es 10 entonces los dibujos tienen 100 cuadraditos, de los cuales variarán 10.
Es que no le veo mucho sentido, si el dibujo elegido es el que más gusta ¿entonces por qué variarlo tanto? Ahora se me ocurre que en un dibujo se varíe 1, en otro 2, etc, eso podría ser...

- Que los dibujos tengan todos los colores especificados.
Que si dices que los posibles sean 9, en los dibujos siempre haya 9. Cuando se dice los colores posibles en realidad se está diciendo los que ha de tener el sprite, ni más ni menos, así que tiene sentido para mí.

- Evitar que lo producido en uno se produzca en otro.
También, aunque si tienen muchos cuadraditos y colores es poco probable que se produzcan iguales.

- Evitar que se produzcan dibujos antes producidos.
Sí pero bastante difícil de aplicar, al menos para mí, no le veo sentido a intentarlo por ahora.

- Posibilidad de que los dibujos no sean de X*X cuadraditos, sino de X*Y.
Es decir que puedan ser rectangulares en vez de siempre cuadrados. Puede ser útil si se quiere dibujos rectangulares porque sino es probable que lo que sería fondo tuviese cuadraditos que lo harían parecer otra cosa, ruido, pero no me convence del todo... Los dibujos rectangulares se pueden hacer en hojas cuadradas si son más grandes...

- Hacer que una imagen tomada de otro lado aparezca en cada dibujo.
En realidad esto sería otra cosa, un modificador random de imágenes, luego programación genética. Para esto, en vez de pintarse X*X cuadraditos (lo cual taparía la imagen), se insertaría 1 en el dibujo 1, 2 en el 2, etc, de colores al azar según los especificados, y cuando se cliqueé un dibujo eso se transmitiría a los demás, y mutarían. Un modo más fácil es que todos los cuadraditos estén en modo invisible, excepto los que fueron "insertados".
No sé si en algo hecho en Flash se puede pegar una imagen o especificar que se cargue una, un archivo, pero se puede poner en el editor y listo.

En fin, puede que intente algo de eso pero lo que haré es que los dibujos pue, ah, no, es un sin sentido >__< había pensado esto:
Citar
Tal vez debería intentar un generador así:
Dibujo1   Dibujo2   Dibujo3
Dibujo4   Dibujo5   Dibujo6
Dibujo7   Dibujo8   Dibujo9
Donde al cliquear uno se llevaría hacia el centro y en los demás se pintaría un cuadradito hacia esa dirección, por ejemplo en el Dibujo4 se pintaría el cuadradito izquierdo. Si no se gusta el color del que se quiere, se podría presionar el del medio y sería como repetir el proceso.
Eso sólo tiene sentido si los dibujos tienen 3*3 cuadraditos, o si fuesen de 5*5 y hubiera 25 dibujos, en el dibujo 1 se modificaría el cuadradito 1, en el 2 el 2, etc, m... en definitiva sirve sólo si la cantidad de dibujos es igual o mayor a la de cuadraditos por fila^2, ah, entonces sí puede servir. m... Nah, ya no le veo utilidad a la idea tampoco, sólo sirve para saber fácil qué cuadradito se modificó, pero eso es poco útil a menos que se busque que se modifique en cierto lugar pero en tal caso conviene modificarlo manualmente.

En fin ¿ideas? Por ahora intentaré el modificador de imágenes.
473  Foros Generales / Foro Libre / Re: Se estrella el helicóptero en el que viajaba el presidente de Irán, Ebrahim Raisi en: 20 Mayo 2024, 07:58 am
¿Se estrelló o aterrizaje forzoso? ¿será ataque israelí oculto?

https://www.youtube.com/watch?v=Bp_6zypEpUQ
474  Foros Generales / Foro Libre / Re: Una bola de luz cruza España y Portugal a 160.000 km/h: "Se ha hecho de día durante un instante" en: 20 Mayo 2024, 01:11 am
¿No fue pronosticado?
475  Foros Generales / Foro Libre / ¿Existe un servicio que envíe paquetes sin preguntar a quién ni a donde exacto? en: 19 Mayo 2024, 09:13 am
Supongamos que un anónimo de Internet (en teoría) quiere enviar algo a otro anónimo, de otro país, sin que se pierda el anonimato.

No sé cómo funciona el correo físico pero supongo que probablemente te piden tu nombre, y sobretodo la dirección a donde enviar el paquete.

Pero lo que digo podría ser algo así:
- A la persona a quien se lo vas a enviar, le dices un password.
- Vas a la oficina de correos y dices que se lleve a la oficina de X ciudad donde está la persona, y se lo den a la que diga el password.
- La persona va, dice el password, y le dan el paquete.

¿Eso existe o no?

GPT:
Citar
No conozco ningún servicio de mensajería o paquetería que funcione exactamente como describes, donde no se solicite información sobre el remitente ni el destinatario. Los servicios de envío de paquetes generalmente requieren datos como los nombres, direcciones y, en ocasiones, números de teléfono o correos electrónicos para garantizar una entrega exitosa.

Si deseas enviar un paquete de forma anónima, es posible que tengas opciones alternativas. Una opción podría ser utilizar un servicio de reenvío de paquetes o una empresa de casilleros postales. Estas empresas proporcionan direcciones de envío alternativas, lo que te permite utilizar una dirección diferente a la tuya propia. Sin embargo, aún así, en algún momento deberás proporcionar una dirección válida para recibir el paquete en el servicio de reenvío o casillero postal.

Es importante tener en cuenta que, independientemente de cómo se envíe el paquete, es posible que las aduanas y las autoridades de los países involucrados requieran información sobre el contenido del paquete y puedan llevar a cabo inspecciones de seguridad. Además, las políticas y regulaciones de envío pueden variar según los países y los servicios utilizados, por lo que es recomendable investigar y comprender las normas y restricciones aplicables antes de realizar cualquier envío.

En cualquier caso, siempre es aconsejable actuar dentro de los límites legales y respetar las políticas de envío de los servicios utilizados para evitar problemas o consecuencias indeseadas.
No entendí bien si es posible que no se den nombres. El paquete podría ser revisado por los del correo, en eso no hay drama, supongo que lo podrían querer robar pero eso incluso si en teoría no deben chequearlo, no sé cómo es el sistema, supongo que de algún modo lo chequean, por si es una bomba o algo así.

¿Le ven algún problema? ¿gente que le pueda dar un mal uso, cómo? ¿podría ser un buen negocio? Yo no creo tener la habilidad ni el capital como para iniciarlo, el que quiera y pueda aquí lo tiene.

- Puede haber gente que vaya y diga passwords random a ver si acierta. Lo veo difícil, ambos casos, pero se podría cobrar por cada password mal que se diga.

- Gente que envíe cosas al cohete, para molestar. También difícil, más si se cobra por enviarlo, nadie lo haría así. Además la oficina podría advertir que, pasado 1 mes sin que haya sido reclamado, el paquete quedará a su disposición.

- Diferente gente que envíe cosas distintas al mismo lugar con el mismo password. Uf, aunque es poco probable, esto sería una complicación, no se le puede decir "ese password ya existe, use otro", porque entonces podría decirle a su amigo que vaya a la oficina a decirlo y recibir un paquete que él no envió. Una posible solución es exigir que los passwords cumplan ciertas condiciones según los que hayan sido asignados. Por ejemplo si ya existe el password 0123456789, cuando se vaya a entregar algo se diría "¿De cuantos caracteres quiere que sea su password?", bah, nah, el password lo podría asignar la misma oficina, simplemente cambia el orden del proceso:
- Vas a la oficina, pides hacer el envío, te dan un password.
- Se lo dices a quien quieres que reciba el paquete.
- Va, dice el password y lo recibe.

¿Qué más?
476  Media / Diseño Gráfico / Busco técnicas para dibujar muro: ¿Achicar una parte? en: 18 Mayo 2024, 07:40 am
De este muro:

me falta la parte de arriba y el costado.

El costado es un trabajo chino, tengo que borrar algunas líneas y otras no, y cada vez las distancias son más cortas, cada vez se ve menos:


Flash da la posibilidad de, digamos, mover una parte para un lado y otra para otro, como si fuese convertir un rectángulo en un paralelogramo; usando eso me quedó así:

Pero a eso le falta digamos el efecto de irse achicando hacia el horizonte (el mío está exagerado, pero me gustó así).

¿Qué puedo hacer?

Quisiera que se achique de un lado pero no de otro, o sea seleccionar una imagen, digamos un rectángulo, y que se achique sólo la parte de arriba, convirtiéndose entonces en un triángulo rectángulo. ¿Existe un editor online o poco pesado que haga eso? Lo explico con una imagen por las dudas:

Eso se puede hacer en Flash con "shapes", o sea líneas y rellenos, pero si la imagen tiene muchas cosas de esas es mucho más complicado, pero se me acaba de ocurrir usar mi muro como relleno (color) de una shape, voy a probar eso en unos días, pero el relleno no se achica como muestra la animación, lo acomodé manualmente (y la 2nda no quedó bien); en el caso del muro quizá no se pueda...
477  Programación / Ingeniería Inversa / Re: Introducción a Game Hacking en Game Boy con GameShark en: 18 Mayo 2024, 00:33 am
Creo que eso es otro tema.

Como el juego es el mismo, las direcciones de memoria son las mismas, creo.

Luego de que halló direcciones con el o valores especificados, cuando se busca OLD valúe con Less than sólo quedarán los valores que ahora son más bajos que el OLD.

Yo lo que digo es que me entrevera la interfase de eso, porque OLD está en la izquierda y NEW en la derecha, así que si pongo "Less than" para mí suena dejar las direcciones en que OLD is less than NEW", pero parece que es: "Dejar los valores NEW si son less than OLD".

No sé, son interpretaciones mías, al no haber botón undo tampoco es tan cómodo probar bien cómo funciona.

Todo eso sirve para descartar cosas más rápido y así reducir también la posibilidad de pomner un código que tranque el juego, pero como dije en mis épocas de más vicio probaba todo y ya, no es tan importante usarlo.
478  Programación / Programación General / Re: ¿Cómo promediar 2 colores? en: 17 Mayo 2024, 08:13 am
Debes elevar al cuadrado cada valor RGB, después hacer la media, y luego calcular la raíz cuadrada de cada uno para revertir la primera operación.

Código:
NewColor = sqrt((R1^2+R2^2)/2), sqrt((G1^2+G2^2)/2), sqrt((B1^2+B2^2)/2)

Usando este enfoque, al elevar al cuadrado los componentes RGB antes de promediar, estamos aplicando un tipo de "ponderación" que favorece los valores más altos y minimiza el efecto de los valores más bajos. Esto es útil porque los valores RGB cuadrados preservan mejor las diferencias perceptuales entre los colores originales.
No confío mucho en esto, pero veamos.

Si un color es 100, 100, 10
y el otro 10, 100, 100
el resultado normal sería 55, 100, 55
pero me dices que haga:
Raíz((100*100+10*10)/2) para el 1er color en este caso.
Raíz((10000+100)/2)
Raíz((10100)/2)
Raíz(5050)
71,06335201775947748485464743814
¿Si son iguales cambia? A ver, el 2ndo color
Raíz((100*100+100*100)/2)
Raíz((10000+10000)/2)
Raíz(10000)
No, me da 100.
Yo no veo que 71, 100, 71 sea el promedio y no le veo la ventaja.


EdePC:
Está bien, me puede servir.

Luego intento averiguar cómo funciona lo del & y | por curiosidad y porque me puede servir, si el efecto que causa no es simplificable.
479  Programación / Ingeniería Inversa / Re: Introducción a Game Hacking en Game Boy con GameShark en: 16 Mayo 2024, 21:27 pm
Buena info.

Te digo un ejemplo de "greater than":

- Cargo una partida de Castlevania Aria of Sorrow (GBA) en que tengo LV6.
- Pongo Search for cheats.
- Pongo Specific Value, Equal, Signed, 8 bits, Update values, escribo 6, pongo Start, y luego Search.
- Me aparecen muchas direcciones de memoria.
- Cargo una partida en que tengo LV10.
- Algunos valores cambiaron a 10, otros aumentaron, otros bajaron, otros siguen siendo 6:

- Pongo Old Value, Less than, y me quedaron los valores más bajos.

Es que entrevera eso, porque yo digo el Old value (6) is less than the new (10), pero parece que hay que pensar poniendo el New primero.
Otra cosa que me ha quitado las ganas de probar cuando lo intenté es que el Start borra todo, y no se entiende bien para qué existe, o sea, si está activado lo de Update values (que debería) entonces no tiene mucho sentido que uno deba presionar Start antes, debería ser "escribir valor, presionar Search", no "Start, luego Search". Pero cuando se busca el Old value no hay que presionar Start, sino todo se borra. Pues eso, por eso nunca lo aprendí, no le veo mucho sentido a cómo está hecho.


Si se pudieron hacer emuladores ¿por qué no se pueden hacer traductores del código, convertirlo a algo más o menos legible? Me gustaría que hubiera eso, quizá algún día las IAs puedan...
480  Programación / Programación General / ¿Qué videojuego sencillo quieres que haga o me recomiendas hacer? en: 16 Mayo 2024, 11:46 am
Estoy en la actividad "Libre" de mi rutina, pensaba jugar videojuegos pero ya tengo otro momento para eso así que pensé mejor hacer otra cosa, y en cuanto a hacer juegos mi idea era 1ero entender qué es contable y aprender a contarlo, también lo hago pero lleva una eternidad así que por probar me dispongo a hacer el juego sencillo que me pidan o sugieran.

Cosas a tener en cuenta:
- Lo hago gratis.
- Doy el editable también (archivo fla de Macromedia Flash 5).
- No me pidan algo 3d. Entiendo que con algunos programas es sencillo pero no en el que uso y además en muchos casos no me gusta mucho el 3d, a lo sumo un estilo Zelda de SNES (puedes ir al N, S, E, O, ir más abajo o arriba, es bastante 3d aunque visto desde arriba siempre) o algo parecido a de golf o autos vistos desde atrás, aunque me parece medio difícil.
- No me pidan mucha matemática (que la velocidad del disparo debe repartirse correctamente para que se dirija a cierto punto en una cancha 3d...).
- No me pidan que dibuje y menos que haga animaciones, a lo sumo alguna cosita, pero la mayoría lo copio de otro lado, díganme qué.
- No me pidan que haga un sistema de batallas RPG o algo así, nunca he podido  :(
- Historia como que tampoco.
- Ni música xP

¿Demasiadas limitaciones? Sorry, lo mío sería programar, no lo demás.

Hace tiempo hacía un pong hasta que debí hacer que la máquina moviera su barra, ahí me puse a pensar en IA y dejé eso. Intenté muchas cosas pero en todas tuve falta de habilidad en algún sentido o sino me aburrí, así que no tengo algo terminado.

Pongo algunas muestras.

Warriors de 2004, una mezcla de novela visual y RPG, funciona en Dosbox (puede que lento, aumenten la velocidad, aunque en mi caso incluso poniéndole la máxima no llega a la normal en algunas partes):
https://drive.google.com/file/d/17m0rz8839jGYi7AiXwH6KzL6NGByyOdh/view?usp=sharing
No me pidan una historia como esa de nuevo, aunque mi mayor complicación fue hacer el hormiguero y las hormigas con esos gráficos grandotes.

Warriors de 2005, no es lo mismo a pesar del nombre, además esto es sólo una presentación que me harté de hacer porque no supe animar bien la capa. Tiene un ejecutable normal para Windows y un archivo swf que es lo mismo pero sólo usable si tienen Flash Player, es por si no quieren ejecutar el exe:
https://drive.google.com/file/d/1Qr4xoNIDCE_8xao7xiNzcszB6NQlLkrw/view?usp=sharing
Ya no quiero hacer presentaciones así, es en vano, mucha presentación y 0 juego  :(

Unholy Galaga de 2006, no sabía cómo hacer que el movimiento fuese fluido y mi PC era muy lenta, pero no quedó tan mal, son 3 versiones que iba a mezclar pero me puse a pensar en posibles IAs y lo dejé, además me cansé. Por ahora sólo tengo los exe:
https://drive.google.com/file/d/1orTcz-oYR0yKBZKrCvJ5pzMqerTlztd_/view?usp=sharing

Tejo de 2009, o esa era la idea, ya que sin saber cómo hacer movimiento fluido no quedó del todo bien, además me interesó aprender IA:
https://drive.google.com/file/d/1mST6ADJyht9yZCFdDfCMAqDDMqjeQESf/view?usp=sharing

Image Maker 2009, no es un juego pero es interesante si uno tiene imaginación, la idea es que en las imagenes random uno vea algo, se hace en los llamados test de Rorsharch. Por ahora sólo tengo los exe:
https://drive.google.com/file/d/116JGpgwTvCuM8QomMJz6RhKEeBoxevts/view?usp=sharing

Educativo letras 2011, este es de Flash 8, no tenía Internet ni cómo grabar sonidos así que meh, pero la idea era que al aparecer un tanque se escuchara el sonido de la letra.
https://drive.google.com/file/d/17N8BAqSqVhkyDozZml-SXy5Awr6dI2I-/view?usp=sharing

2012, una mezcla entre Contra y Duck Hunt pero sólo la presentación xP Me cansé luego de hacerla. Hay un efecto imposible en el vuelo de los patos, miren bien ¿cual está delante?
https://drive.google.com/file/d/18qd8d-5aW8MIXViEN5iOmBsvbpjxUjqU/view?usp=sharing

2013: Al personaje de Contra se lo puede mover fluídamente y hacer saltar (A). Estaba aplicando eso a Mario también pero sobre todo que pueda correr (S) y que frenara a la velocidad del juego original. En este caso pongo el editable también:
https://drive.google.com/file/d/1fLdUWARN6gY3jCfPjuNclcHqmnp5yaCS/view?usp=sharing

2013, frenar a los robots de Willy: Esto en el fondo es como un plantas vs zombies pero muy simplificado, se trata de intentar no gastar recursos en vano aunque sean infinitos. Gente me dijo que no lo entendió, yo no supe cómo hacerlo más... parecido a un juego, con limitaciones, tenía algunas ideas pero no suficiente:
https://drive.google.com/file/d/15W7Z9VQzq_IDrFojYMbpOqu5S88PV8Xt/view?usp=sharing

2013 o antes, La Raqueta Troll, es una versión simplificada de romper bloques con una bola, aquí simplemente rebota de formas random. Alguien me dijo que es muy lento, es verdad al inicio, no supe mejorar eso porque si pongo un aumentador de la velocidad el puntaje sería menor, o eso pensé. De momento sólo tengo el swf:
https://drive.google.com/file/d/11rT7sH4D3B56Lc7I4O2EElx21W_QCv2P/view?usp=sharing

2013, sería de batallas estilo RPG muy simples pero no supe cómo hacer una historia para eso xP No me acuerdo bien, habría peleas pero no magia, quería alguna justificación (no como en Street Fighter que pelean y parece que enseguida vuelven a pelear), además se podría entrenar pero... no sé, quería justificar todo, no me acuerdo:
https://drive.google.com/file/d/16EjGSjFfXtlMe8EaQTFY5uaqeY9JhOT6/view?usp=sharing

2013, sería un beat em up pero me abrumó modificar caritas y se me complicó que se mostraran bien los diálogos y el tema de la velocidad...
https://drive.google.com/file/d/10nS4TroscYSIFhfSpX3TIRK1f_sNqKmH/view?usp=sharing

2016, juego simplón de bola que debe tocar cosas más pequeñas que ella y todo se va agrandando:
https://drive.google.com/file/d/1mNsxSzFoStiXdg7Mw2caPBgR1vUtN7ph/view?usp=sharing

2016, misma idea pero más RPG:
https://drive.google.com/file/d/19nSm9yXyFRMdAkkGwlxHSodIPKbNnw7L/view?usp=sharing

2016, un estilo cartas intercambiables que intenté que fuese complejo, luego realista y ahí lo dejé porque no supe. No es jugable, sólo se ven algunas cartas:
https://drive.google.com/file/d/1-us4caEiiTRAM-fWCIXqr4R8xKRWz2h7/view?usp=sharing

2016, la evolución de lo anterior, un estilo Robot Taisen pero de magos que convocan monstruos. No se puede hacer mucho, sólo con A se elige uno de tus monstruos y lo puedes mover a los casilleros. No supe mucho cómo hacer más. La máquina debía dirigirse al más cercano, las opciones deberían habilitarse si se tiene al lado, y otras cosas...
https://drive.google.com/file/d/16EjGSjFfXtlMe8EaQTFY5uaqeY9JhOT6/view?usp=sharing

Tengo alguna que otra cosa pero tengo los archivos demasiado desordenados (estoy acomodando, pero es demasiado durante años) como para encontrarlo tan rápido.
- Uno de batallas RPG, no recuerdo mucho de ese pero el personaje podía lanzar una bola hacia el enemigo. Ah, sí, se me complicó un tema de la animación, además si hay muchos enemigos en diversos lugares la bola debe variar a donde va... Uh, y el tema de los turnos, bah, es que también el tema de las estadísticas y efectos de ataques lo quise hacer medio realista y no se puede si son pocas estadísticas.
- Uno de batallas tipo Mega Man, iba bien, pero me entreveré en cuanto a los posibles estados de los personajes (saltando, agachado+atacando, quieto+lanzando, etc).
- Uno de tenis que iba bien pero intenté que fuese medio realista en cuanto a la matemática y me fue tan difícil que decidí dejarlo para más adelante. Ese lo empecé como en 2010 y lo retomé varias veces, incluyendo hace unos meses.

Si hay algún enlace mal me pueden avisar.
Páginas: 1 ... 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 62 63 ... 243
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines