Expand description
NimLib is a Rust library for Nim games: calculate nimbers and possible moves
NimLib is work-in-progress at the moment.
Features such as Poker-Nim (coin pools) are not yet implemented.
Modules
Code for handling moves.
This module contains code for handling moves in Nim games, such as calculating the resulting position after a move is applied, determining if a move is valid, and generating all possible moves for a given position.
This module contains code for handling moves in Nim games, such as calculating the resulting position after a move is applied, determining if a move is valid, and generating all possible moves for a given position.
The inner workings of the nimber calculation algorithm.
Structs
A Nim game
A rule for a Nim game.
This struct specifies a set of possible moves for a player.
This struct specifies a set of possible moves for a player.
A move which places coins onto a stack from the player’s pool
A move which takes coins from a stack
Enums
A Nim move, generally represented, not connected to a position,
or a specific game.
Represents a possible split of a stack into two non-empty stacks in a NimAction::Take move
Specifies if a player may/must split a stack into two non-empty stacks after taking coins
Specifies the number of coins that can be taken from a stack in a single move according to a rule.