init monster code
This commit is contained in:
parent
3b9f6dc087
commit
7e617fe956
@ -3,3 +3,4 @@ pub mod location;
|
|||||||
pub mod character;
|
pub mod character;
|
||||||
pub mod room;
|
pub mod room;
|
||||||
pub mod items;
|
pub mod items;
|
||||||
|
pub mod monster;
|
||||||
|
48
src/ship/monster.rs
Normal file
48
src/ship/monster.rs
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
use std::convert::TryFrom;
|
||||||
|
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub enum MonsterParseError {
|
||||||
|
UnknownMonster(String),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[derive(Debug, Copy, Clone)]
|
||||||
|
pub enum MonsterType {
|
||||||
|
Booma,
|
||||||
|
Gobooma,
|
||||||
|
Gigobooma,
|
||||||
|
RagRappy,
|
||||||
|
AlRappy,
|
||||||
|
BarbarousWolf,
|
||||||
|
SavageWolf,
|
||||||
|
Hildebear,
|
||||||
|
Hildeblue,
|
||||||
|
Monest,
|
||||||
|
Mothmant,
|
||||||
|
|
||||||
|
EvilShark,
|
||||||
|
PalShark,
|
||||||
|
GuilShark,
|
||||||
|
// etc...
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
impl TryFrom<&str> for MonsterType {
|
||||||
|
type Error = MonsterParseError;
|
||||||
|
|
||||||
|
fn try_from(monster: &str) -> Result<MonsterType, MonsterParseError> {
|
||||||
|
match monster {
|
||||||
|
"Booma" | "Bartle" => Ok(MonsterType::Booma),
|
||||||
|
"Gobooma" | "Barble" => Ok(MonsterType::Gobooma),
|
||||||
|
"Gigobooma" | "Tollaw" => Ok(MonsterType::Gigobooma),
|
||||||
|
// etc...
|
||||||
|
_ => Err(MonsterParseError::UnknownMonster(monster.to_owned()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user