package main import ( "github.com/gorilla/websocket" ) // DataObject is used for parsing and encoding the communication with WebSocket clients type DataObject struct { Type string `json:"type"` Data map[string]interface{} `json:"data"` } // Game is a model for a game instance of UNO which can be joined by users type Game struct { ID string MaxPlayers int Players []*Player DirectionClockwise bool CurrentPlayerIndex int ChoosingColor bool DrawingStack Stack PlayingStack Stack AvailableCards []Card } // Player contains data about a connected player type Player struct { ID string Name string Connection *websocket.Conn Game *Game Hand []*Card } type Stack struct { Cards []*Card } type Card struct { Color string Value string }