mirror of
https://github.com/szymon-jozef/checkers.git
synced 2026-10-27 19:20:44 +01:00
fix: clippy
This commit is contained in:
@@ -63,6 +63,7 @@ impl TryFrom<&str> for CliCommands {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct ClientContext {
|
||||
pub identity: Option<NetworkIdentity>,
|
||||
pub is_my_turn: bool,
|
||||
@@ -71,17 +72,6 @@ struct ClientContext {
|
||||
pub available_moves: Option<Vec<MovePath>>,
|
||||
}
|
||||
|
||||
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<dyn std::error::Error>> {
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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<Position> = 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<usize> 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<Position> for Board {
|
||||
}
|
||||
|
||||
impl IndexMut<usize> 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]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ impl From<Board> for BoardView {
|
||||
impl Index<usize> 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]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -129,7 +129,7 @@ impl Client {
|
||||
|
||||
async fn send_message(&mut self, msg: Result<Message<ClientMessage>, 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;
|
||||
|
||||
@@ -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(())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Self> {
|
||||
pub fn new(mut client: Client, _context: &GameContext) -> Option<Self> {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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::{
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user