reorder key handling

This commit is contained in:
Joachim Lusiardi 2024-10-21 20:37:52 +02:00
parent d6f4fdaa5b
commit a0635de65a
2 changed files with 28 additions and 22 deletions

View File

@ -23,8 +23,8 @@ pub struct Chest {
impl Chest { impl Chest {
pub fn new(position: Position) -> Self { pub fn new(position: Position) -> Self {
let min_gold = 10 * (position.get_level()+1); let min_gold = 10 * (position.get_level() + 1);
let max_gold = min_gold + 10*position.get_level(); let max_gold = min_gold + 10 * position.get_level();
Self { Self {
position, position,
gold: rand::thread_rng().gen_range(min_gold..=max_gold), gold: rand::thread_rng().gen_range(min_gold..=max_gold),

View File

@ -146,16 +146,19 @@ fn main() -> Result<()> {
})?; })?;
if event::poll(std::time::Duration::from_millis(FRAME_LENGTH))? { if event::poll(std::time::Duration::from_millis(FRAME_LENGTH))? {
if let event::Event::Key(key) = event::read()? { if let event::Event::Key(key) = event::read()? {
if key.kind == KeyEventKind::Press && key.code == KeyCode::Char('v') { if key.kind == KeyEventKind::Press {
match key.code {
KeyCode::Char('v') => {
game.messages.insert( game.messages.insert(
0, 0,
format!("You are playing version '{}'.", env!("GIT_HASH")).to_string(), format!("You are playing version '{}'.", env!("GIT_HASH"))
.to_string(),
); );
} }
if key.kind == KeyEventKind::Press && key.code == KeyCode::Char('q') { KeyCode::Char('q') => {
break; break;
} }
if key.kind == KeyEventKind::Press { KeyCode::Left | KeyCode::Down | KeyCode::Right | KeyCode::Up => {
let new_pos = match key.code { let new_pos = match key.code {
KeyCode::Left => game.move_player(-1, 0), KeyCode::Left => game.move_player(-1, 0),
KeyCode::Right => game.move_player(1, 0), KeyCode::Right => game.move_player(1, 0),
@ -169,6 +172,9 @@ fn main() -> Result<()> {
} }
game.player_collects_artifact(); game.player_collects_artifact();
} }
_ => {}
}
}
} }
} }
game.update_level(ticks); game.update_level(ticks);