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


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Establecer distancia respecto al 0 o 20.5
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Establecer distancia respecto al 0 o 20.5  (Leído 760 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.690


Hackentifiko!


Ver Perfil
Establecer distancia respecto al 0 o 20.5
« en: 7 Enero 2026, 10:14 am »

Estas fórmulas determinan hacia dónde irán los saques en mi juego Pong y la rotación de lo que sería la bola:
ApuntandoX = Math.random()*700-350;
ApuntandoY = Math.random()*375.5+20.5;
Rotando = Math.random()*200-100;

Si las entiendo bien,
el rango de ApuntandoX es -350~350,
de ApuntandoY es 20.5~400,
y de Rotando es -100~100.

El juego se pone más difícil entre con mayor diferencia vayas ganando, es decir hay una variable Dificultad, que inicia como 0 y va subiendo.

Quisiera modificar las fórmulas de modo que Dificultad influya.

En el caso de ApuntandoX, el resultado puede ser 0, pero si Dificultad es 10 por ejemplo, quiero que el rango sea -350~-10 y 10~350, es decir así con una zona de "valores prohibidos", básicamente es que entre mayor sea la dificultad, menos al centro irán los saques.

Rotando es parecido, entre mayor sea la dificultad, mayor será la mínima rotación inicial posible, es decir todos los tiros tendrán algo de rotación.

ApuntandoY sólo tiene valores positivos así que parece más fácil de resolver, algo como
ApuntandoY = Math.max(Math.random()*400, Dificultad+20.5);
...no estoy seguro.


En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.690


Hackentifiko!


Ver Perfil
Re: Establecer distancia respecto al 0 o 20.5
« Respuesta #1 en: 11 Enero 2026, 16:22 pm »

Lo tengo así:
Código
  1. ApuntandoX = Math.max(Math.random()*350, Dificultad*10);
  2. ParaSigno = random(2);
  3. if (ParaSigno == 0) {
  4. ApuntandoX = -ApuntandoX;
  5. }
  6. ApuntandoY = Math.max(Math.random()*400, Dificultad*10+20.5);
  7. Rotando = Math.max(Math.random()*100, Dificultad*10);
  8. ParaSigno = random(2);
  9. if (ParaSigno == 0) {
  10. Rotando = -Rotando;
  11. }

Me falta confirmar que funcione como espero y crear la variable D¡ficultadx10 para no tener que estar multiplicando Dificultad a cada rato (o si siempre va a usarse como *10 la voy a ajustar, tengo que fijarme si se puede así).


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Establecer comunicacion con el puerto USB
Programación Visual Basic
chips_ruiz 0 3,873 Último mensaje 9 Mayo 2005, 04:37 am
por chips_ruiz
Windows XP aumenta su distancia con respecto a Windows 7
Noticias
wolfbcn 4 3,969 Último mensaje 4 Abril 2012, 16:07 pm
por :ohk<any>
conexión inalambrica a distancia a distancia
Hacking Wireless
MAXIMUS33 2 4,224 Último mensaje 22 Agosto 2013, 16:15 pm
por MAXIMUS33
[Python] Establecer un temporizador
Python
elmoyer 1 4,813 Último mensaje 28 Octubre 2013, 15:20 pm
por 0x5d
Duda respecto al terminal y respecto a Unix
GNU/Linux
idzen 4 4,505 Último mensaje 19 Noviembre 2013, 19:35 pm
por desikoder
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines