From 7cf8cd1c46549d70d20204ae17051c803cbb6ba8 Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Tue, 13 Feb 2024 20:13:25 +0100 Subject: [PATCH] reorga doc --- doc/backlog.md | 66 +------------------ doc/refs/inspirations.md | 39 +++++++++++ doc/{ => refs}/journal.md | 0 doc/refs/specifications.md | 27 ++++++++ .../tutorial_academieDesJeux.md} | 0 5 files changed, 67 insertions(+), 65 deletions(-) create mode 100644 doc/refs/inspirations.md rename doc/{ => refs}/journal.md (100%) create mode 100644 doc/refs/specifications.md rename doc/{tutorial.md => refs/tutorial_academieDesJeux.md} (100%) diff --git a/doc/backlog.md b/doc/backlog.md index 923eeb3..4cdd180 100644 --- a/doc/backlog.md +++ b/doc/backlog.md @@ -1,70 +1,6 @@ # Backlog -tools - - config clippy ? - - bacon : tests runner (ou loom ?) - -## Rust libs - -cf. https://blessed.rs/crates - -- cli : https://lib.rs/crates/pico-args ( ou clap ) -- reseau async : tokio -- web serveur : axum (uses tokio) - - https://fasterthanli.me/series/updating-fasterthanli-me-for-2022/part-2#the-opinions-of-axum-also-nice-error-handling -- db : sqlx - - -- eyre, color-eyre (Results) -- tracing (logging) -- rayon ( sync <-> parallel ) - -- front : yew + tauri - - egui - -- https://docs.rs/board-game/latest/board_game/ - -## Others -- plugins avec https://github.com/extism/extism - -## Backgammon existing projects - -* go : https://bgammon.org/blog/20240101-hello-world/ - - protocole de communication : https://code.rocket9labs.com/tslocum/bgammon/src/branch/main/PROTOCOL.md - -* lib rust backgammon - - https://github.com/carlostrub/backgammon - - https://github.com/marktani/backgammon -* network webtarot -* front ? - -## Specs - -## Représentation des cases : - -cf. ./blog/game-state-notation.md - -13 14 .. 23 24 -12 11 .. 2 1 - -Encodage efficace : https://www.gnu.org/software/gnubg/manual/html_node/A-technical-description-of-the-Position-ID.html - -#### State data -* piece placement -> 77bits (24 + 23 + 30 max) - * dames -* active player -> 1 bit -* step -> 2 bits - * roll dice - * mark points (jeton & fichet) & set bredouille markers (3rd jeton & pavillon) - * move pieces -* dice roll -> 6bits -* points 10bits x2 joueurs = 20bits - * points -> 4bits - * trous -> 4bits - * bredouille possible 1bit - * grande bredouille possible 1bit - -Total : 77 + 1 + 2 + 6 + 20 = 105 bits = 17.666 * 6 -> 18 u32 (108 possible) +position dans tutoriel : ## DONE diff --git a/doc/refs/inspirations.md b/doc/refs/inspirations.md new file mode 100644 index 0000000..3306e71 --- /dev/null +++ b/doc/refs/inspirations.md @@ -0,0 +1,39 @@ +# Inspirations + +tools + - config clippy ? + - bacon : tests runner (ou loom ?) + +## Rust libs + +cf. https://blessed.rs/crates + +- cli : https://lib.rs/crates/pico-args ( ou clap ) +- reseau async : tokio +- web serveur : axum (uses tokio) + - https://fasterthanli.me/series/updating-fasterthanli-me-for-2022/part-2#the-opinions-of-axum-also-nice-error-handling +- db : sqlx + + +- eyre, color-eyre (Results) +- tracing (logging) +- rayon ( sync <-> parallel ) + +- front : yew + tauri + - egui + +- https://docs.rs/board-game/latest/board_game/ + +## Others +- plugins avec https://github.com/extism/extism + +## Backgammon existing projects + +* go : https://bgammon.org/blog/20240101-hello-world/ + - protocole de communication : https://code.rocket9labs.com/tslocum/bgammon/src/branch/main/PROTOCOL.md + +* lib rust backgammon + - https://github.com/carlostrub/backgammon + - https://github.com/marktani/backgammon +* network webtarot +* front ? diff --git a/doc/journal.md b/doc/refs/journal.md similarity index 100% rename from doc/journal.md rename to doc/refs/journal.md diff --git a/doc/refs/specifications.md b/doc/refs/specifications.md new file mode 100644 index 0000000..90e39ab --- /dev/null +++ b/doc/refs/specifications.md @@ -0,0 +1,27 @@ +# Specs + +## Représentation des cases : + +cf. ./blog/game-state-notation.md + +13 14 .. 23 24 +12 11 .. 2 1 + +Encodage efficace : https://www.gnu.org/software/gnubg/manual/html_node/A-technical-description-of-the-Position-ID.html + +### State data +* piece placement -> 77bits (24 + 23 + 30 max) + * dames +* active player -> 1 bit +* step -> 2 bits + * roll dice + * mark points (jeton & fichet) & set bredouille markers (3rd jeton & pavillon) + * move pieces +* dice roll -> 6bits +* points 10bits x2 joueurs = 20bits + * points -> 4bits + * trous -> 4bits + * bredouille possible 1bit + * grande bredouille possible 1bit + +Total : 77 + 1 + 2 + 6 + 20 = 105 bits = 17.666 * 6 -> 18 u32 (108 possible) diff --git a/doc/tutorial.md b/doc/refs/tutorial_academieDesJeux.md similarity index 100% rename from doc/tutorial.md rename to doc/refs/tutorial_academieDesJeux.md