돌아오신 것을 환영합니다
이번 영상에서는 이 가위바위보 애플리케이션을 마무리 지어보도록 하겠습니다
스스로 해보시는 것도 좋을 것 같습니다
영상을 멈추고 해결책을 생각해 보시기를 권장합니다
누가 승자인지 출력하기만 하면 됩니다
무승부였는지 혹은 플레이어나 컴퓨터나 이겼는지 말입니다
그럼 코드를 작성해 보시기 바랍니다
승자가 누구인지 확인하기 위해 추가적인 정보와 함께 if문이 필요합니다
좋습니다
시도해 보시기 바랍니다
좋습니다
그럼 시도해 보신 걸로 알고 진행하겠습니다 if(winner=="Tie")일 경우
이 경우
"It's a tie."(무승부입니다)를 출력합니다
그게 아닐 경우 else if(winner==player)라면 println()에
"Player won!"(플레이어 승)을 입력합니다
그리고 마지막 상황에서는 println() 안에 "Computer won!"(컴퓨터 승)을 입력합니다
그리고 여기엔 else if가 필요 없는 이유가 무승부도 아니고
플레이어의 승도 아니라면 마지막 상황인 컴퓨터의 승밖에 없기 때문입니다
좋습니다 이제 이 if 위에 마우스를 올려보면 또 when문으로 대체하라고 하는데
저는 개인적으로 더 이해하기 쉽고 직관적이기 때문에
if문을 선호합니다
그럼 이 게임을 실행하여 확인해 봅시다
시작 문구가 보입니다
그리고 저는
Rock(바위)를 입력해 보겠습니다
그리고 컴퓨터는 Scissors(가위)를 선택했으므로 제가 이겼습니다
그래서 Player won!(플레이어 승!)이라는 문구가 보이고 다시 실행하여 Rock(바위)를 입력해 보겠습니다
이번엔 컴퓨터가 보를 선택했고 컴퓨터가 이겼습니다
이게 전부입니다
우리가 작업한 내용입니다
드디어 실행할 수 있는 애플리케이션이 생겼으며
무작위로 숫자를 선택하는 컴퓨터와 상대할 수 있습니다
학습을 한다거나 하는 것은 아닙니다
우리가 바위를 사용할 확율이 80%라거나 이런 것은 전혀 모릅니다
그저 무작위로 숫자를 선택하는 것이므로 최고의 상대는 아닐 수도 있겠습니다
하지만 이제 이 if와 else if를 조금 더 나은 방식으로 대체해 보겠습니다
승자는 무조건 플레이어나 컴퓨터 둘 중 하나입니다
그러므로 바로 직접적으로 출력하도록 하겠습니다
그러니까 이 방식 대신 else를 사용해
여기서 출력하는 것인데
그 전에 여기에 닫아주는 중괄호가 필요합니다
winner + " won!"이라고 써주면 됩니다
이러한 방식도 있습니다
그럼 재실행하여 확인해 보겠습니다
또 Rock(바위)를 선택할 것인데 이게 가장 짧은 단어이기 때문입니다
그러면 컴퓨터가 가위를 선택했으므로 Player won!(플레이어 승!)이 보입니다
winner + " won!"이 잘 작동한 것입니다
그리고 이를 대체할 수 있는 또 다른 방식은 template(템플릿)이라는 것입니다
그러니까 이를 String concatenation(문자열 결합)로
즉 String을 서로 더하는 것은
이런 식으로 사용할 수 있습니다
보시다시피 바로 적용되었습니다
달러 기호 다음에 변수 이름이 옵니다
그리고 이 뜻은 이 winner 변수 안에 있는 String이 무엇이든
우리가 적은 것으로 대체하는 것입니다
따라서 우리는 "Tie"인지 "Computer"인지 등을
모릅니다
정확히는 "Tie"가 아니라는 것은 알지만 "Player"인지 "Computer"인지는 모릅니다
그렇기 때문에 winner 변수가 무엇이든 간에
여기에 작성해 달라고 하는 것입니다
그러면 다시 실행하여 테스트해 보겠습니다
시작 문구가 보이고
다시 Rock(바위)를 입력해 보면 플레이어가 이겼다고 합니다
코드가 제대로 작동하고 있습니다
이는 그저 우리가 이전에 작성한 것을 간결하게 한 것입니다
좋습니다
그러므로 이는 이 특정 상황에서 사용될 수 있는 가장 적은 양의 코드입니다
자
그럼 이것이 애플리케이션은 거의 전부입니다
물론 이제 재실행한 다음 예상치 않은 값들을 입력하여 오류를 만들어낼 수도 있습니다
가위, 바위, 보가 아닌 입력 값 말입니다
예를 들어 Rockssors를 입력해보겠습니다
원래대로라면 컴퓨터가 가위를 선택했고 가위가 Rockssors를 이긴 것으로 나옵니다
컴퓨터의 승입니다
이 경우에는
이 else가 실행된 것이며 위 상황을 제외한 모든 나머지의 경우이기 떄문에
틀린 값, 즉 가위 바위 보가 아니더라도 컴퓨터가 이깁니다
항상 말입니다
그래서 룰을 어기면 자동으로 패배하는 것입니다
이 문장 덕분입니다
프로그램이 이런 식으로 실행되도록 구성했기 때문입니다
그럼 다음 영상에서는 간단한 연습 과제로
사용자가 입력한 것을 확인해 보고 그것이 올바른 값이도록 보장해 보겠습니다
간단한 연습 과제일 것입니다
그리고 그러기 위해서는 while문을 살펴봐야 합니다
자
그럼 진행해 보도록 합시다
다음 영상에서 while문을 살펴보겠습니다
거기서 뵙겠습니다