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


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [106] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 ... 257
1051  Foros Generales / Dudas Generales / ¿Es posible mezclar música, cómo? en: 20 Mayo 2023, 10:46 am
Mezclar deportes, juegos, historias, personajes, habilidades, cartas tipo Magic the Gathering y alguna que otra cosa, al menos en la imaginación o en texto o haciendo dibujos, no parece tan complicado, se me ocurren muchos modos de hacerlo ::) (en algunos casos no). Pero en cuanto a mezclar música no tengo idea :o No me refiero a letras, eso tampoco parece tan difícil (al menos el hecho de sustituir unas letras por las de otra música cambiando las palabras si es necesario pero conservando el mensaje si es que tiene, nunca escuché que hicieran eso, pero si pueden cambiar letras como aquí
https://www.youtube.com/watch?v=3Tb6kWYpT1Q
El original: https://www.youtube.com/watch?v=sfXPGuZ68HM
...entonces también parece posible hacer lo otro).

Por ejemplo, según mi "método", Tenis -> Fútbol sería llevar lo 1ero, al Tenis, a lo 2ndo, a una cancha de Fútbol (supongo que al revés es más comprensible: Tomando como base el Fútbol, se le intenta poner cosas de Tenis). Evidentemente no sería que los jugadores tengan raqueta y se use una pelota de tenis, sino se golpearían mucho (aún no entiendo cómo hacen en el Polo, pero ni quiero saberlo, malditos maltratadores de caballos >:( ), salvo que cada jugador no pueda salir de cierta área, separada con tejidos:

...suficientemente altos como para que los jugadores no puedan golpearse, y con agujeros suficientemente pequeños para que la bola no pueda quedar "enterrada" en uno, y entonces los jugadores se pasarían la bola, los rivales intentarían bloquearla (se establecería un máximo de altura de los pases, para que no sean todos globitos muy altos inbloqueables), y habría una zona fuera del área del golero, que no tendría tejido hacia él (pero sí una red que no podrían pasar), desde la cual los rivales podrían lanzar la bola hacia el arco, intentando hacer goles así (el arco quizá deba cambiar de tamaño, y si el golero debería poder usar raqueta no sé). Si la bola bota 2 veces antes de que un jugador la golpee es gol del equipo contrario. Las áreas había pensado que sean como cuadros de Ajedrez (excepto la o las que estén pegadas al área del golero), pero podrían ser similares a las pelotas de Fútbol:

Las áreas negras serían ocupadas por rivales, las otras por defensas, pero también tendrían separaciones (pero cada área de esas implicaría varios pentágonos, o podrían ser hexágonos si queda mejor). Otra alternativa es que sólo los goleros estén en el área propia, en cuyo caso debería poder usar raqueta supongo.

Fútbol -> Tenis sería al revés y ya se ha hecho, o al menos no se me ocurre otro modo (iba a poner un video pero según he visto no es como me parece que deberían, lo que hacen parece más Voleyball o Padel, en el Tenis no pasas la bola a tu compañero ni hay paredes alrededor).

Fútbol + Tenis sería intentar poner todo en un mismo sitio, no sé bien aplicar este "método", sería poner una cancha de tenis pegada a una de fútbol, lateralmente o detrás, y puede ser más de una de tamaño reducido, y entonces... dije que no sé, pero a ver...
Modo A: Una cancha de Tenis está detrás de un arco (que está en una cancha de Fútbol), separada por un tejido o no importa bien qué, y cuando se le hace un punto al que esté cerca del arco, se lanzaría una pelota de Fútbol a la cancha de eso, es decir, el tenista que juegue cerca del arco sería como un jugador extra de ese equipo, y el otro sería del contrario. No habría cambios de lado en canchas de Tenis. Al 2ndo tiempo, en Tenis jugarían jugadores distintos (o pueden ser los mismos si les parece), esta vez el del equipo que defendía atacaría y viceversa. Esto se podría hacer atrás de cada lado, pero en tal caso es como si se estuviera usando la cancha de Fútbol como base o inicio. Si en Fútbol hay más de 1 bola en juego, no se detendría cuando haya un gol o cuando una bola salga del campo.
Modo B- Más o menos lo inverso que admite 2 variaciones también. Aquí, cuando se hace un gol, un jugador extra entraría al equipo correspondiente de Tenis.
Modo C- Más o menos lo inverso que lo anterior, también. Cada vez que un tenista haga un punto, de su equipo rival de Fútbol deberá salir 1 jugador. La victoria la marcan los jugadores de Fútbol, pero si un tenista hace 11 puntos seguidos al otro, gana su equipo porque sus rivales no tendrían golero siquiera.
Metiendo canchas en medio de la otra no se me ocurre qué se pueda hacer y metiéndolas lateralmente tampoco...

(Fútbol + Tenis)/2 sería hacer un promedio y modificaciones que se consideren necesarias, tampoco sé mucho sobre eso (la pelota quedaría en un tamaño intermedio, pero lo demás es complicado).

En fin, esos fueron sólo ejemplos, no digo que sean los mejores.

Entonces, supongamos que quisieras mezclas esta música:
https://www.youtube.com/watch?v=ViXlIfhrvFY
0:07
con esta
https://www.youtube.com/watch?v=evRsyIBGaco
0:20
¿Cómo sería más o menos tu método? Si es que es posible.

Gracias.
1052  Foros Generales / Dudas Generales / ¿Por qué las máquinas casi nunca fallan? en: 17 Mayo 2023, 01:20 am
Me refiero a que uno puede pasar un archivo a otra carpeta y, que yo sepa, nunca se deforma, por ejemplo en una imagen no se cambian de color los píxeles.

Si se lo pasa a un DVD, etc, en general tampoco hay deformaciones.

Las radios, TVs y celulares también, por arte de magia parece, caprtan o envían datos casi sin que se deformen.

¿Cómo es posible, por qué ocurre así?  :huh:
1053  Foros Generales / Foro Libre / Sobre hacer un minirío casi perpetuo. en: 16 Mayo 2023, 23:24 pm
Imaginen que esto:

- No tiene tanta bajada.
- Forma un circulo, hay un escalón en la parte en que se conecta la parte más alta con la más baja.
- En los costados de la pista hay paredes, el agua no cae hacia los costados.
- Podría ser que la pista, en lugar de tener suelo recto, lo tenga ahuecado, cilíndrico, como un caño.

Si ponemos agua en la parte de más arriba, que está en bajada, irá recorriendo la pista hasta terminar en el escalón.

Lo que debemos hacer es subirla de nuevo a la parte de arriba.

¿Cómo se hace eso?

Doy algunas ideas:
- Usar la poca, pero fuerza al fin, fuerza del minirío.
- Usar el calor del Sol o lo que se pueda de sus rayos.
- Usar la fuerza del viento.
- Usar un pájaro bebedor o varios (si le ponen un imán o algo se podría generar otro movimiento o electricidad de alguna manera ¿o no? También genera algo de viento al subir y bajar ¿no?).
Si se pudieran usar todas esas fuerzas para el mismo objetivo, entonces se podría lograr un movimiento prácticamente perpetuo, aunque habría que reponer agua a medida que se evapore. Yo lo quiero como adorno y para pájaros, pero se podría usar un líquido que no se evapore normalmente, o en vez de ser una pista al aire libre podría ser un caño.

Denme conocimiento:
¿Cómo usar la fuerza del minirío para subir agua de nuevo al escalón?
¿Y del calor o rayos del Sol?
¿Y del viento?
¿Y del pájaro bebedor?

Gracias.
1054  Programación / Scripting / Re: Ideas scripts en: 15 Mayo 2023, 09:21 am
El juego que dices no sé si tiene un nombre específico pero en NES hay uno llamado Arcanoid que es como dices. También en SNES creo, y probablemente otras consolas.
Yo hice uno más básico (no hay cajas) en el que no calculaba cosas, te lo pasaría pero no sé dónde lo tengo. Se llamaba Raqueta Troll, cuando la bola rebotaba agarraba velocidades al azar hacia arriba y costados, y podía ser que cayera muy rápido o muy lento. Entre más veces rebotaras la bola, más altas podían ser las velocidades. Cuando tocaba una pared, la velocidad de caída se invertía (o algo así, ya no recuerdo bien eso).

En cuanto a cosas que puedes hacer, es algo que pensé varias veces (qué posibles caminos o desafíos se pueden cumplir, aunque lo mío era sobre programas que resuelvan dudas), pero no lo tengo claro.
Te dejo esto que te puede servir pero no está masticado:
Citar
Ayuda para percibir de a una las posibles "formas" de los desafíos.


"formas":
O estructuras, me refiero a que no todo importa, por ejemplo en el ajedrez es irrelavante si hay fichas blancas y negras o blancas y marrones, a menos que haya poca luz pero ya no sería simple ajedrez, en fin...

Desafío:
Al menos 1 variable y al menos 1 desafiante que mediante realizar al menos 1 acción intenta cumplir al menos 1 condición.

Variable:
Valor que puede cambiar.

Valor:
Número o letra o color, etc, que representa algo o que es parte de algo.

No es la idea decir en esas descripciones todo lo que un desafío puede tener, sólo lo esencial.


La forma de desafío virtual más simple:

V1- Crear o modificar una variable.
V1 es un nombre que servirá más adelante; V significa virtual.
Es algo como "Mueve el mouse, luego ganas" o "Habla, luego ganas"; el desafío exige realizar una acción simple que el programa pueda captar y se gana simplemente por realizarla.
No sé si eso implica crear o modificar una variable, pero es causar un cambio en la situación y si hay un cambio en ella debe de crearse o modificarse una variable me parece.
Lo que puede entenderse como:
Código:
Repetir
   Si se mueve el mouse
      Desafío cumplido
      Break
siempre
Fin
Me parece demasiado simplificado. En realidad cuando el mouse se mueve eso implica que el puntero cambió la posición X y/o Y en que se encontraba, son 2 variables, pero yo lo vería así:
Código:
SeMovio = "No"
Repetir
   Si se mueve el mouse
      SeMovio = "Sí"
mientras SeMovio == "No"
Desafío cumplido
Fin
Considero que ahí hay 2 valores: La variable y la constante que se usa en la condición. Todo eso es debatible, pero bue.
También creo que podría ser algo así:
Repetir
   Si se mueve el mouse
      SeMovio = "Sí"
mientras SeMovio != Inexsistente
Desafío cumplido
Fin

Obviamente puede que me equivoque, quizá haya otro más simple u otros de su mismo nivel, opinen.

¿Por qué digo que es la forma más simple?
- La cantidad de colaboradores, aliados, etc, es 0, la mínima posible.
- La cantidad de información que se requiere dar es muy poca.
- La cantidad de opciones es 0, la mínima posible.
- La cantidad de acciones que sólo se pueden realizar en ciertas condiciones es 0, la mínima posible.
- La cantidad de efectos (cosas que ocurren involuntariamente, más allá de ganar o perder, etc) es 0, la mínima posible.
- Sólo tiene 2 valores, la mínima cantidad que pude lograr.
- Sólo tiene 1 variable, la mínima cantidad posible.
- La variable está definida del modo más simple posible, no es random ni cargada, etc.
- La variable sólo tiene 2 posibles valores, la mínima cantidad posible (del modo 2 sólo tiene 1 posible valor, sería una constante).
- Sólo tiene 1 posible resultado, la mínima cantidad posible.
- La condición es la más simple posible, creo: 1 variable, un símbolo comparador y 1 constante.
La idea es ver cual es el desafío más simple y cómo se puede ir complicando.
https://i.ibb.co/xDPZJk2/Desaf-os.png
Eso es de Excel, demasiado largo como para ponerlo en modo imagen. En cada columna hay una posible complicación, pero no todas son aplicables siempre. El Sol significa que el desafío deja de ser virtual, cuando por ejemplo dos personas deben mover el mismo mouse. La idea es que tomes las modificaciones que hayas podido hacer en cada columna, las pegues cada una en una distinta fila, y repetir el proceso, es un método para percibir posibles variaciones, en este caso variaciones de desafíos.

Recientemente escribí esto que también te puede servir:
Citar
¿Cual es la duda más sencilla de resolver? Podría ser, dado un número, cual es ese número. Esto equivale a adivinar el número, o a colocar una ficha encima de cierto casillero especial, etc, el programa simplemente prueba un número, si falla prueba otro y así sucesivamente hasta cumplir la condición que le hayamos puesto (que el número dado sea igual al número elegido por el programa). ¿Muy fácil no? ¿cómo podemos complicar esa duda, poco a poco, para ir practicando y entendiendo cómo resolver una duda tan compleja como la planteada en el título de este tema?
- Que la cosa a adivinar pueda tener texto (para una persona es casi lo mismo pero programarlo es considerablemente más difícil).
- Aumentando el nro de variables a adivinar (parecido al juego de batalla naval).
- Que, sobretodo, deba evitarse elegir ciertos números (yo esto lo había pensado medio basado en el Pacman: El objetivo es comer fantasmas débiles, pero sobretodo evadir a los fuertes; si el fuerte está en el mismo casillero que el débil se debe evitar a ambos).
- Limitando las posibles acciones (la idea de esto es transformar la duda de cómo adivinar en una duda de cómo llegar a cierta cantidad, ya no se puede elegir el númerio 10 o 9, etc, sino sólo +1 o +2, es como tener que llegar a un sitio, con qué acciones se llega más rápido; para nosotros la respuesta es obvia pero programarlo no es tan fácil como lo anterior).

No se me ocurren más, a partir de las nuevas sí. Probablemente eso te parezca inútil o que no tiene relación con el tema, pero es parecido a IA, en teoría si se avanza sirve para resolver dudas, aprenden a lograr cosas, así como han aprendido a jugar al ajedrez mejor que nosotros.
1055  Programación / Programación General / Re: Ayuda con cálculos para que la trayectoria de una pelota cumpla ciertas condiciones. en: 15 Mayo 2023, 08:04 am
Miro el foro todos los días o casi, no entiendo cómo no vi tu mensaje antes :rolleyes:

Cuando el lanzamiento es muy bajo, hay mayor velocidad hacia adelante (horizontal), y se avanza más rápido, pero como la pelota está cerca del suelo, también cae rápido, así que no tiene tiempo de viajar mucho. Si el tiro es elevado, avanza hacia adelante más lentamente, pero tarda más en caer, lo que le da más tiempo para avanzar. Por lo tanto, si se quisiera que la pelota llegara lo más lejos posible, no debería ir ni muy elevada ni muy baja.
Pienso lo mismo pero en mis ejemplos no parece ocurrir. ¿No?

Citar
si lo que se busca es recorrer una distancia específica, este es el ángulo que te permite lograrlo usando menos fuerza
Debes que imaginar que el jugador es perfecto en cuanto a inteligencia y puntería y quiere que la bola caiga en cierto punto, para lo cual usará toda la fuerza que pueda (según la que tenga, en ese sentido no es perfecto), no la mínima necesaria; no hará globitos si puede hacer que el tiro sea rápido y pase cerca de la red. No sé si has entendido eso. Si tiene la fuerza suficiente, el tiro debería pasar cerca de la red, sino sí haría un globito por lo que has explicado arriba, porque si golpea muy hacia abajo no llega. Mira el video
https://drive.google.com/file/d/1jyrIyycu_joxlfIblj5IDEwZ_Y3giSPR/view
Entre más fuerza tenga más bajo pasa la bola, excepto cuando ni siquiera tiene suficiente fuerza como para hacerla pasar. O piensa que, si hará un smash, apuntará a un punto usando toda la fuerza que pueda , no la mínima necesaria.
https://www.youtube.com/watch?v=BLaHot9vIKo
2:44, pudo haber golpeado más suave ¡pero no es la idea!

...

¡Vaya ecuaciones! :o :rolleyes:

Me quedó así:
Código
  1. // Datos para determinar velocidades del tiro.
  2. DistanciahastaDestinoX = BallX-280.1;
  3. DistanciahastaDestinoY = BallY-180;
  4. DistanciahastaDestinoXY = Math.sqrt(DistanciahastaDestinoX*DistanciahastaDestinoX+DistanciahastaDestinoY*DistanciahastaDestinoY);
  5. // Se calcula el ángulo o ángulos.
  6. Parte = AlexFuerzadetiros*AlexFuerzadetiros*AlexFuerzadetiros*AlexFuerzadetiros;
  7. Disc = Parte-(Gravedad*(Gravedad*DistanciahastaDestinoXY*DistanciahastaDestinoXY-2*AlexFuerzadetiros*AlexFuerzadetiros*BallZ));
  8. // Si Disc < 0, no puedes hacer el tiro.
  9. // Si Disc == 0, hay un solo angulo posible.
  10. // Si Disc > 0, hay dos angulos.
  11. theta = Math.atan((AlexFuerzadetiros*AlexFuerzadetiros+Math.sqrt(Disc))/(Gravedad*DistanciahastaDestinoXY));
  12. phi = Math.atan((AlexFuerzadetiros*AlexFuerzadetiros-Math.sqrt(Disc))/(Gravedad*DistanciahastaDestinoXY));
  13. // Se calcula el tiempo que se tarda en llegar a la red.
  14. DistanciahastaRed = DistanciahastaDestinoXY*Math.abs(RedZ-BallZ)/Math.abs(DistanciahastaDestinoY);
  15. TiempoHastaRedTheta = (DistanciahastaRed)/(AlexFuerzadetiros*Math.cos(theta));
  16. if (Disc>0) {
  17.    // Si hay dos ángulos, se calcula el 2ndo.
  18.    TiempoHastaRedPhi = (DistanciahastaRed)/(AlexFuerzadetiros*Math.cos(phi));
  19.    // Se calcula la altura a la que pasa la bola al llegar a la red.
  20.    AlturaEnRedTheta = BallZ+AlexFuerzadetiros*Math.sin(theta)*TiempoHastaRedTheta-(Gravedad*TiempoHastaRedTheta*TiempoHastaRedTheta)/2;
  21.    AlturaEnRedPhi = BallZ+AlexFuerzadetiros*Math.sin(phi)*TiempoHastaRedPhi-(Gravedad*TiempoHastaRedPhi*TiempoHastaRedPhi)/2;
  22.    // Se elige el ángulo conque la bola pasa más bajo.
  23.    if (AlturaEnRedTheta<AlturaEnRedPhi) {
  24.        Angulo = AlturaEnRedTheta;
  25.    } else {
  26.        Angulo = AlturaEnRedPhi;
  27.    }
  28. } else {
  29.    Angulo = AlturaEnRedTheta;
  30. }
  31. // Cálculo de las velocidades.
  32. VelocidadAdelante = AlexFuerzadetiros*Math.cos(Angulo);
  33. VelocidadArriba = AlexFuerzadetiros*Math.sin(Angulo);
  34. // Esta variable es redundante, pero clarifica lo que se esta haciendo.
  35. VelocidadZ = VelocidadArriba;
  36. if (DistanciahastaDestinoX == 0) {
  37.    BallXSpeed = 0;
  38.    BallYSpeed = VelocidadAdelante*-1;
  39. } else {
  40.    AnguloPendiente = Math.atan(DistanciahastaDestinoY/DistanciahastaDestinoX);
  41.    BallXSpeed = VelocidadAdelante*Math.cos(AnguloPendiente)*-1;
  42.    BallYSpeed = VelocidadAdelante*Math.sin(AnguloPendiente)*-1;
  43. }
  44. // Datos para determinar posiciones de la pelota.
  45. Tiempotranscurridodeltiro = 0;
  46. BallXwhenstriked = BallX;
  47. BallYwhenstriked = BallY;
  48. BallZwhenstriked = BallZ;

El cálculo de las posiciones lo estoy haciendo en base al tiempo, así:
Código
  1. function Ballmoving () {
  2.    Tiempotranscurridodeltiro = Tiempotranscurridodeltiro+1;
  3.    BallX = BallXwhenstriked+BallXSpeed*Tiempotranscurridodeltiro;
  4.    BallY = BallYwhenstriked+BallYSpeed*Tiempotranscurridodeltiro;
  5.    BallZAnterior = BallZ;
  6.    BallZ = BallZwhenstriked+VelocidadZ*Tiempotranscurridodeltiro-(Gravedad*Tiempotranscurridodeltiro*Tiempotranscurridodeltiro)/2;
  7.    BallZSpeed = BallZ-BallZAnterior;
  8.    if (BallZ<=0) {
  9.        // Si la pelota llega al suelo, BallZSpeed se invierte con disminución según la cancha.
  10.        BallZ = 0;
  11.        BallZSpeed = BallZSpeed*Fuerzaderebotedepelota;
  12.        // Si BallZSpeed es menor que 0.01: Queda en 0.
  13.        if (BallZSpeed<0.01) {
  14.            BallZSpeed = 0;
  15.        }
  16.        // La pelots, al rozarse con el suelo, disminuye sus velocidades.
  17.        // BallXSpeed = BallXSpeed+Influenciadelrozamiento;
  18.        if (BallXSpeed>0) {
  19.            BallXSpeed = 0;
  20.        }
  21.        // BallYSpeed = BallYSpeed+Influenciadelrozamiento;
  22.        if (BallYSpeed>0) {
  23.            BallYSpeed = 0;
  24.        }
  25.    }
  26. }

No sé qué está mal.
https://drive.google.com/file/d/1vDabAavB-YZrNTW1s6YW7o7y-kSBzyj_/view?usp=share_link
¿Te digo algún dato que no haya dicho ahí, cual?

Ah, el tema del pique se me complica, mejor luego del pique vuelvo al método simple de sumar ¿no? Aunque la pelota bajará a distinta velocidad. Yo lo que hacía es que cuando tocaba el suelo la bola, a su velocidad Z se le hacía *-1 y se reducía un poco, pero ahora de momento no sé cómo hacerlo.
La bola que queda en la red o en pantalla no es un error, hago que aparezca para ver qué tan cerca de la red pasó.
1056  Foros Generales / Foro Libre / Re: El amor existe? en: 13 Mayo 2023, 17:04 pm
Lo que no existe, para empezar, es una definición perfecta, universal, incuestionable, de lo que es amor, así que si no especificas de qué hablas, imposible o muy difícil responder.

Para mí el amor era algo similar a priorizar más la vida de la persona amada que la vida de uno mismo. pero me han dicho que es "el complemento de uno" y ahora pienso que se puede priorizar no la vida sino su felicidad (estar dispuesto a sufrir la peor tortura si eso evita que la amada se rompa una uña por ejemplo) o se puede amar la justicia o El Bien, o lo que uno entienda que es eso porque tampoco existen definiciones perfectas de eso. Yo amo lo último y soy un humano de mierd* no un santo así que también amo no sufrir, amo divertirme, y así, no voy a sufrir torturas por la sonrisa de una boluda ni voy a morir por salvarla si considero que valgo más que esa persona. Un poco de sufrimiento hace bien, UN POCO dije, no me vengan a hacer sufrir más de lo que ya he sufrido, ya fue bastante, el punto es que no está bien eso de ser super sumiso/arrastrado/esclavo/mascota con las mujeres como Keitaro en Love Hina, en ToraDora! y como en "La cosecha" (anduve buscando confirmar el nombre pero no la encontré, no sé, tampoco la vi toda, pero por lo que vi son mujeres que tienen la tradición de tener un hijo y luego sacrificar al esposo para que mejoren las plantas, según creen ellas).
Tampoco estaría bien que Batman o un policía muera por interponerse en la trayectoria de una bala dirigida a una minita que lo único que hace es sonreir y tonterías. Incluso si tiene hijos, si va a tenerlos entonces probablemente sí, pero de hecho no se sabe cómo será ese hijo, por eso no se sabe realmente. Esos héroes, si no se sacrifican por salvar 1 o 2 vidas, podrían salvar muchas más. Es parecida a la lógica que ocurre en Yo Robot, o en el ajedrez, no tiene sentido sacrificar a la pieza más fuerte por un peón que difícilmente corone o sea tan útil.

Amor a hacer lo correcto, El Bien, he dicho.

El amor incondicional y desinteresado de una madre en la gran mayoría de ocasiones existe no lo discutimos para nada.
Lo que digas campeón. Pero en mi opinión las madres hacen eso porque eso las hace felices o les parece bien hacerlo, tienen interés en ser felices o hacer lo que les parece bien. Desinteresadas son las piedras y demás. Y bueno ¿tú valoras eso tanto? Hay madres cuyos hijos han matado gente por tonterías y los defienden, o ellos mismos les roban, las maltratan, etc, y a veces llega un punto en que esa supuesta incondicionalidad se esfuma. Si existe en algunos casos o no, no me importa, me parece una tontería el amor incondicional a personas (bueno, el amor en sí a personas como expliqué no me parece lo mejor, pero si es incondicional mucho peor).

Citar
mascotas de compañia (cosa que ya lo sabéis que tengo dos gatas que las quiero muchismo es el único vivo que tengo mi familia)
Los animales de los que te crees dueño no son tu familia, tu tío supuestamente sí y está vivo. Los puedes querer más que a tu tío pero una cosa no quita la otra.

Citar
Quiero que me digáis la verdad, así sabré que este mundo es egoísta
El mundo es complejo, no es una persona ni personas, es espacio, átomos y qué sé yo, no sé qué intenciones o prioridades tiene, ni siquiera parece tener consciencia, así que no tiene mucho sentido hablar de eso. Tiene cosas malas y otras buenas, si no te gusta intenta mejorarlo.
Las personas no son tan estúpidas, no sé qué quieres ¿que te laman las botas porque sí? ¿tú no eres egoísta acaso? ¿has pensado en cómo ayudar a gente necesitada o más bien has pensado en tener cosas, tener amigos y novia?
Las personas quieren ser felices sin joder a los demás, o al menos la mayoría. No se entiende bien qué quieres ¿una mujer que no te quiera por tu plata? Pues entonces es un tema repetido, ya se te respondió, simula ser pobre hasta comprobar que te quiere a pesar de tu aparente pobreza ¿pero tú querrías a alguien que no puede ponerse tan linda ni hablar tan bien ni demás? Consigue una mujer con SIDA, paralítica o algo, esas te van a querer sí o sí supongo a menos que seas más egoísta de lo que crees ser.
Yo hace poco estaba pensando en dónde podía encontrar mujeres feas y cómo serían, y me imaginé que tendrían cara de hombre y me cansé del tema. No mucho después entré a Reddit y me apareció un tema de una muchacha que decía odiar su cara, y la verdad me pareció una cara de hombre precisamente, ni me gustaron sus manos grandes, ni su metal en la nariz ni su ropa, ni siquiera sé si era mujer. No sé, te digo esto porque yo mismo estaba desesperado y la vida me dió una cachetada haciéndome ver que... no sé, que no estaba tan dispuesto o desesperado como creía. Tú quizá sí, no sé... Lo bueno es que, entre más fea sea una mujer, más puede que gustos amplios tenga, y una linda también puede que no se fije mucho en el exterior.

Ve a Reddit y busca una sección sobre psicología, incells o algo así. Son bastante tóxicos por ahí pero, tiene más lógica que preguntar aquí. También te recomiendo Quora.
1057  Media / Multimedia / Re: Adobe Flash Player? en: 13 Mayo 2023, 15:35 pm
Yo tengo instalado Macromedia Flash 5, puedo crear/abrir archivos fla/swf si son de esa versión, pero es posible conseguir versiones más nuevas, de Adobe, pero si necesitas abrir algo mediante Chrome o un navegador no sé. Firefox solía ser más "amigable" con Flash, quizá si consigues una versión bastante antigua... El reproductor de videos Flash debe de poder descargarse de algún lado. Yo solía descargarlo de la página oficial pero como tenía que actualizarlo a cada rato dejé de hacerlo, además me acostumbré a lo que trae Chrome y ya no recuerdo la diferencia, creo que me cargaba más rápido y me gustaban más las opciones. Ah, sí, no aparecía el tonto cartel de pantalla completa.
1058  Programación / Programación General / Re: Ayuda con cálculos para que la trayectoria de una pelota cumpla ciertas condiciones. en: 9 Mayo 2023, 21:52 pm
Pudiera ser que no tengas la suficiente para pasar la pelota a exactamente 18.6 m al llegar a la red, pero sí a 19.5 m.
Ese caso sólo ocurriría si también la bola está muy alto y la debe golpear hacia abajo ¿no? Porque sino, si la puede elevar a 19.5 m también debería poderla elevar a 18.6 ¿no? Si es así, nos estamos entendiendo.

Citar
Eso no estaba estaba originalmente
En mi opinióbn sí, es la condición nro 5:
Citar
5- Las velocidades deben ser tales que la pelota caiga en cierto punto. Por ejemplo:

https://foro.elhacker.net/programacion_general/ayuda_con_calculos_para_que_la_trayectoria_de_una_pelota_cumpla_ciertas_condiciones-t516487.0.html;msg2266250#msg2266250

Citar
Sin conocer bien todos los parámetros, como las coordenadas (¿y AlexAcc es la gravedad?), es difícil saber bien lo que pasa, pero en ninguno de los casos la fuerza se está repartiendo al 100% en XY. Como te había dicho anteriormente, la velocidad total no es la suma de las individuales sino:

v = raiz(vx2 + vy2).

De hecho, aún incorporando la velocidad en Z, no llega al 100% de la disponible. ¿Estás usando el método del otro foro?
Te comenté que el código de eso, con la cancha naranja y las letras, es un lío y lo hice hace mucho, 2012, así que no te puedo explicar mucho.

AlexAcc es la puntería del jugador (Acc = accuracy), la idea era que si es menos de 10 los tiros se pudieran desviar más entre menos sea el valor. Pero es 10 ahí y no programé del todo eso, así que nada hace.
La gravedad es 0.01 ahí también si mal no recuerdo (es difíciil porque no la definí en una variable ni siquiera como spin, gran error).

Lo de la suma lo entendí, pero en este método se hace eso que pusiste, es decir se reparte la fuerza en XY así como pusiste, pero luego se vuelve a usar toda la fuerza en Z si se necesita, pero entonces la fuerza se puede usar toda 2 veces, está mal.

El método está basado en algo que me dijeron hace años, y lo de Z lo hice yo, mal. No está basado en lo que me dijeron en el foro que te mostré.

Las medidas de la cancha también son distintas de las que uso ahora (cancha azul).


La mínima altura por la que debe pasar la pelota era distinta también, creo que 24.51.

Le pongo tantos comentarios * como pueda.
Código
  1. Pow = _level0.AlexPow;
  2. // * Considéralo una abreviación.
  3. Caso = "";
  4. W = 1;
  5. E = 1;
  6. // * No recuerdo qué hace eso, está relacionado con casos más adelante.
  7. // Efectos de la pelota en lv0.
  8. // Relacionando velocidades.
  9. _level0.BallZ = _level0.BallZ*-1;
  10. // * Este código está dentro de un objeto dentro de otro, un lío sí, y en tal caso, estar por encima del centro es estar a menos algo, por eso se hace negativo al número.
  11. _level0.BallZInicial = _level0.BallZ;
  12. _level0.BallX = _level0.AlexX+13.4;
  13. // * Esto es porque la pelota está un poco hacia la derecha del jugador, aquí se define recién. Como estaba dentro del jugador, no había sido necesario.
  14. _level0.DistanciaX = _level0.BallX-Destiny;
  15. // * Destiny es lo que ahora llamo DestinoX. Uno de los dos puntos señalados en la parte de arriba de la imagen. También se puede sacar hacia el centro, pero en el video no lo hice, no cambia mucho.
  16. Norma = Math.sqrt(374.6*374.6+_level0.DistanciaX*_level0.DistanciaX+_level0.BallZ*_level0.BallZ);
  17. // * 374.6 sería como la distancia Y. Como al sacar eso es constante, no lo puse como variable. Pero estos métodos los necesito también cuando el jugador haya sacado. Por ahora no fue necesario.
  18. _level0.BallYSpeed = 374.6/Norma*-Pow;
  19. _level0.BallZSpeed = _level0.BallZ/Norma*-Pow;
  20. // * El - es porque en este caso la bola irá hacia donde baja el Y y Z.
  21. // * Ahora empieza lo difícil de entender.
  22. // Calcula la distancia que recorrería antes de tocar el suelo.
  23. Abrev = (200*_level0.BallZSpeed-1)*(200*_level0.BallZSpeed-1);
  24. // * Abrev es abreviación. Distancia probablemente se refiere a Y solamente. Estas fórmulas las obtuve dando casos a un programa llamado Eureka; le das variables y él intenta encontrar una relación entre ellas.
  25. ShotTZ = Math.ceil(((200*_level0.BallZSpeed-1)+Math.sqrt(Abrev+800*_level0.BallZ))/2);
  26. Excess = -374.6+ShotTZ*Math.abs(_level0.BallYSpeed);
  27. if (Excess<0) {
  28. // Casos normales.
  29. Caso = Caso+"A";
  30. // Calcula cuánto caería por causa de la gravedad.
  31. ShotTY = Math.ceil(374.6/Math.abs(_level0.BallYSpeed));
  32. // Abrev as caída extra.
  33. Abrev = ShotTY*(ShotTY+1)/200;
  34. // Calcula la velocidad Z restándole la caída extra a la altura.
  35. _level0.BallZSpeed = (_level0.BallZ-Abrev)/Norma*-Pow;
  36. if (_level0.BallZSpeed<=0) {
  37. Caso = Caso+"B";
  38. // B
  39. // Calcula la distancia que recorrería antes de tocar el suelo.
  40. Abrev = (200*_level0.BallZSpeed-1)*(200*_level0.BallZSpeed-1);
  41. ShotTZ = Math.ceil(((200*_level0.BallZSpeed-1)+Math.sqrt(Abrev+800*_level0.BallZ))/2);
  42. Excess = -374.6+ShotTZ*Math.abs(_level0.BallYSpeed);
  43. if (Excess>=0) {
  44. // Va a W
  45. E = 0;
  46. }
  47. }
  48. if (E == 1) {
  49. Caso = Caso+"D";
  50. // D
  51. // Equilibrar fuerza.
  52. Norma = Math.sqrt(374.6*374.6*2+_level0.DistanciaX*_level0.DistanciaX);
  53. _level0.BallYSpeed = 374.6/Norma*-Pow;
  54. _level0.BallZSpeed = _level0.BallYSpeed*-1;
  55. // E
  56. Caso = Caso+"E";
  57. // Calcula la distancia que recorrería antes de tocar el suelo.
  58. Abrev = (200*_level0.BallZSpeed-1)*(200*_level0.BallZSpeed-1);
  59. ShotTZ = Math.ceil(((200*_level0.BallZSpeed-1)+Math.sqrt(Abrev+800*_level0.BallZ))/2);
  60. Excess = -374.6+ShotTZ*Math.abs(_level0.BallYSpeed);
  61. if (Excess<0) {
  62. W = 0;
  63. // ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  64. Caso = Caso+"ACAAAAAAAAAAAAAAAAAA";
  65. } else {
  66. Caso = Caso+"F";
  67. // F
  68. // Calcula cuánto caería por causa de la gravedad.
  69. ShotTY = Math.ceil(374.6/Math.abs(_level0.BallYSpeed));
  70. // Abrev as caída extra.
  71. Abrev = ShotTY*(ShotTY+1)/200;
  72. // Calcula la velocidad Z restándole la caída extra a la altura.
  73. _level0.BallZSpeed = ((_level0.BallZ-Abrev)/Norma)*-Pow;
  74. // Calcula la distancia que recorrería antes de tocar el suelo.
  75. Abrev = (200*_level0.BallZSpeed-1)*(200*_level0.BallZSpeed-1);
  76. ShotTZ = Math.ceil(((200*_level0.BallZSpeed-1)+Math.sqrt(Abrev+800*_level0.BallZ))/2);
  77. Excess = -374.6+ShotTZ*Math.abs(_level0.BallYSpeed);
  78. }
  79. }
  80. }
  81. if (W == 1) {
  82. Caso = Caso+"W";
  83. do {
  84. // Recalcular velocidad Y de modo que no haya exceso.
  85. _level0.BallYSpeed = _level0.BallYSpeed+Excess/ShotTZ;
  86. Excess = 0;
  87. // Puede causar q la pelota no pase la red (se calcula dónde pasa).
  88. TR = Math.ceil(253.6/Math.abs(_level0.BallYSpeed));
  89. Abrev = 0.005*(TR+1);
  90. ZR = _level0.BallZ+_level0.BallZSpeed*(TR+1)+Abrev-Abrev*(TR+1)-_level0.BallZSpeed;
  91. if (ZR<24.5) {
  92. Abrev = _level0.BallZSpeed;
  93. // Calcula velocidad Z de modo que pase encima de la red.
  94. _level0.BallZSpeed = TR*0.005+0.005-(_level0.BallZ-24.51)/TR;
  95. if (Abrev<0) {
  96. // Si velocidad Z era N.
  97. if (_level0.BallZSpeed<Abrev or _level0.BallZSpeed>0) {
  98. // ERROR: La fuerza aplicada hacia abajo aumentó.
  99. _level0.BallZSpeed = Abrev;
  100. break;
  101. }
  102. } else if (Abrev>0) {
  103. // Si velocidad Z era P.
  104. if (_level0.BallZSpeed>Abrev or _level0.BallZSpeed<0) {
  105. // ERROR: La fuerza aplicada hacia arriba aumentó.
  106. _level0.BallZSpeed = Abrev;
  107. break;
  108. }
  109. } else {
  110. // Si velocidad Z era 0.
  111. // La fuerza aplicada a Z ya no puede reducirse.
  112. break;
  113. }
  114. }
  115. // Puede causar exceso (calcular cuánto).
  116. Abrev = (200*_level0.BallZSpeed-1)*(200*_level0.BallZSpeed-1);
  117. ShotTZ = Math.ceil(((200*_level0.BallZSpeed-1)+Math.sqrt(Abrev+800*_level0.BallZ))/2);
  118. Excess = -374.6+ShotTZ*Math.abs(_level0.BallYSpeed);
  119. } while (Excess>0);
  120. }
  121. ShotTY = Math.ceil(374.6/Math.abs(_level0.BallYSpeed));
  122. // (*)
  123. _level0.BallXSpeed = -_level0.DistanciaX/ShotTY;
  124. _level0.BallZSpeedf = _level0.BallZSpeed;
  125. // * Eso es velocidadZ inicial, nombrada así nomás.
  126.  

(*): No recuerdo qué hice ni lo entiendo, pero sé que está mal. Es como que calculé cuántos frames iba a tardar la bola en llegar al destino, cuánto la gravedad iba a aumentar la velocidad de caída (recuerda que mi método de aplicar la gravedad era otro), y entonces yo sumaba eso a la velocidad Z hacia arriba, para que siempre pasara justito por donde debía, pero puse algunos casos para cuando el personaje tuviera poca fuerza, o algo así.
En fin, puedo intentar decirte cada valor en cada momento para intentar ver qué ocurre, pero ¿vale la pena? No creo.
Lo de ACAAAAAAAAAAAAAAA es que me faltaba algo ahí. Debido a lo confuso del código, en aquél entonces, lo dejé. Ya no programo TAN confuso xD

Citar
Si te refieres a profundo y veloz tal como los definiste arriba, no. Ninguno de los dos tiros que obtengas hará que la pelota pique en el área de saque, porque, de nuevo, esa condición no estaba cuando escribí mis primeras dos respuestas. Con los dos posibles ángulos que te dan mis ecuaciones, la pelota cae directamente en el destino deseado en la cancha rival, simplemente uno es más "globeado" y otro más directo.
Profundo significa que cae en el punto deseado, veloz que puede caer antes (aunque tiene la misma trayectoria en XY y debe pasar encima de la red); si dices que con tu método cae en el punto deseado es profundo, cae lejos de la red (considerando la distancia Y hacia ella) pero en el área de saque. Cuando ya no sea el saque, los tiros sí pueden caer más al fondo de la cancha, pero eso es simplemente que canbia el destino deseado, el método debería servir también. ¿Sabes más o menos las reglas del tenis?

Citar
en algunos casos, usando menos fuerza podrías conseguir tiros que pasen más bajo, es decir, más cercanos a la red (y obviamente, cumpliendo con tus otras condiciones)
No le veo la lógica a eso. Te muestro algunos casos a ver si me explicas.












Veo que estoy cometiendo un error. En la realidad, para que un golpe llegue más lejos, conviene pegarle un poco hacia arriba. Aquí parece que no. ¿Será porque la gravedad ahí es muy fuerte? Simular ahí el 0.01 es complicado. Usé 1 y mi método, pero no creo que eso último sea el problema. En fin, se supone que entre más fuerza se tenga más fuerza hacia adelante se puede usar, y por lo tanto menos fuerza hacia arriba es necesario hacer, sí hacia abajo, pero tener más fuerza no debería impedir que uno pueda golpear más hacia la red ¡al contrario! Por eso no te entiendo.

Citar
complicaría las cosas, por lo que aquí también creo que es mejor que te enfoques en tratar de implementar correctamente mi método o el del otro foro.
Pues dime paso a paso cómo es, lo aplico y te digo si tiene un problema, cual.
1059  Programación / Programación General / Re: Ayuda con cálculos para que la trayectoria de una pelota cumpla ciertas condiciones. en: 8 Mayo 2023, 18:27 pm
Sí, esa parte está clara, la pelota no sólo debe pasar por encima de la red sino que además debe hacerlo a la menor altura posible. Pero "lo más bajo posible" es distinto de "exactamente".
¿Cual es la diferencia?

Repito:
Código:
Si el jugador no tiene suficiente fuerza como para que la pelota pase la red,
   no debe pasar
sino si tiene suficiente fuerza pero debe lanzarla hacia arriba para que pique en lo profundo del área del saque, o para que bote ahí al menos,
   la lanza hacia arriba, puede que pase bastante por encima de la red
sino
   pasará casi rozando la red, a la mínima altura posible (pero por encima de la red), que exactamente determiné que es 18,6.

En el siguiente video puedes ver esos casos, pero no está bien porque la fuerza se reparte 100% en XY y luego también puede usarse 100% en Z o algo así, el código es un lío además.
https://drive.google.com/file/d/1jyrIyycu_joxlfIblj5IDEwZ_Y3giSPR/view?usp=share_link

Con fuerza 10 no hay problema (aunque no puede usarla toda creo, tendría que usar un golpe liftado o algo así, pero eso es otro tema).
Con fuerza 5 pasa un poco más arriba.
Con fuerza 2 pasa muy por arriba.
Con fuerza 1 no pasa la red aunque se apunte desde el centro hacia el centro.

Citar
lo que te pusieron en el otro foro es para que la pelota pase exactamente a la mínima altura posible, y en ese caso, la velocidad no la puedes decidir tú, sino que se calcula con las ecuaciones que te dieron. Y esas velocidad resultante no tiene por qué corresponderse con la "fuerza" que tiene tu jugador. Es decir, no usan AlexFuerza para nada, sino que te imponen el valor que esa variable debe tener.
Es porque expliqué mal o quien respondió no entendió. Creo que desde el inicio dije que quería que la fuerza dependiera del personaje, de una variable (eso es la condición 2 y está al comienzo de este tema), que por dónde pase es secundario (condición 3, es decir, que debe cumplirse pero sin que dejen de cumplirse las anteriores).

...

Por lo que dices tu método daría el resultado que quiero. Si además sirve para determinar 2 posibles tipos de tiro (profundo o veloz), mejor. Que el tiro no sea el más óptimo está bien, si el personaje no tiene suficiente fuerza no debe poderla usar de la nada ¿o es posible que con menos fuerza pueda hacer tiros mejores?
1060  Media / Juegos y Consolas / Re: YouTube: Demostración de Castlevania Vampire's Kiss Hackeado de SNES en: 8 Mayo 2023, 07:05 am
Vaya, sí que ha sido una demostración de que ha hackeado el juego, que le den una medalla por esas más de 2 horas de enorme esfuerzo de demostración.

Sería más interesante si dijera cómo hizo el hack y que aprendiera a jugar más o menos bien, pero eh, lo importante es demostrar que hackeó.

De hackear no sé, de cómo jugar bien acá tiene:
https://www.youtube.com/watch?v=zlT4qbPo300
No digo que juegue así, pero puede aprender varias cosas.

Y no sé si es por el aparato en que corre el juego, la versión, el emulador o el hack, pero el juego parece más lento en el video que has puesto. Tal vez eso explica un poco la diferencia de tiempo.
Páginas: 1 ... 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [106] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 ... 257
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines