//! Algorithms for (multiplayer) non-cooperative perfect information games.
//!
//! # Example
//!
//! ```rust
//! use ncpig::prelude::*;
//! use ncpig_testing::rolit::*;
//!
//! fn main() -> anyhow::Result<()> {
//! let game = Rolit::new([RolitPlayer::Green, RolitPlayer::Blue]);
//! let state = RolitState::default();
//!
//! let bot = Random::new();
//!
//! let competition = Competition::new(&game, [&bot, &bot], true);
//! let finalstate = competition.play(state)?;
//!
//! for player in game.players() {
//! println!("{player}: {}", game.score(player, &finalstate)?);
//! }
//!
//! Ok(())
//! }
//! ```