И как, работает?
(userChoice == "1" && gameChose == "3") ||
(userChoice == "2" && gameChose == "1") ||
(userChoice == "3" && gameChose == "2") ->
Это не красиво! Я бы организовал выборы, как элементы закольцованного двунаправленного связанного списка, тогда достаточно было бы проверить условие: "наш выбор "слева" или "справа" от выбора игрока". При масштабировании игры это очень пригодится.
positiveAnswer ->
{
val gameChose = getGameChose(options)
val userChoice = getUserChose(options)
getResult(gameChose, userChoice)
println("Do you want to play any more?")
playGameAnswer = readLine()
}
Эту часть кода я бы вынес в отдельный метод, как и запрос на проведение игры.
P.S. Если у вас возник вопрос "Какое может быть масштабирование такой простой игры?", взгляните на эту картинку: