Skip to content

J3Productions/minesweeper-js

Repository files navigation

Minesweeper-js

EECS 448 Project 1: Minesweeper - Written in Javascript and HTML

To play the game, enter a number between 2 and 45 for the dimensions of your Minesweeper board, and then enter how many mines you want on the board (between 1 and 1 less than the total number of tiles on the board) and click "Start". Then, to reveal a space, left-click on it. To flag a space, right-click on it (and right-click again to un-flag it). Once all the mines have been flagged, you win the game. But if you reveal a mine, the game is over. You may change the board dimensions and mine count at any time and click "Restart" to start a new game.

Authors

J3 Productions - Jielong Cong, Jacob Parnell, Jason Purinton

Codebase Structure

  • main.js - The only class file that interacts with index.html. Contains methods for form input processing, generating a board, and for left and right clicks. Interfaces only with Board object.
  • board.js - The class file that stores all game board methods and variables. Responsible for creating the board, planting the mines and adjacent numbers, and revealing/flagging tiles. Interfaces with Tile object.
  • tile.js - The class file that stores info for one tile of the game board. Stores adjacent number info, status as a mine and whether it has been flagged and/or revealed or not. Interfaces with no other class.

Works Cited

  • Bootstrap 4.1.3 Front-end framework used to create web interface. index.html:13, 119
  • ESDoc 1.1.0 Documentation software used.
  • HTML5 Boilerplate 6.1.0 Basic front-end template used to create index.html and main.css (also includes plugins.js). index.html; css/main.css; js/plugins.js
  • jQuery 3.3.1 Javascript library, required by Bootstrap. index.html:117, 120; js/vendor/jquery-3.3.1.min.js
  • Modernizr 3.6.0 Javascript library to optimize web interface, included as part of HTML5 Boilerplate. index.html:116; js/vendor/modernizr-3.6.0.min.js
  • Normalize.css 8.0.0 CSS file to render web interface consistently across all devices, included as part of HTML5 Boilerplate. index.html:14; css/normalize.css
  • Popper.js 1.14.3 Javascript library required for popovers in Bootstrap. index.html:118

Releases

No releases published

Packages

No packages published