Для цикла для программы? - PullRequest
       1

Для цикла для программы?

0 голосов
/ 08 октября 2019

поэтому я пишу программу о математической проблеме Монте-Карла и делаю ее визуальную сторону. У меня в основном все настроено, единственная проблема в том, что я не могу поместить пиксели в цикл по какой-то причине. Любая помощь? Я уже пробовал цикл for.

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) 
    {
        int width = 1;
        int random = ((int)Math.random()*400)+1;

        // Create the Colors
        Color white = Color.web("rgb(255,255,255)");
        Color black = Color.web("rgb(0,0,0)");

        //making the square
        Rectangle square = new Rectangle(115,50,400,400);
        square.setFill(black);
        square.setStroke(white);
        square.setStrokeWidth(width);


        //Drawing the Circle and pixels
          Circle circle = new Circle();
          Circle pixel = new Circle();

          //Setting the properties of the circle 
          circle.setCenterX(315.0f); //moves the cirlce left or right 
          circle.setCenterY(250.0f); //moves the circle up and down
          circle.setRadius(200.0f);
          circle.setFill(black);
          circle.setStroke(white);
          circle.setStrokeWidth(width);

          //setting properties of the pixels
          for(int i = 0; i<1000; i++)
          {
                  pixel.setCenterX((int)(Math.random()*400)+1);
                  pixel.setCenterY((int)(Math.random()*400)+1);
                  pixel.setRadius(1);
                  pixel.setFill(white);

          }


        //Creating a Group object  
          Group Root = new Group(circle);

            Pane pane = new Pane();
            pane.getChildren().addAll(square,circle,pixel);
            Scene scene = new Scene(pane,630,500);
            primaryStage.setScene(scene);
            primaryStage.show();


    }

    public static void main(String[] args)
    {

        launch(args);

    }
}

1 Ответ

1 голос
/ 08 октября 2019

Код

public class PixelLoop extends Application {

    @Override
    public void start(Stage primaryStage) {
        int width = 1;
        int random = ((int)Math.random()*400)+1;

        // Create the Colors
        Color white = Color.web("rgb(255,255,255)");
        Color black = Color.web("rgb(0,0,0)");

        //making the square
        Rectangle square = new Rectangle(115,50,400,400);
        square.setFill(black);
        square.setStroke(white);
        square.setStrokeWidth(width);


        //Drawing the Circle and pixels
        Circle circle = new Circle();

        //Setting the properties of the circle
        circle.setCenterX(315.0f); //moves the cirlce left or right
        circle.setCenterY(250.0f); //moves the circle up and down
        circle.setRadius(200.0f);
        circle.setFill(black);
        circle.setStroke(white);
        circle.setStrokeWidth(width);


        //Creating a Group object
        Group Root = new Group(circle);

        Pane pane = new Pane();
        pane.getChildren().addAll(square,circle);

        //setting properties of the pixels
        for(int i = 0; i<1000; i++) {

            Circle pixel = new Circle();

            pixel.setCenterX((int)(Math.random()*400)+1);
            pixel.setCenterY((int)(Math.random()*400)+1);
            pixel.setRadius(1);
            pixel.setFill(white);

            pane.getChildren().add(pixel);
        }

        Scene scene = new Scene(pane,630,500);
        primaryStage.setScene(scene);
        primaryStage.show();


    }

    public static void main(String[] args) { Application.launch(args);    }
}

В начале была проблема, что вы перезаписывали свой объект снова и снова. Вот почему был только один пиксель.

Как сказал @Tobias Brösamle, вам следует создавать новый объект каждый раз, когда вы проходите через цикл, а затем добавлять его на панель.

Если вы хотите, чтобы координаты негатива, попробуйте this

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...