본문 바로가기

TIL/Java

Basic Algorithm 6th

반응형

1. (베스킨 라빈스 31 게임) 컴퓨터랑 게임하기 구현

컴퓨터와 플레이어의 턴을 잡기 위해 임의로 컴퓨터를 0 / 플레이어를 1로 지정한다

int turn => 랜덤으로 0과 1중에 하나만 뽑게 한다 (컴퓨터 내부에서)

가정문을 사용하여,

만약 0이 뽑혔다면 컴퓨터 선공으로 지정하고 0이 아닌 1로 뽑혔다면 플레이어가 선공!

While문을 사용하여 숫자 num이 31보다 작을 시에는 계속 게임을 진행시키게 한다

여기서 While을 사용하는 이유는 증가폭을 지정하지 않아도 되기 때문에! (컴퓨터나 플레이어나 숫자를 몇을 외칠지 모르기 때문)

그리고 While문 안에 가정문 If를 걸어서

turn == 0 일 때, 즉 컴퓨터 차례일 때

int com = 을 1,2,3 중에 하나 고르게 하기 위해 랜덤을 사용한다 (+1을 해주는 이유는 1부터 3까지의 숫자 중 한 개를 선택하게 하기 위함)

그리고 현재까지의 숫자(num)에 컴퓨터가 고른 com을 더해준다

마찬가지로 else를 사용하여,

플레이어 차례일 때는 Scanner를 통해 숫자를 입력받고, 위와 마찬가지로 현재까지의 숫자(num)에 더해준다

마지막으로 While 문 끝에,

turn = (turn + 1) % 2;

코드를 넣는데, turn이 0 -> 즉 컴퓨터 차례일 때

0 = ( 0 + 1 ) % 2 => 1

turn이 1 - > 즉 플레이어 차례일 때

1 = ( 1 + 1 ) % 2 => 0

차례를 순차적으로 계속 바꿔준다 -> 현재까지의 숫자 (num)이 31 보다 커질 때까지 (While 문)

마지막으로 삼항 연산자를 사용하여 승리한 유저를 출력해준다

반응형

'TIL > Java' 카테고리의 다른 글

Basic Algorithm 8th  (0) 2021.08.03
Basic Algorithm 7th  (0) 2021.08.03
Basic Algorithm 5th  (0) 2021.08.02
Basic Algorithm 4th  (0) 2021.08.02
Basic Algorithm 3rd  (0) 2021.08.02