59 lines
1.7 KiB
Kotlin
59 lines
1.7 KiB
Kotlin
import java.util.*
|
|
import kotlin.system.exitProcess
|
|
|
|
fun main(args: Array<String>) {
|
|
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<Character?> {
|
|
return arrayOf(Ann(),Guo(), May(), Rabbit(), Silver(), Tadashisaku(), W(), Thunder(), Haier(), Yukimura())
|
|
} |