import java.util.* import kotlin.system.exitProcess fun main(args: Array) { val characters = createCharacters() //show characters for(c in characters) { println("${c!!.id}.${c.name}") } println("喔對了 角色技能開發中 所以還不能用") var player1: Character var player2: Character //first player choose character while(true) { println("玩家一,選擇你的角色") try { val id = Integer.parseInt(readLine()) player1 = characters[id-1]!! characters[id - 1] = null println("玩家一 ${player1.name}") break } catch (e: Exception) { continue } } //second player choose character while(true) { println("玩家二,選擇你的角色") try { val id = Integer.parseInt(readLine()) player2 = characters[id - 1]!! characters[id - 1] = null println("玩家二 ${player2.name}") break } catch (e: Exception) { continue } } val first: Character val second: Character if (Random().nextBoolean()) { //random select between true or false first = player1 second = player2 } else { first = player2 second = player1 } println("${first.name}先攻") val gameLoop = GameLoop(first, second) { winner, _ -> println("${winner.name}獲勝") exitProcess(0) } gameLoop.init() gameLoop.start() } private fun createCharacters(): Array { return arrayOf(Ann(),Guo(), May(), Rabbit(), Silver(), Tadashisaku(), W(), Thunder(), Haier(), Yukimura()).sortedBy { it.id }.toTypedArray() }