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
impl DiceRoll
Sourcepub fn new(
dice_sides: u32,
modifier: Option<i32>,
number_of_dice_to_roll: u32,
roll_type: RollType,
) -> Self
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);
Sourcepub fn new_regular_roll(
dice_sides: u32,
modifier: Option<i32>,
number_of_dice_to_roll: u32,
) -> Self
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);