본문 바로가기
Kotlin

[Kotlin] 가위바위보

by 엘딘 2022. 2. 22.
fun main(args: Array<String>) {

    var userNum:Int
    var comNum:Int

    var win:Int
    var lose:Int
    var draw:Int
    var result: Int

    win = 0.also{ draw = it }.also { lose = it }

    println("가위 바위 보 게임입니다")

    while(true) {

        println("start game >>> ")

        // random - 0 ~ 2까지 랜덤으로 출력
        comNum = (Math.random() * 3).toInt()    

        // user input
        print("가위(0) 바위(1) 보(2) = ")
        userNum = readLine()!!.toInt()      // 0 ~ 2

		// win 0-2 1-0 2-1 
        result = (comNum - userNum + 2) % 3

        var resultMsg = ""
        
        when (result) {
            1 -> {
                resultMsg = "You Win"
                win++
            }
            0 -> {
                resultMsg = "You Lose"
                lose++
            }
            2 -> {
                resultMsg = "Draw"
                draw++
            }
        }

        var userChar = if (userNum == 0) "가위" else if (userNum == 1) "바위" else "보"
        var comChar = if (comNum == 0) "가위" else if (comNum == 1) "바위" else "보"

        println("$resultMsg으로 당신은 $userChar이고 com은 $comChar입니다")
        println("$win 승 $lose 패 $draw 무 입니다")

        print("한판 더?(y/n) = ")
        val msg = readLine()
        if(msg == "n" || msg == "N"){
            println("안녕히 가십시오")
            break
        }

        println("게임을 다시 시작합니다")
    }
}

'Kotlin' 카테고리의 다른 글

[Android] GoogleMaps  (0) 2022.04.03
[kotlin] 2  (0) 2022.02.09
[Kotlin]  (0) 2022.02.03

댓글