// EasyGame.kt(簡単なゲーム) ①: var cardsList: MutableList<String> = mutableListOf( "ジョーカー", "♠1", "♠2", "♠3", "♠4", "♠5", "♠6", "♠7", "♠8", "♠9", … 省略 … "♢3", "♢4", "♢5", "♢6", "♢7", "♢8", "♢9", "♢10", "♢11", "♢12", "♢13" ) :① ②: // カードの点数 var cardPower: Int = 0 // コンピュータのカード点数 var comCardPower = 0 :② fun main() { println("仕切られた、カードの上から何枚目を引きますか?") println("1~53 のうちどれかを、タイプしてください") val yourEnter: String? = readLine() ③: // あなたのタイプ に、エラーがある場合は、0点 とします. var yourCardPower = 0 val number: Int = when (yourEnter) { "1" -> 1 "2" -> 2 … 省略 … "52" -> 52 "53" -> 53 else -> 99 } if (number == 99) { println("error") } else { val yourNum = chooseCard(number) println("あなたが選んだのは、$yourNum") // $yourNum は、${yourNum} と、同じです(この場合は、省略できるので.)。 // IntelliJ の、細かいチェックまで、無くしたら、こうなりましたが、 // 日本語を使う場合は、省略しない方がいいと思います。 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) :⑤ } 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 … 省略 … "♢12" -> 12 "♢13" -> 13 else -> 0 // 値を返す、when式 は、else が、必須なので. } return cardPower }