Logic based AI Algorithms to solve MineSweeper
Flag
Type
Description
--dim
int
Dimension of the minesweeper board
--agent
none|basic|advanced|hyper_advanced|bonus_1|bonus_2
Which agent to use
--bomb_count
int
Number of bombs to place randomly across the board
--use_stepping
bool
Whether or not to use wait for input between agent solving steps. Great for debuging
--quit_when_finished
bool
Whether you want pygames window to close when advanced agents are finished
Refer to DEVELOPMENT for how to setup virtualenv
$ source minesweepervenv/bin/activate
$ python3 main.py --agent basic --dim 25 --bomb_count 20
Key
Function
RETURN
Open tile the agent is currently at
f
Place flag on tile the agent is currently at
Key
Function
s
Hold down to highlight bombs
r
Re-initialize board tiles
n
If --use_stepping
flag is set, steps the agent forward one step
1. Clone Repository (Do this once)
$ git clone https://github.com/reaganmcf/MineSweeper
$ cd MineSweeper
2. Setup Virtual Environment (Do this once)
If you don't have venv
installed, run the following
python3 -m pip install --user virtualenv
$ python3 -m venv minesweepervenv
3. Activate Virtual Environemnt (Do this everytime)
source minesweepervenv/bin/activate
4. Install packages (Do this when you're missing new libraries added to requirements.txt
)
(minesweepervenv) $ pip install -r requirements.txt
5. Update requirements.txt
(Do this whenever you add a new library to the project so the change is reflected on github)
(minesweepervenv) $ pip freeze > requirements.txt