Fix error display

This commit is contained in:
Artlef 2020-11-29 01:47:13 +01:00
parent 69adc99e19
commit cb6ad49e85
2 changed files with 18 additions and 9 deletions

View File

@ -72,6 +72,7 @@ fn main() {
client.display_sender.send(DisplayMessage::Exit).unwrap(); client.display_sender.send(DisplayMessage::Exit).unwrap();
return; return;
} }
client.display_sender.send(DisplayMessage::Clear).unwrap();
if client.player.role == UserRole::Black { if client.player.role == UserRole::Black {
client.side = Color::Black; client.side = Color::Black;
} }
@ -104,14 +105,14 @@ fn main() {
} }
if is_player_turn_loop || client.player.role == UserRole::Spectator { if is_player_turn_loop || client.player.role == UserRole::Spectator {
let mut message = String::from(""); let mut message = String::from("");
client let opponent_name = client.opponent_name.clone();
.opponent_name if opponent_name.is_some() {
.clone() message.push_str(&format!("{} played", opponent_name.expect("is some")));
.map(|name| message.push_str(&format!("{} played", name)));
client client
.last_move .last_move
.clone() .clone()
.map(|chessmove| message.push_str(&format!(" {}", chessmove))); .map(|chessmove| message.push_str(&format!(" {}", chessmove)));
}
if message.len() > 0 { if message.len() > 0 {
display_sender display_sender
.send(DisplayMessage::Information(message)) .send(DisplayMessage::Information(message))
@ -149,6 +150,10 @@ fn main() {
Ok(position) => current_position = position, Ok(position) => current_position = position,
Err(_) => break, Err(_) => break,
}; };
//clear message
display_sender
.send(DisplayMessage::Message(String::default()))
.unwrap();
} else { } else {
match wait_for_next_move(&mut client, &mut stream) { match wait_for_next_move(&mut client, &mut stream) {
Ok(position) => current_position = position, Ok(position) => current_position = position,

View File

@ -247,7 +247,11 @@ fn play(stream: &mut UnixStream, server: &Server, movestr: String) {
println!("User tried to play {}", movestr.clone()); println!("User tried to play {}", movestr.clone());
match clichess::try_to_play_move(&chess, movestr.clone()) { match clichess::try_to_play_move(&chess, movestr.clone()) {
Ok(played_chess) => *chess = played_chess, Ok(played_chess) => *chess = played_chess,
Err(e) => println!("Error: {}", e), Err(e) => {
println!("Error: {}", e);
send_ko(stream);
return;
}
}; };
let player_name = player let player_name = player
.expect("current server is in the server list") .expect("current server is in the server list")