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 {
|
pub fn create(mut self) -> Cryp {
|
||||||
let mut rng = thread_rng();
|
let mut rng = thread_rng();
|
||||||
let lvl_as_two_pwr = 2_u64.pow(self.lvl.into());
|
|
||||||
let max = match self.lvl == 64 {
|
let max = match self.lvl == 64 {
|
||||||
true => u64::max_value(),
|
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.dmg.set(rng.gen_range(1, max));
|
||||||
self.def.set(rng.gen_range(1, max));
|
self.def.set(rng.gen_range(1, max));
|
||||||
@ -185,17 +184,13 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn create_cryp_test() {
|
fn create_cryp_test() {
|
||||||
let level_two = Cryp::new()
|
let max_level = Cryp::new()
|
||||||
.named("hatchling".to_string())
|
.named("hatchling".to_string())
|
||||||
.level(2)
|
.level(64)
|
||||||
.learn(Skill::Stoney)
|
.learn(Skill::Stoney)
|
||||||
.create();
|
.create();
|
||||||
|
|
||||||
let f = File::open("cryp.cbor").unwrap();
|
assert_eq!(max_level.lvl, 64);
|
||||||
let opened: Cryp = from_reader(f).unwrap();
|
|
||||||
|
|
||||||
println!("{:?}", opened);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ mod skill;
|
|||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use ws::{listen, Handler, Sender, Result, Message, Handshake, CloseCode, Error};
|
use ws::{listen, Handler, Sender, Result, Message, Handshake, CloseCode, Error};
|
||||||
|
use serde_cbor::{to_value};
|
||||||
|
|
||||||
use net::{generate};
|
use net::{generate};
|
||||||
|
|
||||||
@ -36,6 +37,7 @@ impl Handler for Server {
|
|||||||
fn on_message(&mut self, msg: Message) -> Result<()> {
|
fn on_message(&mut self, msg: Message) -> Result<()> {
|
||||||
// Tell the user the current count
|
// Tell the user the current count
|
||||||
println!("The number of live connections is {}", self.count.get());
|
println!("The number of live connections is {}", self.count.get());
|
||||||
|
println!("{:?}", to_value(msg.into_data()).unwrap());
|
||||||
|
|
||||||
let reply = Message::binary(generate());
|
let reply = Message::binary(generate());
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ use serde_cbor::{to_vec};
|
|||||||
pub fn generate() -> Vec<u8> {
|
pub fn generate() -> Vec<u8> {
|
||||||
let level_two = Cryp::new()
|
let level_two = Cryp::new()
|
||||||
.named("hatchling".to_string())
|
.named("hatchling".to_string())
|
||||||
.level(2)
|
.level(64)
|
||||||
.learn(Skill::Stoney)
|
.learn(Skill::Stoney)
|
||||||
.create();
|
.create();
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user