[][src]Struct dice_command_parser::dice_roll::DiceRoll

pub struct DiceRoll {
    pub number_of_dice_to_roll: u32,
    pub dice_sides: u32,
    pub modifier: Option<i32>,
    pub roll_type: RollType,
    pub operation: Operation,
}

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

operation: Operation

How the roll should be applied

Implementations

impl DiceRoll[src]

#[must_use]pub fn new(
    dice_sides: u32,
    modifier: Option<i32>,
    number_of_dice_to_roll: u32,
    roll_type: RollType,
    operation: Operation
) -> Self
[src]

A convinience method for creating a DiceRoll.

Examples

This represents a d6 with no modifier

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

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

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

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

let dice_roll = DiceRoll::new(20, Some(1), 2, RollType::WithAdvantage, Operation::Subtraction);

#[must_use]pub fn new_regular_roll(
    dice_sides: u32,
    modifier: Option<i32>,
    number_of_dice_to_roll: u32,
    operation: Operation
) -> Self
[src]

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, Operation::Addition);

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, Operation::Addition);

Trait Implementations

impl Clone for DiceRoll[src]

impl Debug for DiceRoll[src]

impl PartialEq<DiceRoll> for DiceRoll[src]

impl StructuralPartialEq for DiceRoll[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.