// EasyGameUsingArgs0.kt(args[0] を、使った、簡単なゲーム) var cardsList: MutableList<String> = mutableListOf( "ジョーカー", "♠1", "♠2", "♠3", "♠4", "♠5", "♠6", "♠7", "♠8", "♠9", "♠10", "♠11", "♠12", "♠13", "💛1", "💛2", "💛3", "💛4", "💛5", "💛6", "💛7", "💛8", "💛9", "💛10", "💛11", "💛12", "💛13", "♧1", "♧2", "♧3", "♧4", "♧5", "♧6", "♧7", "♧8", "♧9", "♧10", "♧11", "♧12", "♧13", "♢1", "♢2", "♢3", "♢4", "♢5", "♢6", "♢7", "♢8", "♢9", "♢10", "♢11", "♢12", "♢13" ) // カードの点数 var cardPower: Int = 0 // コンピュータのカード点数 var comCardPower = 0 fun main(args: Array<String>) { println("仕切られた、カードの上から何枚目を引きますか?") println("1~53 が、arg[0] に、設定されます.") /* val yourEnter: String? = readLine() */ try { // IntelliJ: Run → Edit Configurations... → Program arguments に、設定する. val yourEnter = args[0] // あなたのタイプ に、エラーがある場合は、0点 とします. var yourCardPower = 0 val number: Int = when (yourEnter) { "1" -> 1 "2" -> 2 "3" -> 3 "4" -> 4 "5" -> 5 "6" -> 6 "7" -> 7 "8" -> 8 "9" -> 9 "10" -> 10 "11" -> 11 "12" -> 12 "13" -> 13 "14" -> 14 "15" -> 15 "16" -> 16 "17" -> 17 "18" -> 18 "19" -> 19 "20" -> 20 "21" -> 21 "22" -> 22 "23" -> 23 "24" -> 24 "25" -> 25 "26" -> 26 "27" -> 27 "28" -> 28 "29" -> 29 "30" -> 30 "31" -> 31 "32" -> 32 "33" -> 33 "34" -> 34 "35" -> 35 "36" -> 36 "37" -> 37 "38" -> 38 "39" -> 39 "40" -> 40 "41" -> 41 "42" -> 42 "43" -> 43 "44" -> 44 "45" -> 45 "46" -> 46 "47" -> 47 "48" -> 48 "49" -> 49 "50" -> 50 "51" -> 51 "52" -> 52 "53" -> 53 else -> 99 } if (number == 99) { println("error") } else { val yourNum = chooseCard(number) println("あなたが選んだのは、$yourNum") yourCardPower = getCardPower(yourNum) println("あなたのカード は、${yourCardPower}点 です") } val comCard = 1 val comNum = chooseCard(comCard) println("コンピューターが選んだのは、$comNum") comCardPower = getCardPower(comNum) println("コンピューターのカード は、${comCardPower}点 です") val out: String = when { yourCardPower > comCardPower -> "You won" comCardPower > yourCardPower -> "Com won" else -> "Draw" } println(out) } catch (aE: ArrayIndexOutOfBoundsException) { println("入力されていません") } } fun chooseCard(num: Int): String { // MutableList ⇒ List に、変更しないと、実行できない. val shuffledCard: List<String> = cardsList.shuffled() println(shuffledCard) // インデックスナンバー は、-1 になる.(0スタート) val selectedCard: String = shuffledCard[num - 1] // カードを1枚減らすためには、MutableList に、変更する. cardsList = shuffledCard.toMutableList() cardsList.remove(selectedCard) return selectedCard } fun getCardPower(whichCard: String): Int { cardPower = when (whichCard) { "ジョーカー" -> 14 "♠1" -> 1 "♠2" -> 2 "♠3" -> 3 "♠4" -> 4 "♠5" -> 5 "♠6" -> 6 "♠7" -> 7 "♠8" -> 8 "♠9" -> 9 "♠10" -> 10 "♠11" -> 11 "♠12" -> 12 "♠13" -> 13 "💛1" -> 1 "💛2" -> 2 "💛3" -> 3 "💛4" -> 4 "💛5" -> 5 "💛6" -> 6 "💛7" -> 7 "💛8" -> 8 "💛9" -> 9 "💛10" -> 10 "💛11" -> 11 "💛12" -> 12 "💛13" -> 13 "♧1" -> 1 "♧2" -> 2 "♧3" -> 3 "♧4" -> 4 "♧5" -> 5 "♧6" -> 6 "♧7" -> 7 "♧8" -> 8 "♧9" -> 9 "♧10" -> 10 "♧11" -> 11 "♧12" -> 12 "♧13" -> 13 "♢1" -> 1 "♢2" -> 2 "♢3" -> 3 "♢4" -> 4 "♢5" -> 5 "♢6" -> 6 "♢7" -> 7 "♢8" -> 8 "♢9" -> 9 "♢10" -> 10 "♢11" -> 11 "♢12" -> 12 "♢13" -> 13 else -> 0 // 値を返す、when式 は、else が、必須なので. } return cardPower }