fix out of range int
This commit is contained in:
parent
9212cff67a
commit
81562f6db6
15
src/cryp.rs
15
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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ use serde_cbor::{to_vec};
|
||||
pub fn generate() -> Vec<u8> {
|
||||
let level_two = Cryp::new()
|
||||
.named("hatchling".to_string())
|
||||
.level(2)
|
||||
.level(64)
|
||||
.learn(Skill::Stoney)
|
||||
.create();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user