init monster code
This commit is contained in:
parent
3b9f6dc087
commit
7e617fe956
@ -3,3 +3,4 @@ pub mod location;
|
||||
pub mod character;
|
||||
pub mod room;
|
||||
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