- C++ 86.8%
- Nix 8.3%
- C 3%
- Makefile 1.9%
| .vscode | add vscode tasks | |
| src | update to clang-format 22, fix clangd | |
| .clang-format | update to clang-format 22, fix clangd | |
| .gitignore | update to clang-format 22, fix clangd | |
| flake.lock | flake.lock: Update | |
| flake.nix | update to clang-format 22, fix clangd | |
| game-recording.png | add an apng of me losing a game | |
| Makefile | added high score list | |
| README.md | add link to peertube video | |
| screenshot.png | Rewrite in C++ | |
CESweeper (aka MINESWEP)
This is a rudimentary Minesweeper game for the TI84+ CE color graphing calculator.
An animation of a Minesweeper game
A video of it playing on the actual hardware
How to play
Minesweeper only needs 6 inputs: Up, Down, Left, Right, Flag and Dig (think of the NES controller).
Move the cursor using the arrow keys. Dig up any spot using Enter.
Your first move will always land on a 0 space, that is, a safe space with no
mines surrounding it. Surrounding 0 spaces will also be dug up automatically,
until you have found the border to the mine field.
The dug up spaces on this border will have colorful numbers on them.
These numbers show the number of mines hidden below the 8 tiles around this
space (that means diagonally, too). Check for any 1s in a receding corner.
Since there is only one neighboring space, it must have the mine. Use the
+ key to mark this space using a flag. Flagged spaces can not be dug
up accidentally, and allow you to do chording.
To do this, find a space that still has free tiles around it, but where all mines are marked with flags. Click the numbered tile with the Enter key. All surrounding unmarked tiles will be dug up, and you will hopefully find no mines!
Note
This is called chording because the Windows version of Minesweeper requires you to click both mouse buttons for this. That's not the case here.
Repeat these steps until you have either uncovered all non-mine tiles or correctly flagged all mines. Enter your name into the High Score list, and repeat ad infinitum. Quit anytime using the On key.
Building
Traditional toolchain build
You need to have a working CE Toolchain to build this program. See https://ce-programming.github.io for toolchain and library downloads.
This project uses the graphx library, so you need to build the sprite sheets
first. After this, make provides a package you can upload to your calculator.
$ make gfx
$ make
$ make upload # requires tilp2
Nix Flake build
If you have the Nix package manager installed, and enabled Nix Flakes, you can just run this command (you do not even need to clone the repository!):
$ nix build git+https://codeberg.org/libewa/cesweeper.git#packages.ez80-none.cesweeper
The binary will be built in the Nix store, and a result symling in your
current directory will point to it.