Struct DiceRoll

Source
pub struct DiceRoll {
    pub number_of_dice_to_roll: u32,
    pub dice_sides: u32,
    pub modifier: Option<i32>,
    pub roll_type: RollType,
}
Expand description

This struct represents the information required to calculate the result of a dice roll given the command string. Validating the sanity of each of the parameters is left to the user. e.g. The number of dice to roll could be 0.

Fields§

§number_of_dice_to_roll: u32

How many dice should be rolled.

§dice_sides: u32

How many faces each dice has.

§modifier: Option<i32>

The optional fixed modifier that should be applied to each dice roll. Can be positive or negative.

§roll_type: RollType

Whether the roll has advantage, disadvantage, or is a regular roll

Implementations§

Source§

impl DiceRoll

Source

pub fn new( dice_sides: u32, modifier: Option<i32>, number_of_dice_to_roll: u32, roll_type: RollType, ) -> Self

A convinience method for creating a DiceRoll.

§Examples

This represents a d6 with no modifier

use dice_command_parser::dice_roll::{DiceRoll, RollType};

let dice_roll = DiceRoll::new(6, None, 1, RollType::Regular);

This represents two d20 with a +1 modifier rolling with advantage

use dice_command_parser::dice_roll::{DiceRoll, RollType};

let dice_roll = DiceRoll::new(20, Some(1), 2, RollType::KeepHighest);
Source

pub fn new_regular_roll( dice_sides: u32, modifier: Option<i32>, number_of_dice_to_roll: u32, ) -> Self

A convinience method for creating a DiceRoll, without advantage or disadvantage.

§Examples

This represents a d6 with no modifier

use dice_command_parser::dice_roll::{DiceRoll, Operation};

let dice_roll = DiceRoll::new_regular_roll(6, None, 1);

This represents two d20 with a +1 modifier.

use dice_command_parser::dice_roll::{DiceRoll, Operation};

let dice_roll = DiceRoll::new_regular_roll(20, Some(1), 2);

Trait Implementations§

Source§

impl Clone for DiceRoll

Source§

fn clone(&self) -> DiceRoll

Returns a copy 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 DiceRoll

Source§

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

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

impl PartialEq for DiceRoll

Source§

fn eq(&self, other: &DiceRoll) -> 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 StructuralPartialEq for DiceRoll

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.