mirror of
https://github.com/szymon-jozef/checkers.git
synced 2026-10-27 19:20:44 +01:00
feat: add serde for necessary fields
This commit is contained in:
@@ -11,6 +11,9 @@ use std::ops::{Index, IndexMut};
|
||||
|
||||
use log::{debug, error, info, trace, warn};
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct Board {
|
||||
board: Vec<Field>,
|
||||
pub size: usize,
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
use std::fmt;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::logic::{board::pawn::Pawn, math::position::Position};
|
||||
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct Field {
|
||||
pub position: Position,
|
||||
pub pawn: Option<Pawn>,
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::logic::{math::position::Position, player::Player};
|
||||
|
||||
#[derive(PartialEq, Eq, Debug)]
|
||||
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize)]
|
||||
pub enum PawnState {
|
||||
Man,
|
||||
Dame,
|
||||
@@ -10,7 +11,7 @@ pub enum PawnState {
|
||||
}
|
||||
|
||||
/// Basic pawn
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct Pawn {
|
||||
pub state: PawnState,
|
||||
pub owner: Uuid,
|
||||
|
||||
@@ -2,10 +2,11 @@ use core::fmt;
|
||||
use std::ops::Sub;
|
||||
|
||||
use log::{debug, trace};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::logic::math::vector::Vector2D;
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Debug, Serialize, Deserialize)]
|
||||
/// Position on the board. Consists of row and column. Should be treated like a point in space on
|
||||
/// unsigned grid.
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user