반응형
가위바위보 후 결과를 출력해주기(코틀린)
간단하게 로봇과 가위바위보를 하고 그 결과를 출력해주는 코드를 코틀린으로 짜 보았습니다.
작성한 코드입니다.
import java.util.Random
val random = Random()
val robot = arrayOf("가위", "바위", "보")
fun main() {
while (true) {
println("가위 / 바위 / 보 중 하나를 입력해주세요!\n종료 를 입력하시면 종료됩니다.")
var player = readLine()
// 종료가 입력되면 종료
if (player == "종료") return
// robotIndex에 0~2까지 중 랜덤한 수 저장
// 로봇에 인덱스에 들어갈 값임
// 0이면 가위 1이면 바위 2이면 보
var robotIndex = random.nextInt(3)
// 플레이어가 가위일 때
if (player == "가위") {
when (robotIndex) {
// 로봇은 가위
0 -> {
Result(player, robotIndex)
println("비겼습니다.")
}
// 로봇은 바위
1 -> {
Result(player, robotIndex)
println("제가 이겼습니다.")
}
// 로봇은 보
2 -> {
Result(player, robotIndex)
println("당신이 이겼습니다.")
}
}
}
// 플레이어가 보일 때
else if (player == "보") {
when (robotIndex) {
// 로봇은 가위
0 -> {
Result(player, robotIndex)
println("제가 이겼습니다.")
}
// 로봇은 바위
1 -> {
Result(player, robotIndex)
println("당신이 이겼습니다.")
}
// 로봇은 보
2 -> {
Result(player, robotIndex)
println("비겼습니다.")
}
}
}
// 플레이어가 바위일 때
else if (player == "바위") {
when (robotIndex) {
// 로봇은 가위
0 -> {
Result(player, robotIndex)
println("당신이 이겼습니다.")
}
// 로봇은 바위
1 -> {
Result(player, robotIndex)
println("비겼습니다.")
}
// 로봇은 보
2 -> {
Result(player, robotIndex)
println("제가 이겼습니다.")
}
}
}
}
}
fun Result(player: String, robotIndex: Int) {
println("당신은 ${player}를 냈고 저는 ${robot[robotIndex]}를 냈습니다.")
}
입력 및 출력 결과입니다.
반응형
'코틀린[Kotlin]' 카테고리의 다른 글
코틀린[Kotlin] 괄호와 공백을 포함한 문자열을 리스트로 만들기 (0) | 2022.03.22 |
---|---|
코틀린[Kotlin] 컬렉션 API : filter, map, all, any, count, find(firstOrNull) (0) | 2022.02.21 |
코틀린[Kotlin] 람다기초(Lambda) (0) | 2022.01.21 |
코틀린[Kotlin] 기초(Nullable / NonNull) (0) | 2022.01.20 |
코틀린[Kotlin] 기초(조건문, Array 및 List, 반복문) (0) | 2022.01.19 |
최근댓글