Necesito ayuda sobre la velocidad de la bola del juego

Este es un proyecto de programación orientado a objetos de grado 12.

Tengo una clase llamada Ball para construir mi objeto ball.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class Ball{
    private double xPos;
    private double yPos;
    private int direction;
    public Ball(int ixPos, int iyPos, int idirection){
        xPos = ixPos;
        yPos = iyPos;
        direction = idirection;
    }
    public int returnX(){
        return (int)xPos;
    }
    public int returnY(){
        return (int)yPos;
    }
    public int returnDirection(){
        return direction;
    }
    public void move(){
        xPos += 1*Math.cos(Math.toRadians(direction));
        yPos -= 1*Math.sin(Math.toRadians(direction));
    }
    public void collide(int collideWith){
        if(collideWith==1){//collide with left wall
            if(90<direction && direction<180){
                direction = 180-direction;
            }
            if(180<direction && direction<270){
                direction = 540-direction;
            }
        }
        if(collideWith==2){//collide with right wall
            if(0<direction && direction<90){
                direction = 180-direction;
            }
            if(270<direction && direction<360){
                direction = 540-direction;
            }
        }
        if(collideWith==3){//collide with up wall
            if(0<direction && direction<90){
                direction = 360-direction;
            }
            if(90<direction && direction<180){
                direction = 360-direction;
            }
        }
        if(collideWith==4){//collide with down wall
            direction = 360-direction;
        }
    }
    public void collidePaddle(int collidePos){
        if(collidePos!=50 && collidePos!=0){
            direction = (50-collidePos)*180/50;
        }
    }
}

Como puede ver en la función "mover", ahora la pelota va a una velocidad muy baja. Pero necesito que la pelota vaya más rápido. Si cambio el 1 en algo como, 5, habría un problema. En mi clase principal, donde verifica si la pelota está golpeando la pared o los bloques para cambiar de dirección, la pelota iría hacia la pared o los bloques si la cantidad de píxeles que la pelota puede mover cada vez es mayor que 1.

Para mí, parece que no hay forma de resolver este problema, no tengo idea de dónde comenzaría a pensar, ¿hay una mejor manera de verificar colisión o algo así?

Gracias.

Respuesta 1

Tengo un sitio web que envía información dinámica a los usuarios a través de servlets. No tiene estado y no hay inicios de sesión. Este sitio específico utiliza una cantidad decente de llamadas doPost () y doGet () del cliente ...

Soy nuevo en Docker y actualmente estoy trabajando en el dokernizing de algunas aplicaciones. Estructura del proyecto: -PlayProject ------- aplicación ---------- controladores ---------- modelos ---------- vistas --- ---- ci -------...

Tengo un archivo de texto que contiene 5 clientes (1 por línea), Cliente 1, Cliente 2, Cliente 3, Cliente 4 y Cliente 5. Usando el siguiente código, lee las 5 líneas de texto perfectamente; import java.io ....

Tengo las siguientes matrices en java, me gustaría multiplicar las columnas array_x por filas array_y para finalmente crear valores array_z aray_x array_y array_z 4 | 9 4 | 11 | 12 | 14 ...