Veggerby.Boards.Backgammon
0.1.0-prerelease0164
dotnet add package Veggerby.Boards.Backgammon --version 0.1.0-prerelease0164
NuGet\Install-Package Veggerby.Boards.Backgammon -Version 0.1.0-prerelease0164
<PackageReference Include="Veggerby.Boards.Backgammon" Version="0.1.0-prerelease0164" />
<PackageVersion Include="Veggerby.Boards.Backgammon" Version="0.1.0-prerelease0164" />
<PackageReference Include="Veggerby.Boards.Backgammon" />
paket add Veggerby.Boards.Backgammon --version 0.1.0-prerelease0164
#r "nuget: Veggerby.Boards.Backgammon, 0.1.0-prerelease0164"
#:package Veggerby.Boards.Backgammon@0.1.0-prerelease0164
#addin nuget:?package=Veggerby.Boards.Backgammon&version=0.1.0-prerelease0164&prerelease
#tool nuget:?package=Veggerby.Boards.Backgammon&version=0.1.0-prerelease0164&prerelease
Veggerby.Boards.Backgammon
Backgammon module for Veggerby.Boards. Provides artifacts, rules, dice handling, and setup logic built atop the immutable deterministic core engine.
Depends on
Veggerby.Boards
(transitively referenced when installing this package). Use it when you want a ready Backgammon ruleset or a template for similarly structured race games.
Install
dotnet add package Veggerby.Boards.Backgammon
Scope
This package adds:
- Backgammon game builder (
BackgammonGameBuilder
) - Standard initial board layout
- Dice artifacts (pair) and doubling cube scaffolding
- Rule conditions (e.g., active player, dice usage) and move validation
It does NOT implement AI, UI, or network play.
Quick Start
var builder = new BackgammonGameBuilder();
var progress = builder.Compile();
// Roll dice (example event might differ once dice events are formalized)
// progress = progress.HandleEvent(new RollDiceEvent());
// Move a checker (illustrative; ensure you resolve a legal path first)
// var piece = progress.Game.GetPiece("white-checker-1");
// var from = progress.Game.GetTile("point-24");
// var to = progress.Game.GetTile("point-18");
// var pathVisitor = new ResolveTilePathPatternVisitor(progress.Game.Board, from, to);
// progress = progress.HandleEvent(new MovePieceGameEvent(piece, pathVisitor.ResultPath));
Key Concepts (Backgammon Specific)
- Multi-dice handling: composite dice state enabling pip count validation
- Directional movement relative to player orientation
- Bearing-off readiness validation
- Doubling cube (placeholder scaffolding for match play)
Interop With Core
All state transitions remain immutable. Backgammon-specific logic only orchestrates existing engine primitives (events, rules, phases, mutators).
Extending This Module
Examples:
- Add match scoring layer above game state
- Introduce alternate starting positions
- Implement cube offering / acceptance events
Maintain determinism: no hidden random sources beyond dice artifacts.
Versioning
Follows repository semantic version. Backwards incompatible rule changes bump MAJOR.
Contributing
Open issues & PRs at https://github.com/veggerby/Veggerby.Boards. Follow contribution guidelines and code style.
License
MIT License. See root LICENSE
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Veggerby.Boards (>= 0.1.0-prerelease0164)
-
net9.0
- Veggerby.Boards (>= 0.1.0-prerelease0164)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.1.0-prerelease0164 | 0 | 10/5/2025 |
0.1.0-prerelease0163 | 0 | 10/5/2025 |
0.1.0-prerelease0162 | 109 | 10/2/2025 |
0.1.0-prerelease0161 | 61 | 9/26/2025 |
0.1.0-prerelease0160 | 58 | 9/26/2025 |
0.1.0-prerelease0159 | 64 | 9/26/2025 |
0.1.0-prerelease0158 | 63 | 9/26/2025 |
0.1.0-prerelease0157 | 152 | 9/21/2025 |
0.1.0-prerelease0156 | 151 | 9/21/2025 |