Rock Paper Scissors

Littlebyleetle·2022년 10월 5일
0

swift

목록 보기
4/6

If & SWITCH 를 사용해 게임을 만들어보자

조건문인 if와 여러 변수의 비교를 통해 조건을 발동시키는 switch를 통해 정말 기본적인 로직을 통해 게임을 만들 수 있다.

  1. 컴퓨터의 선택과 나의 선택의 데이터를 만들기
var computer = Int.random(in: 0...2)
//가위,바위,보 3가지 선택을 0,1,2로 정하여 3개의 선택안 설정 
//random(in: 0...2) 랜덤 선택 문법
var me = 2 //나의 경우 보를 선택한 경우로 설정
  1. switch를 통해 조건의 비교에 따른 선택 결과 도출
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
}
  1. if를 통해 최종 결과의 모든 로직 결과를 설정
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

profile
패션전공의 두두듀 코딩일기

0개의 댓글