Readers for Minesweeper replays
Project description
Sweeping View
Sweeping view is a library that can parse replay files produced by official Minesweeper clones.
Currently supported:
Formats:
- RMV (Viennasweeper)
- AVF (Minesweeper Arbiter, Freesweeper)
Tested Python versions:
- 3.6
- 3.7
- 3.8
- 3.9
- 3.10
Is this a good idea? Shouldn't the formats be secret?
They aren't anymore anyway. There are open-source tools available to convert the implemented formats to rawvf, an entirely text-based format.
What this library doesn't do is make any attempt to verify checksums. Those remain as the primary obstacle to generating fake replays.
Similar projects
Rawvf
Rawvf is a plain-text minesweeper replay format. A collection of command line tools to convert various formats to it can be found here: https://github.com/thefinerminer/minesweeper-rawvf
Rawvf offers far better support (more formats/old versions of formats), but the tools aren't usable as libraries.
State of completion and stability
This library is still very much in development, and parts of the public API may change completely - this is because while both existing parsers work for now, not much care has been taken to make them consistent.
Example use
Arbiter
code
from sweeping_view.avf import AVFReplay
avf = AVFReplay.from_file("HI-SCORE Beg_5.41_3BV=28_3BVs=5.17_Tommy.avf")
print(avf.name)
print(avf.properties)
print(avf.mines)
output
'Tommy'
{'level': 'beginner', 'questionmarks': False}
[(4, 1), (5, 2), (8, 2), (2, 3), (6, 3), (4, 5), (8, 5), (6, 6), (8, 6), (4, 7)]
Viennasweeper
code
from sweeping_view.rmv import RMVReplay
rmv = RMVReplay.from_file("fd60_beg_4153_NF_1600544477.rmv")
print(rmv.player_data)
print(rmv.properties)
print(rmv.mines)
output
{'name': 'tkolar'}
{'questionmarks': False, 'nonflagging': True, 'mode': 'normal', 'level': 'beginner'}
[(1, 3), (2, 3), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (5, 4), (6, 6), (7, 6)]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sweeping_view-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ab4b720698de622ffbf46948da051345849ca608f362c2d89c718a62d2fc2b9 |
|
MD5 | 9fad064352a20cb6fb7f12cf7e92b350 |
|
BLAKE2b-256 | 6f3568524738a0f91547f22260f678e6ac62d959b2c0ffbd186e591df4b35fa0 |