# Inspirations tools - config clippy ? - bacon : tests runner (ou loom ?) ## Rust libs cf. https://blessed.rs/crates nombres aléatoires avec seed : https://richard.dallaway.com/posts/2021-01-04-repeat-resume/ - 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 * ocaml : https://github.com/jacobhilton/backgammon?tab=readme-ov-file cli example : https://www.jacobh.co.uk/backgammon/ * lib rust backgammon - https://github.com/carlostrub/backgammon - https://github.com/marktani/backgammon * network webtarot * front ? ## cli examples ### GnuBackgammon (No game) new game gnubg rolls 3, anthon rolls 1. GNU Backgammon Positions ID: 4HPwATDgc/ABMA Match ID : MIEFAAAAAAAA +12-11-10--9--8--7-------6--5--4--3--2--1-+ O: gnubg | X O | | O X | 0 points | X O | | O X | Rolled 31 | X O | | O | | X | | O | | X | | O | ^| |BAR| | (Cube: 1) | O | | X | | O | | X | | O X | | X | | O X | | X O | | O X | | X O | 0 points +13-14-15-16-17-18------19-20-21-22-23-24-+ X: anthon gnubg moves 8/5 6/5. ### jacobh Move 11: player O rolls a 6-2. Player O estimates that they have a 90.6111% chance of winning. Os borne off: none 24 23 22 21 20 19 18 17 16 15 14 13 ------------------------------------------------------------------- | v v v v v v | | v v v v v v | | | | | | X O O O | | O O O | | X O O O | | O O | | O | | | | | X | | | | | | | | | | | | | | | | | | |------------------------------| |------------------------------| | | | | | | | | | | | | | | | | | X | | | | X X | | X | | X X X | | X O | | X X X | | X O O | | | | | | ^ ^ ^ ^ ^ ^ | | ^ ^ ^ ^ ^ ^ | ------------------------------------------------------------------- 1 2 3 4 5 6 7 8 9 10 11 12 Xs borne off: none Move 12: player X rolls a 6-3. Your move (? for help): bar/22 Illegal move: it is possible to move more. Your move (? for help): ? Enter the start and end positions, separated by a forward slash (or any non-numeric character), of each counter you want to move. Each position should be number from 1 to 24, "bar" or "off". Unlike in standard notation, you should enter each counter movement individually. For example: 24/18 18/13 bar/3 13/10 13/10 8/5 2/off 1/off You can also enter these commands: p - show the previous move n - show the next move - toggle between showing the current and last moves help - show this help text quit - abandon game