Report Dsa
Report Dsa
Report Dsa
Project Report
Minesweeper
Team members:
Le Do Huy Du - ITITIU18027
Table of Contents
1. INTRODUCTION
2. GAME OVERVIEW
2.1. Game description
2.2. Goal and game rules
2.3. Game assets
3. GAME DESIGN
3.1. Game layout
3.1.1. Board
3.1.2. Cell
● BombCell
● NeighborOfBombCell
● EmptyCell
3.2. Gameplay
3.2.1. Operation
● Left click
● Right click
● Recursion
● Undo
● Game mode
● Saving game status
3.3. GUI
3.3.1. Game GUI
3.3.2. Images
4. CONCLUSION
5. FUTURE WORK
1.INTRODUCTION
This report will show the process involved in the making of a Tetris game
with a few added features coded using the python programming language.
Making use of the JAVA, we created a Minesweeper game where the
controls are reversed after the third game round.
This report describes the overview of the game, including the background
and the game rounds
2.Game overview
2.1 Game description
Minesweeper is single-player logic-based computer game played on
rectangular board whose object is to locate a predetermined number of
randomly-placed "mines" in the shortest possible time by clicking on "safe"
squares while avoiding the squares with mines. If the player clicks on a mine,
the game ends.To win the game, players must open all non-mine cells while
not opening any mines. Therefore, finding a square containing "8" indicated
that all eight adjacent squares contain mines, while if a zero (displayed as a
blank) is uncovered, there are no mines in the surrounding squares. A square
suspected of containing a mine may be marked with flag.
_ Left click on the cell to find what type of cells it is (bomb or empty or
neighbor). Right click on the cell to flag it. Depending on the game
mode, there are 10 to 20 total flag with a count in the bottom corner.
Player can unflag a cell by right click on the flagged cell to make the
flag disapear.
_ The game is won when player flagged all the bomb cells
3.1.2 Cell
_ Cell.java class stores all the properties of each cell like whether it;s
being covered, flagged. Depending on each type of cell, Cell.java will
handling it behavior differing. Cell.java getting the image
corresponding to the name of cell, changing its stated of being flagged
_ Cell.java have three subclass:
● BombCell
● NeighborOfBombCell
● EmptyCell
3.2. Gameplay
3.2.1. Operation
● Left click:
○ Nothing happens if player left clicks on flagged cell.
4. CONCLUSION
In the project, we have implemented a traditional Minesweeper game with
some features such as undo, choosing game mod, saving game status. The
key feature of our project is saving game status features.
By joining this code, we have learned about many things that can help us in
this project to make this game.
First, we use recursion in find_empty_cell() function as you can see from the
code.