review: change roll result type to i32
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
use crate::*;
|
use crate::*;
|
||||||
|
|
||||||
impl Die {
|
impl Die {
|
||||||
pub fn roll(&self) -> u16 {
|
pub fn roll(&self) -> i32 {
|
||||||
let mut rng = rand::rng();
|
let mut rng = rand::rng();
|
||||||
rng.random_range(1..=self.sides) as u16
|
rng.random_range(1..=self.sides) as i32
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use crate::*;
|
|||||||
|
|
||||||
impl Handful {
|
impl Handful {
|
||||||
pub fn roll(self) -> Outcome {
|
pub fn roll(self) -> Outcome {
|
||||||
let mut die_rolls = Vec::<u16>::new();
|
let mut die_rolls = Vec::<i32>::new();
|
||||||
for die in self.dice {
|
for die in self.dice {
|
||||||
die_rolls.push(die.roll());
|
die_rolls.push(die.roll());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
use crate::*;
|
use crate::*;
|
||||||
|
|
||||||
fn max_of(values: Vec<u16>) -> Result<Outcome, FailedTo> {
|
fn max_of(values: Vec<i32>) -> Result<Outcome, FailedTo> {
|
||||||
if values.is_empty() {
|
if values.is_empty() {
|
||||||
return Err(FailedTo::ProcessInput);
|
return Err(FailedTo::ProcessInput);
|
||||||
}
|
}
|
||||||
let ret = Ok(Outcome::Scalar(u16::MIN));
|
let ret = Ok(Outcome::Scalar(i32::MIN));
|
||||||
ret.and_then(|_| {
|
ret.and_then(|_| {
|
||||||
values
|
values
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
use crate::*;
|
use crate::*;
|
||||||
|
|
||||||
fn min_of(values: Vec<u16>) -> Result<Outcome, FailedTo> {
|
fn min_of(values: Vec<i32>) -> Result<Outcome, FailedTo> {
|
||||||
if values.is_empty() {
|
if values.is_empty() {
|
||||||
return Err(FailedTo::ProcessInput);
|
return Err(FailedTo::ProcessInput);
|
||||||
}
|
}
|
||||||
Ok(Outcome::Scalar(u16::MIN)).and_then(|_| {
|
Ok(Outcome::Scalar(i32::MIN)).and_then(|_| {
|
||||||
values
|
values
|
||||||
.iter()
|
.iter()
|
||||||
.min()
|
.min()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::*;
|
use crate::*;
|
||||||
|
|
||||||
fn sum_of(values: Vec<u16>) -> Result<Outcome, FailedTo> {
|
fn sum_of(values: Vec<i32>) -> Result<Outcome, FailedTo> {
|
||||||
if values.is_empty() {
|
if values.is_empty() {
|
||||||
return Ok(Outcome::Scalar(0));
|
return Ok(Outcome::Scalar(0));
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@ fn sum_of(values: Vec<u16>) -> Result<Outcome, FailedTo> {
|
|||||||
Outcome::List(_) => Err(FailedTo::ProcessInput),
|
Outcome::List(_) => Err(FailedTo::ProcessInput),
|
||||||
Outcome::Scalar(acc) => acc
|
Outcome::Scalar(acc) => acc
|
||||||
.checked_add(value)
|
.checked_add(value)
|
||||||
.map(|new_acc: u16| Outcome::Scalar(new_acc))
|
.map(|new_acc: i32| Outcome::Scalar(new_acc))
|
||||||
.ok_or(FailedTo::SumValues),
|
.ok_or(FailedTo::SumValues),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ use std::fmt::Display;
|
|||||||
|
|
||||||
#[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone, Hash)]
|
#[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone, Hash)]
|
||||||
pub enum E {
|
pub enum E {
|
||||||
Scalar(u16),
|
Scalar(i32),
|
||||||
List(Vec<u16>),
|
List(Vec<i32>),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Display for E {
|
impl Display for E {
|
||||||
|
|||||||
Reference in New Issue
Block a user