49 lines
597 B
Cap'n Proto
49 lines
597 B
Cap'n Proto
@0x8c474a82150f9ee5;
|
|
|
|
enum CardType {
|
|
chopstick @0;
|
|
dumpling @1;
|
|
maki @2;
|
|
nigiri @3;
|
|
pudding @4;
|
|
sashimi @5;
|
|
tempura @6;
|
|
wasabi @7;
|
|
}
|
|
|
|
enum Desserts {
|
|
pudding @0;
|
|
}
|
|
|
|
enum PlayerCardLocations {
|
|
hand @0;
|
|
meal @1;
|
|
carry @2;
|
|
}
|
|
|
|
struct Location {
|
|
|
|
union {
|
|
deck :group {
|
|
deck @0 :Bool = true;
|
|
}
|
|
|
|
player :group {
|
|
# Which player
|
|
index @1 :UInt8 = 0;
|
|
|
|
location @2 :PlayerCardLocations;
|
|
}
|
|
}
|
|
}
|
|
|
|
struct Card {
|
|
type @0 :CardType;
|
|
location @1 :Location;
|
|
}
|
|
|
|
struct State {
|
|
cardlist @0 :List(Card);
|
|
# 1/2/3
|
|
round @1 :UInt8 = 1;
|
|
} |