Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
42 changes: 42 additions & 0 deletions sample/Cell.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package sample;

import javafx.scene.control.Button;

public class Cell extends Button {
private Button button;
private boolean isBomb;//является ли бомбой
private boolean isOpen;//открыта ли клетка
private boolean isMarked;//отмечена ли флагом


public boolean isBomb() {
return isBomb;
}

public boolean isOpen() {
return isOpen;
}

public void setOpen(boolean open) {
isOpen = open;
}

public void setMarked(boolean marked) {
isMarked = marked;
}

public boolean isMarked() {
return isMarked;
}

public Button getButton() {
return button;
}

public Cell(Button button, boolean isBomb) {
this.button = button;
this.isBomb = isBomb;
this.isOpen = false;
this.isMarked = false;
}
}
File renamed without changes.
16 changes: 16 additions & 0 deletions sample/Generator.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package sample;

import java.util.ArrayList;
import java.util.List;


public class Generator {

public static List<Integer> generate(int amountOfBombs){
List<Integer> randomNumbers = new ArrayList<Integer>();
for (int i = 0; i <= amountOfBombs; i++) {
randomNumbers.set(i, (int) (Math.random() * 81));
}
return randomNumbers;
}
}
93 changes: 93 additions & 0 deletions sample/JavafxSample.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package sample;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseButton;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import java.io.FileInputStream;
import java.util.ArrayList;

public class JavafxSample extends Application {
private static ArrayList<Cell> cells = new ArrayList<>();
private static ArrayList<Button> buttons = new ArrayList<>();
private static final int tableSize = 16;
private static final int buttonSize = 24;




@Override
public void start(Stage primaryStage) throws Exception {





for (int i = 0; i < tableSize * tableSize; i++) {
buttons.add(new Button());
cells.add(new Cell(buttons.get(i), false));
}


for (int i = 0; i < tableSize * tableSize; i++) {
buttons.get(i).setGraphic(
new ImageView(
new Image(
new FileInputStream("D:\\JavaProjects\\Minesweeper\\src\\resourses\\blank.png"))));

buttons.get(i).setMinSize(buttonSize,buttonSize);
buttons.get(i).setMaxSize(buttonSize,buttonSize);
buttons.get(i).setOnMouseClicked((MouseEvent event) -> {

if(event.getButton().equals(MouseButton.SECONDARY)){
leftClick(event.getSceneX(), event.getSceneY());
}

if(event.getButton().equals(MouseButton.PRIMARY)){
rigthClick(event.getSceneX(), event.getSceneY());
}
});

}



GridPane gridPane = new GridPane();
for (int i = 0; i < tableSize * tableSize; i++)
gridPane.add(buttons.get(i), i % tableSize, i / tableSize);



Scene scene = new Scene(gridPane, buttonSize * tableSize, buttonSize * tableSize);
primaryStage.setTitle("Sample Application");
primaryStage.setScene(scene);
primaryStage.show();
}


public static void rigthClick(double x, double y) {

int numX = (int) (x / buttonSize) + 1;
int numY = (int) (y / buttonSize);
int number = numX + numY * (tableSize) - 1;

buttons.get(number);
System.out.println(number+ " ");



}

public static void leftClick(double x, double y) {
int numX = (int) (x / buttonSize) + 1;
int numY = (int) (y / buttonSize);
int number = numX + numY * (tableSize) - 1;

buttons.get(number);
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
21 changes: 0 additions & 21 deletions src/sample/Cell.java

This file was deleted.

5 changes: 0 additions & 5 deletions src/sample/Click.java

This file was deleted.