| @@ -46,7 +46,7 @@ impl Distribution<Cls> for Standard { | |||
| #[derive(Debug, Default)] | |||
| struct Character { | |||
| cls: Cls, | |||
| class: Cls, | |||
| strength: u32, | |||
| dexterity: u32, | |||
| constitution: u32, | |||
| @@ -55,9 +55,19 @@ struct Character { | |||
| charisma: u32, | |||
| } | |||
| // impl Character { | |||
| // } | |||
| impl Character { | |||
| fn pick_class(&mut self) { | |||
| self.class = rand::random(); | |||
| } | |||
| fn gen_stats(&mut self) { | |||
| self.strength = roll_stat(); | |||
| self.dexterity = roll_stat(); | |||
| self.constitution = roll_stat(); | |||
| self.intelligence = roll_stat(); | |||
| self.wisdom = roll_stat(); | |||
| self.charisma = roll_stat(); | |||
| } | |||
| } | |||
| fn roll_stat() -> u32 { | |||
| let mut rolls = Vec::new(); | |||
| @@ -68,22 +78,14 @@ fn roll_stat() -> u32 { | |||
| } | |||
| rolls.push(roll); | |||
| } | |||
| println!("{:?}", rolls); | |||
| rolls.sort_by(|a,b| b.cmp(a)); | |||
| println!("{:?}", rolls); | |||
| rolls.pop(); | |||
| println!("{:?}", rolls); | |||
| rolls.iter().sum() | |||
| } | |||
| fn main() { | |||
| let mut chr: Character = Default::default(); | |||
| chr.cls = rand::random(); | |||
| chr.strength = roll_stat(); | |||
| chr.dexterity = roll_stat(); | |||
| chr.constitution = roll_stat(); | |||
| chr.intelligence = roll_stat(); | |||
| chr.wisdom = roll_stat(); | |||
| chr.charisma = roll_stat(); | |||
| chr.pick_class(); | |||
| chr.gen_stats(); | |||
| println!("{:?}", chr); | |||
| } | |||