๐Interface Design
State
enum ItemStatus { AVAILABLE, UNAVAILABLE }
class CollectableItem {
//TBD
}
class State {
players: {
player_id:{
is_finished: boolean
consumed_time: number
distance: number
y_axis: number
gene: string
velocity: {
x_axis: number
y_axis: number
}
items: CollectableItem[]
//status: TBD
collected_coins: number
}
}
mystery_boxes: {
x: number //distance
y: number //y axis (pixel)
status: ItemStatus
}[],
coins: [{
x: number //distance
y: number //y axis (pixel)
status: ItemStatus
}],
}
Action
enum ActionType {USE_ITEM, KEY}
enum KeyId {UP, DOWN}
class Action {
type: ActionType.USE_ITEM | ActionType.KEY
// If type == MOVE
keyId: KeyId.UP | KeyId.DOWN
// If type ==
item: number, //use nth item in player's items
timestamp: number
}
Data
class Data {
obstacles: {
type: number
pattern_id: number
x: number //distance
y: number //y axis (pixel)
}[],
map: {
length: number
}
}
Last updated