GameGrid

Struct GameGrid 

Source
pub struct GameGrid {
    pub game_options: GameOptions,
}
Expand description

A representation of the game board.

The GameGrid struct is a representation of the game board. It encapsulates the various values that are used to represent the game board, including the Players Aleph and Beth, the four possible ways the two players can make their choices, and the corresponding scores.

The GameGrid struct also contains the GameOptions struct, which contains the various options that can be used to configure the game.

§Examples

use dilemma_tactix_lib::{
    Choice,
    GameGrid,
    GameOptions,
};

let game_options = GameOptions::builder("customized").build();

let game_grid = GameGrid::new(game_options);

game_grid.show_grid();

Fields§

§game_options: GameOptions

Implementations§

Source§

impl GameGrid

Source

pub const fn new(game_options: GameOptions) -> Self

Creates a new GameGrid instance.

§Examples
use dilemma_tactix_lib::{
    Choice,
    GameGrid,
    GameOptions,
};

let game_options = GameOptions::builder("customized").build();

let game_grid = GameGrid::new(game_options);
§Returns

A new GameGrid instance.

§See Also
Source

pub fn show_grid(&self)

Display the GameGrid in the terminal.

§Examples
use dilemma_tactix_lib::{
    Choice,
    GameGrid,
    GameOptions,
};

let game_options = GameOptions::builder("customized").build();

let game_grid = GameGrid::new(game_options);

game_grid.show_grid();
§See Also
Source

pub const fn return_score( &self, aleph_choice: Choice, beth_choice: Choice, ) -> NumberPair

Return the score for the given choices.

§Arguments
  • aleph_choice - The choice made by Player 1.
  • beth_choice - The choice made by Player 2.
§Examples
use dilemma_tactix_lib::{
    Choice,
    GameGrid,
    GameOptions,
};

let game_options = GameOptions::builder("customized").build();

let game_grid = GameGrid::new(game_options);

let result = game_grid.return_score(Choice::Atlantis, Choice::Atlantis);
§Returns

A NumberPair containing the scores for the given choices.

§See Also

Trait Implementations§

Source§

impl Clone for GameGrid

Source§

fn clone(&self) -> GameGrid

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GameGrid

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GameGrid

Source§

fn default() -> GameGrid

Returns the “default value” for a type. Read more
Source§

impl PartialEq for GameGrid

Source§

fn eq(&self, other: &GameGrid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for GameGrid

Source§

impl Eq for GameGrid

Source§

impl StructuralPartialEq for GameGrid

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V