Search

반복문10_문제02_가위바위보

대분류
STEP04 일차반복문
문제 난이도
LV02
소분류
일차반복문10_문제

영상

문제

<script> /* [문제] 철수와 민수는 계단에서 가위바위보를 한다. 철수와 민수는 각각 0 ~ 2 의 랜덤 값을 저장한다. 0 : 가위 , 1 : 바위 , 2 : 보를 뜻한다. 철수와 민수는 50번째 계단의 위치에서 시작한다. 룰은 다음과 같다. 이기면 3칸 올라가기, 비기면 2칸 올라가기, 지면 1칸 내려가기. 둘 중 아무나 100 이상 도착하거나 둘 사이의 간격이 10 이상이면 게임은 종료된다. 게임이 종료될 때까지 두 사람의 이동 경로를 출력하시오. */ </script>
Java
복사

해설

<script> /* [문제] 철수와 민수는 계단에서 가위바위보를 한다. 철수와 민수는 각각 0 ~ 2 의 랜덤 값을 저장한다. 0 : 가위 , 1 : 바위 , 2 : 보를 뜻한다. 철수와 민수는 50번째 계단의 위치에서 시작한다. 룰은 다음과 같다. 이기면 3칸 올라가기, 비기면 2칸 올라가기, 지면 1칸 내려가기. 둘 중 아무나 100 이상 도착하거나 둘 사이의 간격이 10 이상이면 게임은 종료된다. 게임이 종료될 때까지 두 사람의 이동 경로를 출력하시오. */ let 철수_위치 = 50; let 민수_위치 = 50; let run = true; while(run) { let 철수 = Math.floor(Math.random() * 3); let 민수 = Math.floor(Math.random() * 3); document.write("철수 : " + 철수 + "<br>"); document.write("민수 : " + 민수 + "<br>"); /* 1. 비겼다. 2. (철수)이겼다. 철수 민수 0 2 1 0 2 1 3. (철수)졌다. */ if(철수 == 민수) { 철수_위치 += 2; 민수_위치 += 2; document.write("비겼다.<br>"); } else if(철수 == 0 && 민수 == 2) { 철수_위치 += 3; 민수_위치 -= 1; document.write("철수가 이겼다.<br>"); } else if(철수 == 1 && 민수 == 0) { 철수_위치 += 3; 민수_위치 -= 1; document.write("철수가 이겼다.<br>"); } else if(철수 == 2 && 민수 == 1) { 철수_위치 += 3; 민수_위치 -= 1; document.write("철수가 이겼다.<br>"); } else { 민수_위치 += 3; 철수_위치 -= 1; document.write("민수가 이겼다.<br>"); } document.write("철수_위치 = " + 철수_위치 + "<br>"); document.write("민수_위치 = " + 민수_위치 + "<br>"); let 차이 = 철수_위치 - 민수_위치; if(철수_위치 >= 100) { document.write("철수 승리!!!"); run = false; } else if(민수_위치 >= 100) { document.write("민수 승리!!!"); run = false } else if(차이 >= 10 || 차이 <= -10) { document.write("둘 사이의 간격이 10이상으로 게임을 종료합니다."); run = false } } </script>
Java
복사