조건문인 if와 여러 변수의 비교를 통해 조건을 발동시키는 switch를 통해 정말 기본적인 로직을 통해 게임을 만들 수 있다.
var computer = Int.random(in: 0...2)
//가위,바위,보 3가지 선택을 0,1,2로 정하여 3개의 선택안 설정
//random(in: 0...2) 랜덤 선택 문법
var me = 2 //나의 경우 보를 선택한 경우로 설정
switch computer {
case 0:
print("컴퓨터의 선택은 가위 입니다.")
case 1:
print("컴퓨터의 선택은 바위 입니다.")
case 2:
print("컴퓨터의 선택은 보 입니다.")
default:
break
}
switch me {
case 0:
print("내 선택은 가위 입니다.")
case 1:
print("내 선택은 바위 입니다.")
case 2:
print("내 선택은 보 입니다.")
default:
break
}
if me == 0 {
if computer == 0 {
print("무승부 입니다.")
} else if computer == 1 {
print("당신은 졌습니다.")
} else {
print("당신이 이겼습니다.")
}
} else if me == 1 {
if computer == 0 {
print("당신이 이겼습니다.")
} else if computer == 1 {
print("무승부 입니다.")
} else {
print("당신은 졌습니다.")
}
} else { //me == 2
if computer == 0 {
print("당신은 졌습니다.")
} else if computer == 1 {
print("당신이 이겼습니다.")
} else {
print("무승부 입니다.")
}
}
이렇게 조건과 스위치 비교구문을 통해 모든 경우의 수와 조건을 계산하여 간단한 게임을 만들 수 있다.
But 조금 더 간단한게 생각을 해보면
if me == computer {
print("무승부 입니다.")
} else if me == 0 && computer == 2 {
print("당신이 이겼습니다.")
} else if me == 1 && computer == 0 {
print("당신이 이겼습니다.")
} else if me == 2 && computer == 1 {
print("당신이 이겼습니다.")
} else {
print("당신은 졌습니다.")
}
한가지의 무승부 조건 --> 이기는 경우 --> 나머지는 다 지는 경우 else 마무리 하는 로직 과정을 통해 좀더 간단하게 줄일 수 있다.
출저: 앨런's Swift Master School