Rechteckschachtelung

  • Java

  • Underkane
  • 3341 Aufrufe 1 Antwort

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Rechteckschachtelung

    Aufgabenstellung: Rechteckschachtelung

    Eine Fläche soll mit Rechtecken gefüllt werden, dass ein Rechteck zwei Rechtecke enthält. Jedes dieser Rechtecke enthält wieder zwei Rechtecke usw. Damit die Rechtecke unterschiedlich geschachtelt werden und unterschiedliche Farben besitzen, sollen die Teilungsstelle und die Farbe jeweils per Zufall ermittelt werden.


    So wie ich den Text verstanden habe, soll ein Rechteck erstellt werden, das zwei Rechtecke enthält, die wieder je zwei Rechtecke enthalten, usw.
    Ob die Teilung horizontal oder vertikal sowie in welcher Farbe erfolgt soll zufällig sein.


    Mir fehlt jedoch der richtige Ansatz um das zu lösen.

    Was ich bis jetzt habe:

    Quellcode

    1. import javax.swing.JFrame;
    2. public class Main extends JFrame {
    3. final static int WINDOW_WIDTH = 800, WINDOW_HEIGHT = 600;
    4. public Main() {
    5. setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
    6. setResizable(false);
    7. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    8. add(new Controller());
    9. setVisible(true);
    10. }
    11. public static void main(String[] args) {
    12. new Main();
    13. }
    14. }
    Alles anzeigen


    Java-Quellcode

    1. import javax.swing.JPanel;
    2. import java.awt.event.ActionListener;
    3. import java.awt.event.ActionEvent;
    4. import javax.swing.Timer;
    5. import java.awt.Graphics;
    6. import java.awt.Color;
    7. public class Controller extends JPanel implements ActionListener {
    8. public Controller() {
    9. Timer timer = new Timer(1000, this);
    10. timer.start();
    11. }
    12. public void paintComponent(Graphics g) {
    13. g.setColor(Color.BLACK);
    14. g.fillRect(0, 0, Main.WINDOW_WIDTH, Main.WINDOW_HEIGHT);
    15. }
    16. public void actionPerformed(ActionEvent e) {
    17. //teilen
    18. }
    19. }
    Alles anzeigen


    Java-Quellcode

    1. import java.awt.Graphics;
    2. import java.awt.Color;
    3. public class Rectangle {
    4. private int x, y;
    5. private int width, height;
    6. public Rectangle(int x, int y, int width, int height) {
    7. this.x = x;
    8. this.y = y;
    9. this.width = width;
    10. this.height = height;
    11. }
    12. public void paint(Graphics g) {
    13. //farbe g.setColor(Color.WHITE);
    14. g.fillRect(x, y, width, height);
    15. }
    16. public int getX() {
    17. return x;
    18. }
    19. public int getY() {
    20. return y;
    21. }
    22. public int getWidth() {
    23. return width;
    24. }
    25. public int getHeight() {
    26. return height;
    27. }
    28. }
    Alles anzeigen