Terminal game of Minesweeper, implemented in C with ncurses.
{#} | Time | Hash | Subject | Author | # | (+) | (-) | GPG? |
---|---|---|---|---|---|---|---|---|
45 | 08 Oct 2021 11:44 | 5700040 | Add 30ms input timeout | Josh Stockin | 1 | 2 | 2 | G |
Object | Latest Commit Subject | Time | Hash |
---|---|---|---|
src | Add 30ms input timeout | 08 Oct 2021 11:44 | 5700040 |
.clang-format | Update lint config | 12 Sep 2020 16:18 | 57786ab |
.gitignore | Add *.swp to .gitignore | 12 Sep 2020 10:35 | ca7e2b2 |
LICENSE | Initial commit (README.md, LICENSE) | 07 Sep 2020 18:23 | 9f17065 |
Makefile | Fix issue with Make incorrectly parsing gcc -MM | 12 Sep 2020 16:18 | 6caccaa |
README.md | Update README | 04 Jan 2021 16:37 | 06f0fd1 |
Terminal game of Minesweeper, implemented in C with ncurses.
Minesweeper is a logic game where mines are hidden in a grid of squares. The object is to open all the safe squares in the shortest time possible. Use the arrow keys to move and <SPACE> to select. Read the Help page for more information.
Click to watch a video demo on YouTube:
Should be functional on all systems with an ncurses library. PDCurses may be dropped in and linked on Windows, although this hasn't been tested. Might work on WSL or Cygwin.
Requirements: build-essential libncurses-dev
Compiling and linking:
make compile build
Binary executable deposited at bin/minesweeper
. You can copy this to
/usr/local/bin/minesweeper
to run the game as minesweeper
from any location
in your shell (given /usr/local/bin
is in your path).
If you're contributing source code to this repository, install clang-format clang-tidy
and use make
to target the linter programs. (clang-format
is
a bit finicky; make sure you're running version 10.0.0 at least, or it will
yell at you about unsupported configuration in .clang-format
.)
src/main.c
src/state.h
src/draw/draw.c
src/game/game.c
src/draw/game.c
All header files correspond to a similarly named source file except
src/draw/pages.h
, which encapsulates multiple sources in the same directory,
and src/state.h
, which provides struct definitions for game state data.
This package is copyrighted by Joshua 'joshuas3' Stockin and licensed under the MIT License.
A form of the following should be present in each source or header file.
ncurses-minesweeper Copyright (c) 2020 Joshua 'joshuas3' Stockin
<https://joshstock.in>
<https://github.com/JoshuaS3/ncurses-minesweeper>
This software is licensed and distributed under the terms of the MIT License.
See the MIT License in the LICENSE file of this project's root folder.
This comment block and its contents, including this disclaimer, MUST be
preserved in all copies or distributions of this software's source.
<https://joshstock.in> | josh@joshstock.in | joshuas3#9641