제목이 곧 내용이다.
method를 사용하지 않고 컴퓨터와 가위바위보 게임을 하는 코드를 만들어보자
컴퓨터는 랜덤으로 가위or바위or보를 낼 것이고, 우리는 사용자의 입력을 받아서 승패 또는 무를 비교할 것이다.
컴퓨터는 1부터 3까지의 숫자 중 무작위로 하나를 리턴할 것이고, 1은 '가위', 2는 '바위', 3은 '보'라고하자.
0) 상수 선언
▲ 우선 숫자로 입력하고 출력하려니 숫자와 가위or바위or보라는 문자를 비교하는 것이 귀찮아서 상수로 해당 숫자와 연결하자.
1) 출력메뉴 만들기
▲ 가위바위보 선택과 종료를 위한 출력용 메뉴를 만들었다.
2) 컴퓨터 숫자 랜덤발생기 만들기
특정범위에서 숫자를 랜덤하게 발생시키는 코드는 아래와 같은 규칙이 있다.
▲ Math라는 class에서 random이라는 메소드를 실행시키면 0.0이상에서 1.0미만의 숫자를 랜덤하게 발생시킨다.
하지만 단순히 Math.random을 사용하면 0.XXX의 값이 나오기 때문에 시작과 끝값의 차이값을 곱해주고 마지막으로 시작값을 더해주면 된다. 하.지.만 여기서는 끝값이 포함이 되지 않는다.
즉, 1~9 사이의 숫자를 랜덤하게 발생시키려고 (int)(Math.random()*8)+1을 하면 1~8사이의 숫자만이 나온다.
때문에 차이값에 1을 더한 9를 곱해주어야 끝값까지 나오게 된다는 것을 염두해두자. 또한 소숫점이 포함된 double형이기 때문에 캐스팅연산자를 이용하여 int형으로 감싸주어야 한다.
3) 사용자에게 숫자 입력받기
▲ 사용자에게 1부터 4까지의 숫자입력받기 위한 코드와 만약 종료값인 4를 입력하였을 시 while문을 빠져나가 프로그램을 종료시킨다.
4) 게임 승리여부 판단
▲ 사용자에게 좀 더 친절한 프로그램을 위해서 사용자와 컴퓨터가 각각 낸 것이 무엇인지를 알려주는 sysout 코드를 작성했다. sysout코드안은 삼항연산자를 사용했다.
게임의 승리여부 판단을 위해서 이겼을 경우, 비겼을 경우 그리고 졌을 경우로 나누어서 else~if문을 사용했다.
'Java' 카테고리의 다른 글
[Java]Class - part.2 (0) | 2022.03.04 |
---|---|
[Java]Class - part.1 (0) | 2022.03.04 |
[Java]Call By Value & Call By Reference (0) | 2022.03.03 |
[Java]method - type4 (0) | 2022.03.03 |
[Java]method - type3 (0) | 2022.03.03 |