diff --git a/.idea/artifacts/java_Minesweeper_jar.xml b/.idea/artifacts/java_Minesweeper_jar.xml
deleted file mode 100644
index 9049cf3..0000000
--- a/.idea/artifacts/java_Minesweeper_jar.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- $PROJECT_DIR$/out/artifacts/java_Minesweeper_jar
-
-
-
-
-
\ No newline at end of file
diff --git a/src/GameScreen.java b/src/GameScreen.java
index b0caddb..3a187e1 100644
--- a/src/GameScreen.java
+++ b/src/GameScreen.java
@@ -1,6 +1,7 @@
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.LineBorder;
+import javax.swing.border.MatteBorder;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
@@ -35,7 +36,7 @@ public GameScreen(int sizeX, int sizeY, int bombDensity){
this.amtMoves = 0;
try{
- imageMaster = ImageIO.read(new File("sprites/minesweeper_flag.png"));
+ imageMaster = ImageIO.read(new File("src/sprites/minesweeper_flag.png"));
} catch(Exception e){
e.printStackTrace();
}
@@ -78,7 +79,8 @@ public GameScreen(int sizeX, int sizeY, int bombDensity){
//currentButton.setIcon(new ImageIcon("green_button.png"));
currentButton.setFont(new Font("Arial", Font.BOLD, bWidth / 4));
- currentButton.setBorder(new LineBorder(Color.BLACK, 0));
+ //currentButton.setBorder(new LineBorder(Color.BLACK, 0));
+ currentButton.setBorder(new MatteBorder(0,0,0,0,Color.BLACK));
currentButton.setForeground(Color.BLACK);
currentButton.setBackground(Color.decode(grass_colours[((row + collumn) % 2)]));
original_color = currentButton.getBackground();
@@ -188,6 +190,8 @@ public void checkForBombs(int pressedX, int pressedY, GameButton currentButton)
currentNeighbour.setBombsAround(checkAmtBombsAround(currentNeighbour.getbX(), currentNeighbour.getbY(), 1));
+ //this.changeBtnBorder(currentNeighbour, checkedNeighbours);
+
if(!currentNeighbour.isChecked() && !currentNeighbour.isBomb() && currentButton.getBombsAround() == 0 && !currentButton.isBomb()){
//currentButton.setBackground(Color.decode(grass_colours[((currentButton.getbX() + currentButton.getbY()) % 2) + 2]));
@@ -196,17 +200,23 @@ public void checkForBombs(int pressedX, int pressedY, GameButton currentButton)
// only checks the four neighbour tiles # up left down right
if(currentNeighbour.getbX() == pressedX || currentNeighbour.getbY() == pressedY){
- currentNeighbour.setChecked(true);
- this.checkForBombs(currentNeighbour.getbX(), currentNeighbour.getbY(), currentNeighbour);
+
+ // only checks and pass check down if it is not flagged
+ if(!currentNeighbour.isFlagged()){
+ currentNeighbour.setChecked(true);
+ this.checkForBombs(currentNeighbour.getbX(), currentNeighbour.getbY(), currentNeighbour);
+ }
}
} else{
- currentNeighbour.setChecked(true);
+ if(!currentNeighbour.isFlagged()){
+ currentNeighbour.setChecked(true);
- currentNeighbour.setBackground(Color.decode(grass_colours[((currentNeighbour.getbX() + currentNeighbour.getbY()) % 2) + 2]));
- currentNeighbour.setForeground(Color.decode(font_colours[currentNeighbour.getBombsAround()]));
- currentNeighbour.setIcon(null);
+ currentNeighbour.setBackground(Color.decode(grass_colours[((currentNeighbour.getbX() + currentNeighbour.getbY()) % 2) + 2]));
+ currentNeighbour.setForeground(Color.decode(font_colours[currentNeighbour.getBombsAround()]));
+ currentNeighbour.setIcon(null);
- currentNeighbour.setText(String.format("%d", this.checkAmtBombsAround(checkedNeighbours.get(i).getbX(), checkedNeighbours.get(i).getbY(), 1)));
+ currentNeighbour.setText(String.format("%d", this.checkAmtBombsAround(checkedNeighbours.get(i).getbX(), checkedNeighbours.get(i).getbY(), 1)));
+ }
}
}
@@ -260,7 +270,7 @@ public void showBomb(GameButton button){
currentButton.setBackground(Color.decode(font_colours[rng]));
try{
- imageMaster = ImageIO.read(new File("sprites/bomb_icon.png"));
+ imageMaster = ImageIO.read(new File("src/sprites/bomb_icon.png"));
} catch(Exception e){
e.printStackTrace();
}
@@ -279,6 +289,28 @@ public void showAllBombs(){
}
}
+ /*
+ public void changeBtnBorder(GameButton button, ArrayList neighbours){
+ int up = 0;
+ int down = 0;
+ int left = 0;
+ int right = 0;
+
+ for(int i = 0; i < neighbours.size(); i++){
+// if(!button.isChecked()){
+// if(button.getbX() == neighbours.get(i).getbX() || button.getbY() == neighbours.get(i).getbY()){
+// up = 1;
+// }
+// }
+ if(button.getbX() == neighbours.get(i).getbX() && button.getbY()+1 == neighbours.get(i).getbY()){
+ up = 1;
+ }
+ }
+
+ button.setBorder(new MatteBorder(up,0,0,0,Color.BLACK));
+ }
+ */
+
public ArrayList getNeighbours(int x, int y, int radius){
//int count = 0;
ArrayList neighbours = new ArrayList<>();
diff --git a/sprites/bomb_icon.png b/src/sprites/bomb_icon.png
similarity index 100%
rename from sprites/bomb_icon.png
rename to src/sprites/bomb_icon.png
diff --git a/sprites/green_button.png b/src/sprites/green_button.png
similarity index 100%
rename from sprites/green_button.png
rename to src/sprites/green_button.png
diff --git a/sprites/minesweeper_flag.png b/src/sprites/minesweeper_flag.png
similarity index 100%
rename from sprites/minesweeper_flag.png
rename to src/sprites/minesweeper_flag.png