1use serde::Serialize;
2
3#[derive(Clone, Copy, Debug, Serialize)]
4#[serde(rename_all = "lowercase")]
5pub enum Direction {
6 Up,
7 Down,
8 Left,
9 Right
10}
11
12
13#[derive(Debug, Serialize)]
14pub struct Movement {
15 #[serde(rename = "move")]
16 pub movement: Direction,
17}
18
19impl Movement {
20 pub const UP: Movement = Movement { movement: Direction::Up };
21 pub const DOWN: Movement = Movement { movement: Direction::Down };
22 pub const LEFT: Movement = Movement { movement: Direction::Left };
23 pub const RIGHT: Movement = Movement { movement: Direction::Right };
24
25 pub fn new(direction: Direction) -> Movement {
26 Movement { movement: direction }
27 }
28
29}