HeYStRanGeR
article thumbnail

어린이날 연휴 그 즈음에 심심해서 야곰님의 유튜브를 보면서 따라 만들어봤던 up and down game이다.

(https://www.youtube.com/watch?v=aVpSUBlZPxU&list=PLz8NH7YHUj_ZF2oja5rP4Sow5KK1zf2yk)

 

//
//  ViewController.swift
//  UpDownGame
//
//  Created by 허혜진 on 2022/05/02.
//

import UIKit

class ViewController: UIViewController {
    
    var randomValue: Int = 0
    var tryCount: Int = 0
    
    @IBOutlet weak var slider: UISlider!
    @IBOutlet weak var tryCountLabel: UILabel!
    @IBOutlet weak var sliderValueLabel: UILabel!
    @IBOutlet weak var minimumValueLabel: UILabel!
    @IBOutlet weak var maximumValueLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        slider.setThumbImage(#imageLiteral(resourceName: "slider_thumb.png"), for: .normal)
        reset()
        
    }

    @IBAction func sliderValueChanged(_ sender: UISlider) {
        print(sender.value)
        let integerValue: Int = Int(sender.value)
        sliderValueLabel.text = String(integerValue)
    }
    
    func showAlert(message: String) {
        let alert = UIAlertController(title: nil,
                                      message: message,
                                      preferredStyle: .alert)
        let okAction = UIAlertAction(title: "OK",
                                     style: .default) {(action) in self.reset()}
        alert.addAction(okAction)
        present(alert,
                animated: true,
                completion: nil)
    }
    
    @IBAction func touchUpHitButton(_ sender: UIButton){
        print(slider.value)
        let hitValue: Int = Int(slider.value)
        slider.value = Float(hitValue)
        
        tryCount = tryCount + 1
        tryCountLabel.text = "\(tryCount) /5 "
        
        if randomValue == hitValue {
            showAlert(message: "YOU HIT")
            reset()
            return
        }
        
        if tryCount >= 5 {
            showAlert(message: "You lose")
            reset()
            return
        }
        
        if randomValue > hitValue {
            slider.minimumValue = Float(hitValue)
            minimumValueLabel.text = String(hitValue)
        } else if randomValue < hitValue {
            slider.maximumValue = Float(hitValue)
            maximumValueLabel.text = String(hitValue)
        }
    }
    
    @IBAction func touchUpResetButton(_ sender: UIButton){
        print("touch up reset button")
        reset()
    }
    
    func reset(){
        print("reset!")
        randomValue = Int.random(in: 0...30)
        print(randomValue)
        tryCount = 0
        tryCountLabel.text = "0 / 5"
        slider.minimumValue = 0
        slider.maximumValue = 30
        slider.value = 15
        minimumValueLabel.text = "0"
        maximumValueLabel.text = "30"
        sliderValueLabel.text = "15"
    }
    
}

 

//
//  CreditViewController.swift
//  UpDownGame
//
//  Created by 허혜진 on 2022/05/06.
//

import UIKit

class CreditViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
    
    @IBAction func touchUpDismissButton( _sender: UIButton){
        dismiss(animated: true,
                completion: nil)
    }
    

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
    }
    */

}

 

안에 있는 귀여운 곰돌이 사진은 유튜브에 올려주신 링크에서 다운받은 그림이다.

 


느낀점

 

확실히 언어는 다 비슷하다.

처음해보는 건데도 엄청 쉽게 느껴졌다. (이게 쉬운 내용이긴 했다..)

만드는 시간보다 xcode 다운로드 받는 시간이 더 오래걸린 기분이었다.

완전 맛보기용으로 해본건데 만약 종강하고 기회가 있다면 더 공부해보고 싶다.

진짜 재밌다.  

내 아이폰으로 만든 어플을 직접 해볼 수도 있고 신박한 아이디어가 떠오른다면 그걸 직접 만들어보는 재미가 있을 것 같다.

 

 

 

728x90
profile

HeYStRanGeR

@HeYStRanGeR

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!