/minesweeper

Project of Hardware System @ HUST, Fall 2023 (Software Part)

Primary LanguageC

MINESWEEPER!

MINESWEEPER! is my project of hardware system at HUST, fall 2023. In this project, I developed a simplified minesweeper game, which supports:

  • A 16x16 game board with 40 mines.
  • Random generation of mine layouts.
  • Ensuring that the first clicked cell will not be a mine.
  • Marking flags on the cells freely.
  • Running on a self-made RISC-V CPU.
  • Running on x86 machines via SDL2.

Requirements

paru -S clang lld cmake

Build & Run

CC=clang LD=lld cmake -B build
cd build && make
./minesweeper

TODO

  • Support receiving inputs from PS2 keyboard (on self-made RISC-V CPU).
  • Optimize the color scheme to make the UI more beautiful.
  • Support mouse for both x86 and self-made RISC-V machines.
  • Add a window containing some information about the game.
  • Add a message bar to guide players.
  • Add a cheating button.