From fe25dde50b7c9507656eb3e8229bb0dd2cc5811e Mon Sep 17 00:00:00 2001 From: secminhr Date: Sun, 26 Aug 2018 13:43:42 +0000 Subject: [PATCH] Kotlin core finished --- start.kt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 start.kt diff --git a/start.kt b/start.kt new file mode 100644 index 0000000..01e8dea --- /dev/null +++ b/start.kt @@ -0,0 +1,59 @@ +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()) +} \ No newline at end of file