From f580adf7434baa52a8914f40d2592d22fe5804e7 Mon Sep 17 00:00:00 2001 From: szymon Date: Sat, 5 Sep 2026 15:50:52 +0200 Subject: [PATCH] fix: clippy --- src/bin/client.rs | 17 +++------------- src/logic/board/board.rs | 26 +++++++++++------------- src/logic/board/board_view.rs | 6 +++--- src/logic/game_master.rs | 2 +- src/network/client.rs | 2 +- src/network/connection.rs | 9 ++++---- src/network/server.rs | 3 +-- src/super_advanced_ai.rs | 4 ++-- src/ui/macroquad/difficulty_selection.rs | 4 ++-- src/ui/macroquad/game/board.rs | 22 ++++++++------------ src/ui/macroquad/game/chat.rs | 7 +++---- src/ui/macroquad/game/game.rs | 23 ++++++++------------- src/ui/macroquad/main_menu.rs | 6 +++--- src/ui/macroquad/mode_selection.rs | 2 +- src/ui/macroquad/server_selection.rs | 4 ++-- src/ui/macroquad/settings.rs | 2 +- src/ui/state.rs | 2 +- 17 files changed, 56 insertions(+), 85 deletions(-) diff --git a/src/bin/client.rs b/src/bin/client.rs index e14a2d0..9862a4d 100644 --- a/src/bin/client.rs +++ b/src/bin/client.rs @@ -63,6 +63,7 @@ impl TryFrom<&str> for CliCommands { } } +#[derive(Default)] struct ClientContext { pub identity: Option, pub is_my_turn: bool, @@ -71,17 +72,6 @@ struct ClientContext { pub available_moves: Option>, } -impl Default for ClientContext { - fn default() -> Self { - Self { - identity: None, - is_my_turn: false, - - available_captures: None, - available_moves: None, - } - } -} async fn run_bot() { let bot = Bot::new(BotDificulty::Easy).await; @@ -106,11 +96,10 @@ async fn main() -> Result<(), Box> { loop { let mut buffer = String::new(); - if stdin.read_line(&mut buffer).is_ok() { - if stdin_sender.blocking_send(buffer).is_err() { + if stdin.read_line(&mut buffer).is_ok() + && stdin_sender.blocking_send(buffer).is_err() { break; } - } } }); diff --git a/src/logic/board/board.rs b/src/logic/board/board.rs index b5eda57..95cc1c1 100644 --- a/src/logic/board/board.rs +++ b/src/logic/board/board.rs @@ -218,7 +218,7 @@ impl Board { from, to ); - if !self.is_player_owner_of_the_pawn(player, &pawn) { + if !self.is_player_owner_of_the_pawn(player, pawn) { debug!("Player wasn't owner of the pawn..."); return false; } @@ -279,9 +279,8 @@ impl Board { let target_option: Option = current_pos.checked_add(direction); if let Some(target) = target_option - && self.can_capture(current_pos, target, player, captured_enemies, &pawn) - { - if let Some(path_after_capture) = target.checked_add(direction) { + && self.can_capture(current_pos, target, player, captured_enemies, pawn) + && let Some(path_after_capture) = target.checked_add(direction) { debug!( "Found possible capture: {} -> {}", current_pos, path_after_capture @@ -303,10 +302,9 @@ impl Board { available_directions, player, all_paths, - &pawn, + pawn, ); } - } } if !found_any_capture && !current_path.is_empty() && !captured_enemies.is_empty() { @@ -415,7 +413,7 @@ impl Board { return false; } - if !self.is_player_owner_of_the_pawn(&player, self[from].pawn.as_ref().unwrap()) { + if !self.is_player_owner_of_the_pawn(player, self[from].pawn.as_ref().unwrap()) { warn!("Player {} tried moving a pawn which he doesn own!", player); debug!("Tried moving from {} to {}", from, to); return false; @@ -462,7 +460,7 @@ impl Board { return false; } - if !self.is_player_owner_of_the_pawn(player, &pawn) { + if !self.is_player_owner_of_the_pawn(player, pawn) { warn!("Player {} tried moving a pawn which he doesn own!", player); return false; } @@ -491,9 +489,9 @@ impl Board { impl Index for Board { type Output = [Field]; - fn index<'a>(&'a self, i: usize) -> &'a [Field] { - let start = i * &self.size; - let end: usize = start + &self.size; + fn index(&self, i: usize) -> &[Field] { + let start = i * self.size; + let end: usize = start + self.size; &self.board[start..end] } } @@ -507,9 +505,9 @@ impl Index for Board { } impl IndexMut for Board { - fn index_mut<'a>(&'a mut self, i: usize) -> &'a mut [Field] { - let start = i * &self.size; - let end: usize = start + &self.size; + fn index_mut(&mut self, i: usize) -> &mut [Field] { + let start = i * self.size; + let end: usize = start + self.size; &mut self.board[start..end] } } diff --git a/src/logic/board/board_view.rs b/src/logic/board/board_view.rs index 8976784..480ce14 100644 --- a/src/logic/board/board_view.rs +++ b/src/logic/board/board_view.rs @@ -24,9 +24,9 @@ impl From for BoardView { impl Index for BoardView { type Output = [Field]; - fn index<'a>(&'a self, i: usize) -> &'a [Field] { - let start = i * &self.size; - let end: usize = start + &self.size; + fn index(&self, i: usize) -> &[Field] { + let start = i * self.size; + let end: usize = start + self.size; &self.board[start..end] } } diff --git a/src/logic/game_master.rs b/src/logic/game_master.rs index bbcd997..76741a1 100644 --- a/src/logic/game_master.rs +++ b/src/logic/game_master.rs @@ -105,7 +105,7 @@ impl GameMaster { fn is_player_lost(&self, player: &Player) -> bool { let player_pawns = self.board.get_player_pawns_positions(player); - player_pawns.len() == 0 + player_pawns.is_empty() || player_pawns.iter().all(|pos| { self.board.get_available_moves(*pos, player).is_none() && self.board.get_available_captures(*pos, player).is_none() diff --git a/src/network/client.rs b/src/network/client.rs index 47bce56..1e1362c 100644 --- a/src/network/client.rs +++ b/src/network/client.rs @@ -129,7 +129,7 @@ impl Client { async fn send_message(&mut self, msg: Result, postcard::Error>) { debug!("Sending message to the server!"); - let _ = match msg { + match msg { Err(e) => { error!("There was an error while creating the message: {}", e); return; diff --git a/src/network/connection.rs b/src/network/connection.rs index 7d58775..514738c 100644 --- a/src/network/connection.rs +++ b/src/network/connection.rs @@ -110,8 +110,7 @@ where if let Err(e) = tcp.write_all(&msg).await { error!("Error while sending content to: {:?}\n{}", self.peer, e); - return; - }; + } } pub async fn start_listening(&mut self) { @@ -202,20 +201,20 @@ where { error!("Erro while sending message to main thread: {}", e); } - return Ok(()); + Ok(()) } Err(e) => { error!( "Error while preparing message in read_content for sender: {}", e ); - return Ok(()); + Ok(()) } } } Err(e) => { error!("Error while getting the message from bits: {}", e); - return Ok(()); + Ok(()) } } } diff --git a/src/network/server.rs b/src/network/server.rs index 6f886be..a3ea6cf 100644 --- a/src/network/server.rs +++ b/src/network/server.rs @@ -156,7 +156,7 @@ impl Server { let reason = "There is currently game going and it doesn't allow spectators".to_string(); info!("Rejecting {}, because {}", addr, reason); - let msg = Message::new(ServerMessage::DeclineHandshake { reason: reason }); + let msg = Message::new(ServerMessage::DeclineHandshake { reason }); if let Ok(msg) = msg { let _ = sender.send(msg).await; // we can't use send_message because we @@ -500,7 +500,6 @@ impl Server { } Err(e) => { error!("Error while broadcasting the message: {}", e); - return; } } } diff --git a/src/super_advanced_ai.rs b/src/super_advanced_ai.rs index d004e03..e824135 100644 --- a/src/super_advanced_ai.rs +++ b/src/super_advanced_ai.rs @@ -66,12 +66,12 @@ impl Bot { .choose(&mut rand::rng()) .expect("Could not get random move"); - client.send_move(rand_pawn.from, rand_move.clone()).await; + client.send_move(rand_pawn.from, *rand_move).await; } crate::network::message::ServerMessage::BroadcastBoardState { board: _ } => { info!("Got server state!"); - match dificulty.clone() { + match dificulty { BotDificulty::Easy => {} // we do nothing with it because easy bot // just does random stuff. In future // board_view can be used to calculate the diff --git a/src/ui/macroquad/difficulty_selection.rs b/src/ui/macroquad/difficulty_selection.rs index 9fa91fe..0718f3c 100644 --- a/src/ui/macroquad/difficulty_selection.rs +++ b/src/ui/macroquad/difficulty_selection.rs @@ -5,7 +5,7 @@ use macroquad::{ math::vec2, shapes::draw_rectangle, ui::{hash, root_ui, widgets::Group}, - window::{next_frame, screen_height, screen_width}, + window::{screen_height, screen_width}, }; use crate::{ @@ -72,7 +72,7 @@ fn start_single(state: &mut GuiState, context: &GameContext) { let result = rx.recv(); - if let Ok(result) = result { + if let Ok(_result) = result { connect_bot(context.difficulty); } diff --git a/src/ui/macroquad/game/board.rs b/src/ui/macroquad/game/board.rs index 9bbc129..c51f942 100644 --- a/src/ui/macroquad/game/board.rs +++ b/src/ui/macroquad/game/board.rs @@ -185,9 +185,9 @@ impl Board { self.highlight_move_paths(from); - if let Some(field) = &self.get_clicked_field() { - if let Some(available_moves) = &self.available_moves { - if available_moves.iter().any(|available_move| { + if let Some(field) = &self.get_clicked_field() + && let Some(available_moves) = &self.available_moves + && available_moves.iter().any(|available_move| { available_move.from == from && available_move.available_steps.contains(&field.pos) }) { @@ -197,8 +197,6 @@ impl Board { }); self.state = BoardState::View; } - } - } } BoardState::ChooseCapture(from) => { @@ -230,8 +228,8 @@ impl Board { .copied() .collect(); - if let Some(clicked_field) = &self.get_clicked_field().map(|field| field.pos) { - if possible_moves.iter().any(|possible_move| { + if let Some(clicked_field) = &self.get_clicked_field().map(|field| field.pos) + && possible_moves.iter().any(|possible_move| { if let Some(valid_move) = possible_move.get(self.current_deepness) { valid_move == clicked_field } else { @@ -241,7 +239,6 @@ impl Board { self.current_capture_path.push(*clicked_field); self.current_deepness += 1; } - } if current_highlight.is_empty() { debug!("Capture path complete!"); @@ -278,7 +275,6 @@ impl Board { && available_moves.iter().any(|path| path.from == from) { self.state = BoardState::ChooseMove(from); - return; } } @@ -324,8 +320,8 @@ impl Board { for field in &self.board_view { let pos: Position = field.position; - let is_row_even: bool = pos.row % 2 == 0; - let is_column_even: bool = pos.column % 2 == 0; + let is_row_even: bool = pos.row.is_multiple_of(2); + let is_column_even: bool = pos.column.is_multiple_of(2); let is_field_black: bool = is_row_even ^ is_column_even; let abs_x = self.rect.x + pos.column as f32 * self.field_size; @@ -453,9 +449,7 @@ impl Board { for available_move in available_moves { self.fields[available_move.from].color = MOVE_HIGHLITGHT_COLOR; } - - return; - }; + } } fn highlight_move_paths(&mut self, from: Position) { diff --git a/src/ui/macroquad/game/chat.rs b/src/ui/macroquad/game/chat.rs index 4969fe4..e775fd0 100644 --- a/src/ui/macroquad/game/chat.rs +++ b/src/ui/macroquad/game/chat.rs @@ -1,4 +1,3 @@ -use log::debug; use macroquad::{ color::{BLACK, WHITE}, math::{Rect, vec2}, @@ -6,7 +5,7 @@ use macroquad::{ text::measure_text, ui::{ Skin, Ui, hash, root_ui, - widgets::{Group, InputText, Label}, + widgets::{Group, InputText}, }, window::{screen_height, screen_width}, }; @@ -86,7 +85,7 @@ impl Chat { .ui(&mut root_ui(), |ui| { for message in &self.messages { if prev_sender != message.sender { - if prev_sender != "" { + if !prev_sender.is_empty() { // make space if it's not the first message ui.label(None, ""); } @@ -108,7 +107,7 @@ fn wrap_message(ui: &mut Ui, msg: &String, font_size: u16, chat_width: f32) { let mut buffer = String::new(); if measure_text(msg, None, font_size, 1.0).width < chat_width { - ui.label(None, &msg); + ui.label(None, msg); return; } diff --git a/src/ui/macroquad/game/game.rs b/src/ui/macroquad/game/game.rs index 5a2a01e..23f4660 100644 --- a/src/ui/macroquad/game/game.rs +++ b/src/ui/macroquad/game/game.rs @@ -12,10 +12,7 @@ use macroquad::{ use tokio::sync::mpsc::{Receiver, error::TryRecvError::Disconnected}; use crate::{ - logic::board::{ - board_view::BoardView, - pawn::{CapturePath, MovePath}, - }, + logic::board::pawn::{CapturePath, MovePath}, network::{ client::Client, message::ServerMessage, network_identity::NetworkIdentity, server::ServerStage, @@ -66,7 +63,7 @@ pub enum GuiCommands { } impl GameClient { - pub fn new(mut client: Client, context: &GameContext) -> Option { + pub fn new(mut client: Client, _context: &GameContext) -> Option { let Some(update_receiver) = client.get_update_receiver() else { return None; }; @@ -226,15 +223,11 @@ impl GameClient { } for key in get_keys_pressed() { - match key { - KeyCode::Enter => { - self.chat.send_message(self.cmd_sender.clone()); // not sure about cloning this - // every message sent. Maybe - // Chat should have it's own - // clone? - } - - _ => {} + if key == KeyCode::Enter { + self.chat.send_message(self.cmd_sender.clone()); // not sure about cloning this + // every message sent. Maybe + // Chat should have it's own + // clone? } } @@ -288,7 +281,7 @@ impl GameClient { self.chat.push_message(sender, content); } - ServerMessage::GameEnd { result } => { + ServerMessage::GameEnd { result: _ } => { self.game_state = ServerStage::End; } diff --git a/src/ui/macroquad/main_menu.rs b/src/ui/macroquad/main_menu.rs index 5719574..286134f 100644 --- a/src/ui/macroquad/main_menu.rs +++ b/src/ui/macroquad/main_menu.rs @@ -1,9 +1,9 @@ use macroquad::{ - color::{BLACK, GRAY, WHITE}, + color::GRAY, math::vec2, shapes::draw_rectangle, - ui::{Skin, hash, root_ui, widgets::Group}, - window::{next_frame, screen_height, screen_width}, + ui::{hash, root_ui, widgets::Group}, + window::{screen_height, screen_width}, }; use crate::ui::{macroquad::menu_builder::MenuBuilder, state::GuiState}; diff --git a/src/ui/macroquad/mode_selection.rs b/src/ui/macroquad/mode_selection.rs index 93bb956..2cb6757 100644 --- a/src/ui/macroquad/mode_selection.rs +++ b/src/ui/macroquad/mode_selection.rs @@ -3,7 +3,7 @@ use macroquad::{ math::vec2, shapes::draw_rectangle, ui::{hash, root_ui, widgets::Group}, - window::{next_frame, screen_height, screen_width}, + window::{screen_height, screen_width}, }; use crate::ui::{ diff --git a/src/ui/macroquad/server_selection.rs b/src/ui/macroquad/server_selection.rs index 0c465a5..55a6a90 100644 --- a/src/ui/macroquad/server_selection.rs +++ b/src/ui/macroquad/server_selection.rs @@ -5,7 +5,7 @@ use macroquad::{ math::vec2, shapes::draw_rectangle, ui::{hash, root_ui, widgets::Group}, - window::{next_frame, screen_height, screen_width}, + window::{screen_height, screen_width}, }; use crate::ui::{ @@ -40,7 +40,7 @@ pub async fn draw_server_selection(state: &mut GuiState, context: &mut GameConte let result = rx.recv(); - if let Ok(result) = result { + if let Ok(_result) = result { *state = GuiState::Connecting(connect_to_server()); } } diff --git a/src/ui/macroquad/settings.rs b/src/ui/macroquad/settings.rs index 7708eaa..7e336f1 100644 --- a/src/ui/macroquad/settings.rs +++ b/src/ui/macroquad/settings.rs @@ -52,7 +52,7 @@ pub async fn draw_settings( menu_builder.label(ui, "TODO"); if let Some(error_msg) = &context.latest_error_message { - menu_builder.label(ui, &error_msg); + menu_builder.label(ui, error_msg); } // Exit diff --git a/src/ui/state.rs b/src/ui/state.rs index c165193..827945a 100644 --- a/src/ui/state.rs +++ b/src/ui/state.rs @@ -73,7 +73,7 @@ pub fn run_server(sender: Sender<()>) { let rt = tokio::runtime::Runtime::new().unwrap(); let mut server = rt.block_on(Server::new()); - let _ = rt.block_on(server.start()); + rt.block_on(server.start()); let _ = sender.send(());