同一类“扫雷”的多个物体

时间:2017-03-10 20:01:22

标签: minesweeper

我是java的新手,我的问题可能是愚蠢但我真的不知道如何解决这个问题,我正在制作一个扫雷并且即时通讯使用javafx,我正在使用一个类的地雷,所以即时通讯使用“stackPane”和我把它放在一个网格中,我的问题是我不知道它的多个实例的热点,我不知道如何开始,我制作一个10 * 10板,并且矿山随机地接触到apear,所以我正在使用“math.random”来判断一个空间是否会是一个空间,或者它是否会有一个地雷,我希望有一个可以帮助我

我找到了解决方案,但我现在不知道怎么做的事情是如何为每个按钮设置“setaction”,我试图把setonactio(new eventhandler()... 这是我的代码:

 package buscaminas2;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 *
 * @author ALIENWARE R4
 */
public class Buscaminas2 extends Application {

    @Override
    public void start(Stage primaryStage) {
    primaryStage.setTitle("buscaminas");





        GridPane mainGrid = new GridPane(); 





    GridPane flowPane = new GridPane();
    flowPane.setPadding(new Insets(2, 2, 2, 2));
    flowPane.setVgap(2);
    flowPane.setHgap(2);
    //flowPane.setPrefWrapLength(210);




    HBox score = new HBox();



    Button btn = new Button();


    for (int i = 0; i < 10; i++) {//-----------------bob the constructor------------------//

            for (int j = 0; j < 10; j++)
            {
               int abc = (int)(Math.random()*10);
               System.out.print(abc);

               if( abc > 2)
               {
                 btn = new Button(" ");
                 btn.setId(STYLESHEET_MODENA);
                btn.setPrefSize(35, 35);
                flowPane.add(btn, i, j);
                flowPane.getChildren().get(i);


               }
               else
               {
                    StackPane boomb = new StackPane();//---------------------bombs--------------------//
                    boomb.setPrefSize(35, 35);
                    Label num = new Label("X"); 
                    num.setPrefSize(40, 40);
                    boomb.getChildren().add(num);
                    Button xyz = new Button();
                    xyz.setPrefSize(40, 40);
                     boomb.getChildren().add(xyz);

                       flowPane.add(boomb, i, j);// agrega bombas en xy agregando "boomb" en el grid









               }



            }



    }

    Scene scene = new Scene(flowPane);
    primaryStage.setScene(scene);
    primaryStage.show();
  }
}

0 个答案:

没有答案