summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortslil clingman <>2020-01-30 21:36:14 -0800
committertslil clingman <>2020-01-30 21:36:14 -0800
commit5f2bdc5c15cb5fcd12bff1787a4862c9ab553d95 (patch)
treed859e2a7b43cc9bad20d3710017971bac61570f0 /src
parentcdfddde23c856f1dce37fa4bc3876fd4d77033de (diff)
Oversight on modal stuff
Diffstat (limited to 'src')
-rw-r--r--src/main.rs68
1 files 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);