본문 바로가기
멘토링

랜덤 숫자 게임

by 왜안돼요 2024. 1. 9.
728x90

멘토링 하면서 js 한번 해봤다니까

바로 문제 내주셨다

허허..~

 

좀 지난 일이라 문제가 자세히 기억은 안나지만

난이도를 입력한다

랜덤한 숫자가 나온다

숫자가 10이하면 절반만큼만 반환한다 뭐 이런거였는데 기억이 안난다 ㅎ...

무튼 내가 푼건

 

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let level = parseInt(prompt("난이도 숫자를 입력하세요"));
      let randomNum = Math.floor(Math.random() * 10) + 1;

      for (let i = 0; i < level / 2; i++) {
        let inputNum = parseInt(prompt("숫자를 입력하세요"));
        if (randomNum === inputNum) {
          alert("정답입니다");
          break;
        } else if (randomNum > inputNum) {
          alert("숫자가 너무 작습니다");
        } else if (randomNum < inputNum) {
          alert("숫자가 너무 큽니다");
        }

        if (i == level / 2 - 1) {
          alert("정답은" + randomNum);
        }
      }
    </script>
  </body>
</html>

 

이렇다

그냥 아예 처음 배운다 할걸ㅎ

처음에 레벨을 받을 prompt를 띄워줬다

let level = parseInt(prompt("난이도 숫자를 입력하세요"));

숫자만 입력 받을 거라 parseInt도 적용해줌

그리고 숫자를 입력하게 되면

let randomNum = Math.floor(Math.random() * 10) + 1;

이 코드가 1~10까지 랜덤 숫자를 생성한다!

Math.floor는 반올림함수

 

이후에 for문을 입력받은 난이도만큼 돌린다

for (let i = 0; i < level / 2; i++) {
let inputNum = parseInt(prompt("숫자를 입력하세요"));
if (randomNum === inputNum) {
alert("정답입니다");
break;
} else if (randomNum > inputNum) {
alert("숫자가 너무 작습니다");
} else if (randomNum < inputNum) {
alert("숫자가 너무 큽니다");
}
}

i가 입력한 레벨 절반까지 돌아가게끔한다

그 다음 숫자입력 받기

생성한 랜덤숫자와 입력한 숫자가 같으면 정답 브레이크

if문을 빠져나온다

아니라면 숫자가 너무 작다 또는 숫자가 너무크다를 띄워준다

 

입력한 난이도 수 만큼 입력했으나 실패할경우


if (i == level / 2 - 1) {
alert("정답은" + randomNum);
}

정답을 알려준다

 

'멘토링' 카테고리의 다른 글

틱택토 만들기  (1) 2024.03.05
랜덤숫자 출력하기  (0) 2024.01.11

최근댓글

최근글

skin by © 2024 ttuttak