XCODE에서 작성하고 에뮬레이터에서 실행시킨 스냅샷.

맥북 XCODE 8.2.1 Swift로 '스위프트로 시작하는 아이폰 앱 개발 교과서' 4장 가위바위보 게임 따라하기.

'준비' 버튼 클릭시 '가위 바위..' 표시.
'가위', '바위', '보' 각각의 버튼을 누르면 컴퓨터의 랜덤 수에 의한 가위, 바위, 보와 비교해 승부 결과를 표시.

가위, 바위, 보 png 이미지 파일 3개를 프로젝트창에 드래그 하여 추가한 뒤 나머지는 기본 툴들을 이용.

맥북 A1342의 엄청나게 느린 XCODE 8.2.1 Swift로 처음 만들어 본 앱.

17/4/04 화

//  ViewController.swift
//  rockPaperScissors
//  Created by MAC on 2017. 3. 31..

import UIKit
import GameplayKit //GKAC4RandomSource() 사용을위해

class ViewController: UIViewController {
    let randomSource = GKARC4RandomSource()
   
    @IBOutletweakvar computerImageView: UIImageView!
    @IBOutletweakvar playerImageView: UIImageView!
    @IBOutletweakvar messageLabel: UILabel!

    overridefunc viewDidLoad() {
        super.viewDidLoad()
        let angle:CGFloat = CGFloat((180.0 * M_PI) / 180.0)
        computerImageView.transform = CGAffineTransform(rotationAngle: angle)
    }

    @IBActionfunc tabStart() {
        computerImageView.image = UIImage(named: "rock.png")
        playerImageView.image = UIImage(named: "rock.png")
        messageLabel.text = "가위바위..."
    }
    @IBActionfunc tapScissors() {
        playerImageView.image = UIImage(named: "scissors.png")
        doComputer(player: 0)
    }
    @IBActionfunc tabRock() {
        playerImageView.image = UIImage(named: "rock.png")
        doComputer(player: 1)
    }
    @IBActionfunc tabPaper() {
        playerImageView.image = UIImage(named: "paper.png")
        doComputer(player: 2)
    }
    func doComputer(player:Int){
        let computerHand = randomSource.nextInt(upperBound: 3)
        var msg = ""
       
        switch computerHand{
        case0:
            computerImageView.image = UIImage(named: "scissors.png")
            switch player{
            case0: msg = "비겼어요.."
            case1: msg = "이겼어요!"
            case2: msg = "졌어요..."
            default: break
            }
        case1:
            computerImageView.image = UIImage(named: "rock.png")
            switch player{
            case0: msg = "졌어요..."
            case1: msg = "비겼어요.."
            case2: msg = "이겼어요!"
            default: break
            }
        case2:
            computerImageView.image = UIImage(named: "paper.png")
            switch player{
            case0: msg = "이겼어요!"
            case1: msg = "졌어요..."
            case2: msg = "비겼어요.."
            default: break
            }
        default: break
        }
        messageLabel.text = msg
    }
   
    overridefunc didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}