Ваш GameUiProps
является просто интерфейсом, поэтому вы не можете создать его экземпляр напрямую.
То, что у вас есть (val gm: GameUiProps
), это просто объявление поля, не присваивая ему ничего.Очевидно, что вы не можете получить к нему доступ или написать какие-либо свойства.
Вам необходимо создать простую реализацию с помощью конструктора или анонимный объект.
Класс, который объявляет все поля интерфейса в конструкторе:
class GameUiPropsImpl(
override var numPlayers: Int,
override var playerArray: Array<String>,
override var cardArray: Array<String>) : GameUiProps
затем в вашем fun main
:
val gm = GameUiPropsImpl(2, arrayOf("Player 1", "Player 2"), arrayOf("Card to be dealt", "Cards to be Dealt"))
Или используя анонимный класс, реализующий интерфейс:
val gm = object: GameUiProps{
override var numPlayers = 2
override var playerArray = arrayOf("Player 1", "Player 2")
override var cardArray = arrayOf("Card to be dealt", "Cards to be Dealt")
}