어린이날 연휴 그 즈음에 심심해서 야곰님의 유튜브를 보면서 따라 만들어봤던 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