Skip to content

TheDying0fLight/FairSweeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FairSweeper

Table of contents


Setup

On Windows some characters won't show correctly in the CLI to fix this you can follow this post (does not work for my Win10 Laptop idk)

Progress

Week 6/7 1.1.2025 - 16.1.2025

Week 4/5 -31.12.2024

Week 3

Week 2

Week 1

  • some simple tests
  • Board
  • CLI interactions
  • print board
  • reveal squares and propagate through field until bombs are nearby
  • working bombs
  • flag squares

Useful commands

Effekt commands

Run the main file:

effekt src/main.effekt

This (like many other Effekt commands) uses the JavaScript backend by default. To use a different backend, add the --backend <backend> flag.

Run the tests:

effekt src/test.effekt

Open the REPL:

effekt

Build the project:

effekt --build src/main.effekt

This builds the project into the out/ directory, creating a runnable file out/main.

To see all available options and backends, run:

effekt --help

Nix-related commands

While Nix installation is optional, it provides several benefits:

Update dependencies (also runs automatically in CI):

nix flake update

Open a shell with all necessary dependencies:

nix develop

Run the main entry point:

nix run

Build the project (output in result/bin/):

nix build

Example projects using this template

Repository structure

  • .github/workflows/*.yml: Contains the CI definitions
  • src/: Contains the source code
    • main.effekt: Main entry point
    • test.effekt: Entry point for tests
    • lib.effekt: Library code imported by main and test
  • flake.nix: Package configuration in a Nix flake
  • flake.lock: Auto-generated lockfile for dependencies
  • LICENSE: Project license
  • README: This README file

CI

Two GitHub Actions are set up:

  1. flake-check:

    • Checks the flake.nix file, builds and tests the project
    • Runs on demand, on main, and on PRs
    • To run custom commands, add a step using:
      • nix run -- <ARGS> to run the main entry point with the given arguments
      • nix develop -c '<bash command to run>' to run commands in the correct environment
  2. update-flake-lock:

    • Updates package versions in flake.nix
    • Runs on demand and weekly (Tuesdays at 00:00 UTC)

Used Template

Effekt Template

Related

About

A fair version of minesweeper written in effekt

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages