From 81562f6db6974aa6c5cd34aaa0c5ba4b9982d6bd Mon Sep 17 00:00:00 2001 From: ntr Date: Thu, 6 Sep 2018 00:51:41 +1000 Subject: [PATCH] fix out of range int --- src/cryp.rs | 15 +++++---------- src/main.rs | 2 ++ src/net.rs | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/cryp.rs b/src/cryp.rs index 16c718ed..b095ca9c 100755 --- a/src/cryp.rs +++ b/src/cryp.rs @@ -140,13 +140,12 @@ impl Cryp { pub fn create(mut self) -> Cryp { let mut rng = thread_rng(); - let lvl_as_two_pwr = 2_u64.pow(self.lvl.into()); let max = match self.lvl == 64 { true => u64::max_value(), - false => lvl_as_two_pwr, + false => 2_u64.pow(self.lvl.into()), }; - self.xp = lvl_as_two_pwr; + self.xp = max; self.dmg.set(rng.gen_range(1, max)); self.def.set(rng.gen_range(1, max)); @@ -185,17 +184,13 @@ mod tests { #[test] fn create_cryp_test() { - let level_two = Cryp::new() + let max_level = Cryp::new() .named("hatchling".to_string()) - .level(2) + .level(64) .learn(Skill::Stoney) .create(); - let f = File::open("cryp.cbor").unwrap(); - let opened: Cryp = from_reader(f).unwrap(); - - println!("{:?}", opened); - + assert_eq!(max_level.lvl, 64); return; } } diff --git a/src/main.rs b/src/main.rs index 34e434f0..bdd9ec9e 100755 --- a/src/main.rs +++ b/src/main.rs @@ -17,6 +17,7 @@ mod skill; use std::rc::Rc; use std::cell::Cell; use ws::{listen, Handler, Sender, Result, Message, Handshake, CloseCode, Error}; +use serde_cbor::{to_value}; use net::{generate}; @@ -36,6 +37,7 @@ impl Handler for Server { fn on_message(&mut self, msg: Message) -> Result<()> { // Tell the user the current count println!("The number of live connections is {}", self.count.get()); + println!("{:?}", to_value(msg.into_data()).unwrap()); let reply = Message::binary(generate()); diff --git a/src/net.rs b/src/net.rs index 7f422e3d..315cb541 100755 --- a/src/net.rs +++ b/src/net.rs @@ -5,7 +5,7 @@ use serde_cbor::{to_vec}; pub fn generate() -> Vec { let level_two = Cryp::new() .named("hatchling".to_string()) - .level(2) + .level(64) .learn(Skill::Stoney) .create();