-
[네이버클라우드 캠프/1주차] 가위바위보 게임네이버클라우드 캠프 | BE/Java 과제 2023. 3. 20. 12:27728x90
3월 15일(수)에는 앞서 포스팅한 구구단 외에도 가위바위보 게임을 과제로 받아 풀었습니다.
가위바위보 게임 역시 생각의 흐름, 사고 방식에 대해 정리해보겠습니다.
❓문제 : 가위바위보 게임을 만드세요.
comp는 0`2 사이 정수 랜덤 값을 생성합니다. (0 : 가위, 1 : 바위, 2 : 보)
user는 0, 1, 2를 입력하여, comp와 user의 승무패를 출력하세요.Scanner를 통해 user(사용자)의 값을 입력받거나, comp의 랜덤 값을 생성하는 것은 어렵지 않을 것입니다.
저는 comp와 user의 값을 비교할 때
관계연산자 == 을 여러 번 사용하고 싶지 않아, comp와 user 값에 대해 규칙을 찾았습니다.
<사용자가 이길 경우>
user(사용자) 0 가위 1 바위 2 보 comp(컴퓨터) 2 보 0 가위 1 바위 user - comp - 2 1 1 <사용자가 질 경우>
user(사용자) 0 가위 1 바위 2 보 comp(컴퓨터) 1 바위 2 보 0 가위 user - comp - 1 - 1 2 최종 소스코드
import java.util.Random; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("숫자를 입력하세요 (0:가위, 1:바위, 2:보) > "); int user = sc.nextInt(); Random r = new Random(); int comp = r.nextInt(3); // 0-2 랜덤 값 대입 if(user==comp) { System.out.printf("com은 %d, 당신과 비겼습니다.", comp); } else if(user-comp == 1 || user-comp == -2) { System.out.printf("com은 %d, 당신이 이겼습니다.", comp); } else { System.out.printf("com은 %d, 당신이 졌습니다.", comp); } } }
'네이버클라우드 캠프 | BE > Java 과제' 카테고리의 다른 글
[네이버클라우드 캠프/1주차] 배열의 출력 (0) 2023.03.22 [네이버클라우드 캠프/1주차] 트리 모양의 별 (0) 2023.03.22 [네이버클라우드 캠프/1주차] 369 게임 (0) 2023.03.20 [네이버클라우드 캠프/1주차] 구구단 게임 (0) 2023.03.20 [네이버클라우드 캠프/1주차] "dBEfIZ" → "ajEfcC" 출력하기 (0) 2023.03.20