feat: add message serialization

This commit is contained in:
2026-08-15 12:30:37 +02:00
parent 7895919f87
commit 4293e475c8
7 changed files with 220 additions and 5 deletions

View File

@@ -13,7 +13,7 @@ use log::{debug, error, info, trace, warn};
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
pub struct Board {
board: Vec<Field>,
pub size: usize,

View File

@@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize};
use crate::logic::{board::pawn::Pawn, math::position::Position};
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, Clone)]
pub struct Field {
pub position: Position,
pub pawn: Option<Pawn>,

View File

@@ -3,7 +3,7 @@ use uuid::Uuid;
use crate::logic::{math::position::Position, player::Player};
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize)]
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Clone)]
pub enum PawnState {
Man,
Dame,
@@ -11,7 +11,7 @@ pub enum PawnState {
}
/// Basic pawn
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, Clone)]
pub struct Pawn {
pub state: PawnState,
pub owner: Uuid,
@@ -26,6 +26,7 @@ impl Pawn {
}
}
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)]
pub struct CapturePath {
pub from: Position,
pub steps: Vec<Position>,
@@ -40,7 +41,7 @@ impl CapturePath {
}
}
#[derive(Debug, PartialEq, Eq)]
#[derive(Debug, PartialEq, Eq, Deserialize, Serialize, Clone)]
pub struct MovePath {
pub from: Position,
pub available_steps: Vec<Position>,

View File

@@ -1,4 +1,5 @@
use log::{info, warn};
use serde::{Deserialize, Serialize};
use crate::logic::{
board::{
@@ -9,6 +10,7 @@ use crate::logic::{
player::Player,
};
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)]
pub enum GameResult {
Lost(uuid::Uuid),
Draw,