반응형

가위바위보 후 결과를 출력해주기(코틀린)

간단하게 로봇과 가위바위보를 하고 그 결과를 출력해주는 코드를 코틀린으로 짜 보았습니다.

작성한 코드입니다.

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]}를 냈습니다.")
}

입력 및 출력 결과입니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기