50 lines
1.3 KiB
Rust
50 lines
1.3 KiB
Rust
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
|
|
pub struct MoveResponse {
|
|
#[serde(rename = "move")]
|
|
pub move_field: String,
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
|
|
pub struct StartResponse {
|
|
pub color: String,
|
|
#[serde(rename = "HeadType")]
|
|
pub head_type: String,
|
|
#[serde(rename = "TailType")]
|
|
pub tail_type: String,
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
|
|
pub struct SnakeRequest {
|
|
pub game: Game,
|
|
pub turn: i64,
|
|
pub board: Board,
|
|
pub you: Snake,
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
|
|
pub struct Game {
|
|
pub id: String,
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
|
|
pub struct Board {
|
|
pub height: usize,
|
|
pub width: usize,
|
|
pub food: Vec<Coord>,
|
|
pub snakes: Vec<Snake>,
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
|
|
pub struct Coord {
|
|
pub x: usize,
|
|
pub y: usize,
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
|
|
pub struct Snake {
|
|
pub id: String,
|
|
pub name: String,
|
|
pub health: usize,
|
|
pub body: Vec<Coord>,
|
|
}
|