Untitled
unknown
json
3 years ago
1.3 kB
10
Indexable
typealias Magnitude = Int
enum class CardSuit {
HEARTS,
CLUBS,
DIAMONDS,
SPADES
}
data class Card(
val suit: CardSuit, // масти
val magnitude: Magnitude // число, от 6 до 14 включительно, 11,12,13,14 - валет, дама, король, туз соотвественно
)
data class User(
val id: String,
val name: String,
val email: String, // тут список полей обсуждается
)
data class Player(
val id: String,
val user: User, // ссылка на юзера, чтобы отображать имя, аватар мб и тд
val cards: List<Card>, // карты, которые на руках у игрока
val points: Int, // очки
)
sealed class GameState {
object Prepared: GameState()
object Started: GameState()
object Paused: GameState()
// todo вот тут надо что-то добавить наверное про переключение игр
object Finished(winner: Player): GameState()
}
data class FieldState(
val deck: List<Card>, // карты, которые лежат на доске (мб надо сделать мапу Map<Player, Card>, чтобы знать кто какую карту кинул)
val players: List<Player>, // текущие игроки
)Editor is loading...