From 5f2bdc5c15cb5fcd12bff1787a4862c9ab553d95 Mon Sep 17 00:00:00 2001 From: tslil clingman <> Date: Thu, 30 Jan 2020 21:36:14 -0800 Subject: Oversight on modal stuff --- src/main.rs | 68 +++++++++++++++++++------------------------------------------ 1 file changed, 21 insertions(+), 47 deletions(-) diff --git a/src/main.rs b/src/main.rs index e5ba074..1c9a29a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -180,58 +180,32 @@ impl GUI { } Ok(gui_result) => match gui_result { GUIResult::Quit => { - if engine_turn { - self.message_log.log_error(String::from( - "Internal error: engine passed quit message somehow. Press any key to quit.", - )); - } else { - self.message_log - .log_message(String::from("Press any key to quit.")); - } + self.message_log + .log_message(String::from("Press any key to quit.")); self.screen.getch(); return false; } - GUIResult::SwitchElement => { - if engine_turn { - self.message_log.log_error(String::from( - "Internal error: engine passed switch-element message somehow. Press any key to quit.", - )); - self.screen.getch(); - return false; - } else { - match self.input_source { - InputSource::Player => { - self.input_source = InputSource::Log; - self.write_header(LOG_HEADER); - } - InputSource::Log => { - self.input_source = InputSource::Player; - self.write_header(ACTION_HEADER); - } - } + GUIResult::SwitchElement => match self.input_source { + InputSource::Player => { + self.input_source = InputSource::Log; + self.write_header(LOG_HEADER); } - } - GUIResult::Undo => { - if engine_turn { - self.message_log.log_error(String::from( - "Internal error: engine passed undo message somehow. Press any key to quit.", - )); - self.screen.getch(); - return false; - } else { - match game.undo() { - Ok(pos_vec) => { - self.message_log - .log_message(String::from("Game undone by one turn.")); - self.board_gui.update(&game, pos_vec); - self.game_log.update(&game); - } - Err(err) => { - self.message_log.log_error(err); - } - } + InputSource::Log => { + self.input_source = InputSource::Player; + self.write_header(ACTION_HEADER); } - } + }, + GUIResult::Undo => match game.undo() { + Ok(pos_vec) => { + self.message_log + .log_message(String::from("Game undone by one turn.")); + self.board_gui.update(&game, pos_vec); + self.game_log.update(&game); + } + Err(err) => { + self.message_log.log_error(err); + } + }, GUIResult::Raw(raw) => { let stone_owner = game.query_stone_owner(); let act = parse_action(stone_owner, &raw); -- cgit v1.3.1