/** * @(#)MinesweeperGame.java * * * @author Michael Cecconet * @version 1.00 2007/6/5 */ import java.applet.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Random; public class Minesweeper extends JFrame implements ActionListener, MouseListener { boolean gameOver = false; //Menu Declarations JMenuItem j1 = new JMenuItem("New Game"); JMenuItem j2 = new JMenuItem("Beginner"); JMenuItem j3 = new JMenuItem("Intermediate"); JMenuItem j4 = new JMenuItem("Expert"); JMenuItem j5 = new JMenuItem("High Scores"); JMenuItem j6 = new JMenuItem("Exit"); JMenuItem j7 = new JMenuItem("About Mineshweeper"); JMenu m1 = new JMenu("Game"); JMenu m2 = new JMenu("Info"); JMenuBar mb1 = new JMenuBar(); //Tile Class public class Tile { private boolean visibleStatus; private boolean containsMine; public boolean flagStatus; private int minesSurronding; //Constructor public Tile(){ visibleStatus = false;//Hidden containsMine = false;//No Mine flagStatus = false;//No Flag minesSurronding = 0; } //Initializes a Mine on this Space public void setMine(){ containsMine = true; } //Saves the Number of Mine Surronding public void setNumber(int getNumber){ minesSurronding = getNumber; } } //CreateAndShowGUI public Minesweeper(){ //Window Setup super("Minesweeper - RRXIII"); setSize(260,320); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Image Declarations ImageIcon baseTile = new ImageIcon("minesweeper/images/normal.png", "basic tile"); ImageIcon flagTile = new ImageIcon("minesweeper/images/flag.png", "flagged tile"); ImageIcon icon = new ImageIcon("minesweeper/images/smiley.png", "Smiley Face"); ImageIcon[] mineImage = new ImageIcon[9]; mineImage[0] = new ImageIcon("minesweeper/images/blank.png", "0 mines surronding"); mineImage[1] = new ImageIcon("minesweeper/images/1.png", "1 mine surronding"); mineImage[2] = new ImageIcon("minesweeper/images/2.png", "2 mines surronding"); mineImage[3] = new ImageIcon("minesweeper/images/3.png", "3 mines surronding"); mineImage[4] = new ImageIcon("minesweeper/images/4.png", "4 mines surronding"); mineImage[5] = new ImageIcon("minesweeper/images/5.png", "5 mines surronding"); mineImage[6] = new ImageIcon("minesweeper/images/6.png", "6 mines surronding"); mineImage[7] = new ImageIcon("minesweeper/images/7.png", "7 mines surronding"); mineImage[8] = new ImageIcon("minesweeper/images/8.png", "8 mines surronding"); //Add Menu Components j1.setActionCommand("newGame"); j2.setActionCommand("beginGame"); j3.setActionCommand("interGame"); j4.setActionCommand("expertGame"); j6.setActionCommand("quit"); j5.setActionCommand("highscore"); j7.setActionCommand("about"); m1.add(j1); m1.addSeparator(); m1.add(j2); m1.add(j3); m1.add(j4); m1.addSeparator(); m1.add(j6); m2.add(j5); m2.add(j7); mb1.add(m1); mb1.add(m2); setJMenuBar(mb1); //Initialize Tiles int xBound, yBound, mineCount; xBound = 8; yBound = 8; mineCount = 10; Tile[][] grid = new Tile[64][64]; Random generator = new Random(); for (int x = 0; x < xBound; x++){ for (int y = 0; y < yBound; y++){ grid[x][y] = new Tile(); } } for (int i = 0; i < mineCount; i ++){ do{ generator.nextInt(xBound); generator.nextInt(yBound); } while (grid[xBound][yBound].containsMine == true); grid[xBound][yBound].setMine(); System.out.println(xBound+", "+yBound); } setVisible(true); } //Handle Events public void actionPerformed(ActionEvent e) { } //Mouse Handling Events public void mouseClicked(MouseEvent e){ } public void mouseEntered(MouseEvent e){ } public void mouseExited(MouseEvent e){ } public void mousePressed(MouseEvent e){ } public void mouseReleased(MouseEvent e){ } //Game Methods public static void gameReset(){ } //Main Method public static void main(String[] args){ System.out.println("Check"); Minesweeper game = new Minesweeper(); } }