cmd+shift+Y 디버그영역 올리고 내리고
cmd+shift+L 라이브러리 열기
ctr+opt+cmd+Enter Assistant(코드 나옴)
cmd+R 시뮬레이터
colorLiteral 이거 바뀜 확인해보기
#colorLiteral( 소괄호열면 된다했는데 오류뜸 -> 아 이미 백그라운드컬러가 있어서 그랬네;; ㅈㅅ
소괄호열고닫아야 뜨는데 노란색 ! 이거 뜨는데 눌러서 색 설정해주면 됨
연결되어있는거 코드를 걍 지우면 안되고 연결되어있는 연결선을 끊어준 뒤 코드 지워야함(자주하는 실수~)
#imageLiteral( )요거 하면 대괄호 사라짐 닫아주면 됨 이미지 선택해서 넣어주면 됨
주사위 앱 만들기
가위바위보 앱 만들기
더보기
//
// ViewController.swift
// RPSGame
//
// Created by 내꺼다 on 2/3/25.
//
import UIKit
class ViewController: UIViewController {
// 변수 / 속성
@IBOutlet weak var mainLabel: UILabel!
@IBOutlet weak var comImageView: UIImageView!
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet weak var comChoiceLabel: UILabel!
@IBOutlet weak var myChoiceLabel: UILabel!
var comChoice: Rps = Rps(rawValue: Int.random(in: 0...2))!
var myChoice: Rps = Rps.rock
// 함수 / 메서드
// 앱의 화면에 들어오면 처음 실행되는 함수
override func viewDidLoad() {
super.viewDidLoad()
// 1) 첫번째/두번째 이미지뷰에 준비(묵) 이미지를 띄워야 함
comImageView.image = #imageLiteral(resourceName: "ready")
myImageView.image = UIImage(named: "ready.png")
// 2) 첫번째/두번째 레이블에 "준비"라고 문자열을 띄워야 함
comChoiceLabel.text = "준비"
myChoiceLabel.text = "준비"
}
@IBAction func rpsButtonTapped(_ sender: UIButton) {
// 가위/바위/보(enum)를 선택해서 그 정보를 저장해야됨
// guard let title = sender.currentTitle else {
// return
// }
// 버튼의 문자를 가져옴
let title = sender.currentTitle!
print(title)
switch title {
case "가위":
// 가위 열거형을 만들어서 저장
myChoice = Rps.scissors
case "바위":
// 바위 열거형을 만들어서 저장
myChoice = Rps.rock
case "보":
// 보 열거형을 만들어서 저장
myChoice = Rps.paper
default:
break
}
}
@IBAction func selectButtonTapped(_ sender: UIButton) {
// 1) 컴퓨터가 랜덤 선택한 것을 이미지뷰에 표시
// 2) 컴퓨터가 랜덤 선택한 것을 레이블에 표시
switch comChoice {
case Rps.rock:
comImageView.image = #imageLiteral(resourceName: "rock")
comChoiceLabel.text = "바위"
case Rps.paper:
comImageView.image = #imageLiteral(resourceName: "paper")
comChoiceLabel.text = "보"
case Rps.scissors:
comImageView.image = #imageLiteral(resourceName: "scissors")
comChoiceLabel.text = "가위"
}
// 3) 내가 선택한 것을 이미지뷰에 표시
// 4) 내가 선택한 것을 레이블에 표시
switch myChoice {
case Rps.rock:
myImageView.image = #imageLiteral(resourceName: "rock")
myChoiceLabel.text = "바위"
case Rps.paper:
myImageView.image = #imageLiteral(resourceName: "paper")
myChoiceLabel.text = "보"
case Rps.scissors:
myImageView.image = #imageLiteral(resourceName: "scissors")
myChoiceLabel.text = "가위"
}
// 5) 컴퓨터가 선택한 것과 내가 선택한 것을 비교해서 이겼는지/졌는지 판단/표시
if comChoice == myChoice {
mainLabel.text = "비겼다"
} else if comChoice == .rock && myChoice == .paper {
mainLabel.text = "이겼다"
} else if comChoice == .paper && myChoice == .scissors {
mainLabel.text = "이겼다"
} else if comChoice == .scissors && myChoice == .rock {
mainLabel.text = "이겼다"
} else {
mainLabel.text = "졌다"
}
}
@IBAction func resetButtonTapped(_ sender: UIButton) {
// 1) 컴퓨터가 다시 처음 준비 이미지뷰에 표시
// 2) 컴퓨터가 다시 준비 레이블에 표시
comImageView.image = #imageLiteral(resourceName: "ready")
comChoiceLabel.text = "준비"
// 3) 내 선택 이미지뷰에도 준비 이미지를 표시
// 4) 내 선택 레이블에도 준비 문자열 표시
myImageView.image = #imageLiteral(resourceName: "ready")
myChoiceLabel.text = "준비"
// 5) 메인 레이블 "선택하세요" 표시
mainLabel.text = "선택하세요"
// 6) 컴퓨터가 다시 랜덤 가위/바위/보를 선택하고 저장
comChoice = Rps(rawValue: Int.random(in: 0...2))!
}
}
맥앱만들기 빙고게임
더보기
//
// main.swift
// RandomBingo
//
// Created by 내꺼다 on 2/5/25.
//
import Foundation
var computerChoice = Int.random(in: 1...100)
var myChoice: Int = 0
while true {
var userInput = readLine()
if let input = userInput {
if let number = Int(input) {
myChoice = number
}
}
//print(myChoice)
if computerChoice > myChoice {
print("Up")
} else if computerChoice < myChoice {
print("Down")
} else {
print("Bingo")
break // 반복문을 종료
}
}
업다운앱
더보기
//
// ViewController.swift
// UpDownGame
//
// Created by 내꺼다 on 2/5/25.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var mainLabel: UILabel!
@IBOutlet weak var numberLabel: UILabel!
// 컴퓨터가 랜덤으로 숫자 선택
var comNumber = Int.random(in: 1...10)
// 내가 선택한 숫자 담는 변수
// var myNumber: Int = 1
// 앱의 화면에 들어오면 가장 처음에 실행되는 함수
override func viewDidLoad() {
super.viewDidLoad()
// 1) 메인레이블에 "선택하세요"
mainLabel.text = "선택하세요"
// 2) 숫자 레이블은 ""
numberLabel.text = ""
}
@IBAction func buttonTapped(_ sender: UIButton) {
// 1) 버튼의 숫자를 가져와야 함
guard let numString = sender.currentTitle else { return }
// 2) 숫자 레이블이 변하도록 (숫자에 따라)
numberLabel.text = numString
// 3) 선택한 숫자를 변수에 저장 (선택사항)
// guard let num = Int(numString) else { return }
// myNumber = num
}
@IBAction func selectButoonTapped(_ sender: UIButton) {
// 또다른 방법 제시
// 숫자레이블에 있는 문자열 가져오기(옵셔널 벗기기)
guard let myNumString = numberLabel.text else { return }
// 타입 변환 (문자열 -> 정수로)
guard let myNumber = Int(myNumString) else { return }
// 1) 컴퓨터의 숫자와 내가 선택한 숫자 비교 UP / Down / Bingo (메인레이블)
if comNumber > myNumber {
mainLabel.text = "Up"
} else if comNumber < myNumber {
mainLabel.text = "Down"
} else {
mainLabel.text = "Bingo😎"
}
}
@IBAction func resetButtonTapped(_ sender: UIButton) {
// 1) 메인레이블 "선택하세요"
mainLabel.text = "선택하세요"
// 2) 숫자레이블을 "" (빈문자열)
numberLabel.text = ""
// 3) 컴퓨터의 랜덤숫자를 다시 선택하게
comNumber = Int.random(in: 1...10)
}
}
스토리보드 오랜만이라 잘 모르는거나 머 설명해주는거 적을라했는데
따로 적어놓을게 그렇게 있지가 않네,,,
'iOS 관련 공부' 카테고리의 다른 글
초기화 (initialization) - 1 (0) | 2025.02.13 |
---|---|
클래스와 구조체 (0) | 2025.02.06 |
iOS Architecture / Framework (0) | 2025.02.02 |
열거형(Enumeration) (1) | 2025.02.01 |
스위프트의 컬렉션 관련 (0) | 2025.01.31 |