¿Cómo manejar la aleatoriedad en ángulos de movimiento en Python?

Contenido del Bootcamp Dirigido por: | Última modificación: 9 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Has pensando en cómo manejar la aleatoriedad en ángulos de movimiento en Python? Los objetos en programas de código para el desarrollo de videojuegos necesitan moverse para hacerlos mucho más prácticos y funcionales de acuerdo a las necesidades para interactuar con un programa de juego.

Por eso, hay distintas formas para que un objeto se traslade de acuerdo a parámetros como ángulo, velocidad o dirección. Por tanto, en este artículo, te contamos cómo manejar la aleatoriedad en ángulos de movimiento en Python.

Ángulos de movimiento

Un movimiento en un objeto de un programa en Python, como en cualquier otro caso, traza unas lineas específicas de movimiento. Entre ellos, encontramos que los objetos a veces pueden trazar ángulos mientras se mueven. Por ejemplo, estos ángulos se pueden formar cuando hay una colisión entre un objeto en movimiento y una línea o pared donde para y rebota la trayectoria.

Cuando la trayectoria de la colisión tiene los mismos valores en x y en y

Cuando hay una colisión, se forma un ángulo de entrada y un ángulo de salida, que cumple una propiedad clara según la forma en el que se disponen. Con esta propiedad, como podemos ver en la representación de la siguiente imagen, observamos cómo el ángulo de entrada es igual que el ángulo de salida.

En términos de Python, se representa como Ángulo_entrada == Ángulo_salida. El primer movimiento del ángulo de entrada es la suma del movimiento de los cambios de las dos coordenadas, x e y, dado que está tomando una trayectoria que no solo es vertical u horizontal. Aquí el movimiento se va sumando en ambas coordenadas.

¿Cómo manejar la aleatoriedad en ángulos de movimiento en Python?
Ángulo 45 grados de entrada y salida

Cuando la trayectoria de la colisión tiene diferentes valores en x y en y

En esta colisión también se forma un ángulo de entrada y otro de salida, pero, en este caso, la trayectoria de los valores no es igual en ambas coordenadas, es decir, en x puede avanzar más valores que en la coordenada y. Es decir, hay mayor movimiento horizontal que vertical.

¿Cómo manejar la aleatoriedad en ángulos de movimiento en Python?
Ángulo más abierto de entrada y salida.

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Si bien hay otro tipo de ángulos que puede representar la trayecto del movimiento de un objeto, con estos podemos concluir que, aunque el primero movimiento se logre introduciendo la misma velocidad a un objeto en ambas coordenadas, para el segundo ejemplo debe haber un cambio en la velocidad de alguna de las coordenadas de trayectoria. Es decir, si se establece una misma velocidad para un movimiento en dos coordenadas, el ángulo será de 45 grados. Por tanto, deberás manejar la aleatoriedad en ángulos de movimiento en Python desde el control de la velocidad.

Ahora, en la representación de un videojuego puedes ver de forma más diáfana la trayectoria de cada uno de estos movimientos.

Manejar la aleatoriedad en ángulos de movimiento en Python

Introducir la aleatoriedad en ángulos de movimiento en Python se hace desde la velocidad que hay en un movimiento en correspondencia a los das coordenadas en donde se puede lanzar un objeto. La coordenada x para el movimiento horizontal, y la coordenada y para el movimiento vertical.

Para controlar esta aleatoriedad, utilizamos el módulo de random de la documentación oficial de Python. En este módulo hay una función que devuelve un número entero aleatorio entre a y b, esta es random.randint(a, b).

Para utilizarla, debemos importar la librería random en nuestro programa de videojuego:

#importar librería random al programa

import random

#en la definición del movimiento que queremos mover

def nombre_de_movimiento

#utilizamos el módulo random.randint (a, b) en los objetos que queremos mover.

self.objeto.vel_h = -self.bola.vel #cambiar la dirección en el horizontal

self.vel_v = random.randint (3, 9) #velocidad en vertical

De esta manera, has encontrado una forma para manejar la aleatoriedad de un ángulo de la trayectoria del movimiento de un objeto. Si quieres saber cómo cambiar los ángulos de movimiento en un programa de un videojuego específico, puedes visitar el artículo sobre la colisión entre una bola y dos paletas en Pygame.

Continúa practicando con Python

Si quieres seguir aprendiendo sobre el manejo y control de los movimiento y atributos que corresponden, deberás seguir practicando con ejercicios acerca del desarrollo de videojuegos con la librería de Python, Pygame.

Por tanto, te recomendamos echarle un vistazo a las temáticas del Bootcamp de Programación Full Stack. Estos temas son fundamentales para adquirir conocimientos y construir unas bases sólidas para seguir programando y aprendiendo con Python. ¡Anímate a matricularte y a seguir conociendo herramientas de Pygame!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.