Berechnung von Koordinaten, die zufällig aussehen

Eldorado

Bekanntes Mitglied
Hi Leute,
hat jemand eine Idee, wie ich folgenden Algorithmus aufbauen kann:
Berechnung von x- und y-Koordinaten, für 100x100 px große Rechtecke, die einen minimalen Abstand von 10 px zueinander haben sollten. Die Koordinaten müssen von der oberen linken Ecke gerechnet werden. Die Fläche selbst ist 800x800px groß.

Ziel ist: Die Rechtecke sollen möglichst zufällig angeordnet werden.

Ich habe das ganze jetzt mit null-Layout und Buttons getestet. Die spätere Implementierung ist aber unwichtig.(Wen es interessiert: Das ganze ist für die Berechnung von Positionen von den Türchen eines Adventskalenders.)

Mein Ansatz war jetzt folgender:
Java:
public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setLayout(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800, 800);

        JButton button;
        int posx = 0;
        int posy = 0;

        for (int i = 0; i < 5; i++) {
            posy += 110;
            posx = 0;
            for (int j = 0; j < 5; j++) {
                posx += 110;

                frame.add(button = new JButton());

                int randx = ?;
                int randy = ?;
                button.setBounds((posx + randx), (posy + randy), 100, 100);
                button.setText((posx + randx) + "," + (posy + randy));
                System.out.println("x: " + (posx + randx) + "y: " + (posy + randy));
            }
        }
        frame.setVisible(true);
    }

Wäre nett wenn ihr mir für die Berechnung der ? auf die Sprünge helfen könntet. Vielen Dank!
 
Die kenne ich, aber bei Random hab ich ja immer verschiedene werte bei jedem Durchlauf. Ich brauche aber bei jedem Durchlauf die gleichen Werte.

Aber ich habe eventuell ne Möglichkeit gefunden dass Problem zu umgehen. Aber wäre trotzdem mal interessant da nen schön algo zu entwickeln.
 
Warum machst du es nicht so,
dass du einmal Random aufrufst und die Werte in eine Liste speicherst.
So hast du doch nur einmal den Aufruf des Random.
 
Das Problem ist, dass ich das ganze nicht in Java umsetzen möchte. Hab das mit folgender Aussage sagen wollen, gebe aber zu, dass ich mich klarer hätte ausdrücken müssen: "Die spätere Implementierung ist aber unwichtig"
Es ging mir halt nur um den Algorithmus, ich schließe das Thema aber mal da ich wie gesagt eine andere Möglichkeit gefunden habe.
 

Neue Themen


Zurück
Oben