]> git.gir.st - minesVIiper.git/summary
 
descriptionA minesweeper clone with vi keybindings
last changeFri, 27 Oct 2023 15:52:17 +0000 (17:52 +0200)
readme

minesVIiper

minesVIiper is a clone of Minesweeper, which runs in the terminal and can be controlled by either vi style keybindings, or the mouse.

Multiple character and color schemes are available, but more can be added easily.

Complete documentation and screenshots can be found on the Homepage.

Keybindings and mouse

Key Action
h/j/k/l move one cell left / down / up / right
b/d/u/w move to the next "word" boundary
^/G/g/$ move to the very left / bottom / top / right
i flag / unflag
o open / chord
space modeful, either open or flag
s toggle mode for space (open/flag)
Ctrl-L redraw screen
:n new game
:h show keybindings (Ctrl-L to hide)
:r resize playfield
:q quit

Use the left mouse button to open or chord a cell, and the right button to flag.

A new game can be started by clicking on the :D icon.

Command line arguments

Arg. Description
-h quick help
-n disable flagging
-f enable flagging (default)
-q enable question marks
-b use the bland (monospace) scheme (default)
-c use the colored scheme
-d use the DEC charset scheme
WxHxM Fieldspec, width * height * number of mines

Character Schemes

By default, minesVIiper comes with three schemes; black-and-white, color, and DECTerm. The first two use unicode characters and therefore require a modern software terminal emulator like GNOME Terminal, XTerm, or others.
The DEC color scheme uses Digital, Inc.'s proprietary Special Graphics Character Set, which is implemented on the VT220 and later models. (full support for this mode in terminal emulation software is rare)

Compiling and extending

To compile minesVIiper, just run make. The phony target run will compile and execute the program with the default settings (monochrome scheme, 30x16x99 field).

While the main source of the program (mines_2017.c) is pure ASCII, schemes.h is UTF-8-encoded. Therefore, care must be taken when editing character schemes.

License

This program is released under the terms of the GNU GPL version 3.
© 2015-2018 Tobias Girstmair

shortlog
2023-10-27 girstadd compile time flag 'FLAGALL_ON_CHOORD' master github/master
2023-10-27 girstfix -Werror=misleading-indentation
2021-09-02 girstchange how '\' works
2020-07-22 girstmake ':n' start a new game (not 'r')
2020-07-22 girstprefer landing on closed cell with w/b/u/d
2019-02-02 girstredo makefile
2019-01-26 girstSIGTSTP, EX_NEW, fix mouse ctrlseq, cursor rendering...
2019-01-24 girstnew TODO: ; and ,
2019-01-18 girstimplement "find open region"
2019-01-05 girstfix: don't overwrite stored termios structure
2018-11-05 girstnote a wontfix in dec mode
2018-11-05 girstfix header guard macro
2018-11-01 girstremove buggy 'p', fix vt220 issue, implement SIGCONT
2018-11-01 girstadd note that sending drcs breaks vt220
2018-11-01 girst'p': stomp adjacent
2018-10-25 girstupdate readme keybindings
...
heads
6 months ago master
Imprint / Impressum