Skip to main content
gamedev.net
🔒 Locked 🎮 Unity

[java] Design Question

Started by FiVeTeN 0 replies 700+ views
Original Post
FiVeTeN
FiVeTeN
I am going to go ahead and paste my code, then ask some questions about it.

public class Paddle {

    public static final int SPEED = 5;

    public static final int WIDTH = 30;
    public static final int HEIGHT = 100;

    //The paddle itself and dimensons
    private Rectangle paddle;

    //the collidable screen
    private Rectangle windowRect;
    
    public Paddle(Rectangle windowRect){
        this.paddle = new Rectangle(0, 0, WIDTH, HEIGHT);
        this.windowRect = windowRect;
    }

    public void moveUp(){
        // Move the paddle
        paddle.translate(0, (-1)*SPEED);

        // if paddle went off screen, move it back
        if (!windowRect.contains(paddle)){
            paddle.translate(0, SPEED);
        }
    }

    public void moveDown(){
        // Move the paddle
        paddle.translate(0, SPEED);

        // if paddle went off screen, move it back
        if (!windowRect.contains(paddle)){
            paddle.translate(0, (-1)*SPEED);
        }
    }

    //Called from GameManager
    public void update(long elapsedTime) {
        
    }

    //Called from GameManager
    public void draw(Graphics2D g){
        g.setColor(Color.red);
        g.fillRect(paddle.x, paddle.y, paddle.width, paddle.height);
    }
}


My questions are: What is the best way to handle collision? Right now, as you can see, I just passed a Rectangle into the constructor. But, what if I want more objects to test for collisions? Would I pass every single object into the Paddle class? Or should I just have some static data structure which holds all the collidable objects in my GameManager (The main class which holds objects and what not). Or should i have a reference to GameManager inside each GameObject so that i can grab other objects when needed. This is the main design issue im confused about. Also, are methods like moveUp and moveDown better than just doing a getRectangle and editing the values of the rectangle from the GameManager? I am pretty much asking for any feedback on how to improve my class designs.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.