반응형
지금 까지 공부했던 것들을 이용해 작은 게임을 하나 만들어 보았다.
let maxNum = parseInt(prompt("최대값을 입력하세요")); // 사용자에게 최대값 입력 받기
일단 사용자에게 prompt로 입력 받은 값을 parseInt로 파싱한후 maxNum이라는 변수에 저장한다.
while (!maxNum) { // 입력 할 때까지 계속 체크
maxNum = parseInt(prompt("최대값을 입력하세요"));
}
입력하지 않은 경우도 있으니 반복문을 사용하여 제어한다.
0도 false 이기 때문에 걸러진다.
const targetNum = Math.floor(Math.random() * maxNum) + 1; // 목표값 설정
Math 함수를 사용해서 사용자가 입력한 최대값과 0사이에 목표값을 설정한다.
let guessNum = parseInt(prompt("추측값을 입력하세요")); // 추측값 입력
let attempts = 1; // 추측 횟수
사용자가 추측값을 입력한다.
그리고 몇번 추측했는지 저장할 변수를 생성한다.
while(parseInt(guessNum) !== targetNum) { // 목표값과 추측값이 다르면 계속 실행
if(guessNum === 'a') break; // a를 입력하면 중단
if(guessNum > targetNum){
guessNum = prompt(`Down!! 다시 입력하세요 / 추측 횟수 : ${attempts}`);
} else {
guessNum = prompt(`Up!! 다시 입력하세요 / 추측 횟수 : ${attempts}`);
}
attempts++;
}
만약 최대값이 너무 커서 게임이 끝나지 않을 수 있으니
종료하는 버튼도 하나 만들어주고
추측 값이 목표값보다 크거나 작으면 UP, DOWN 으로 추측범위를 좁혀준다.
그리고 추측 횟수를 증가시킨다.
if(guessNum === 'a'){
alert('게임이 중단되었습니다');
}else{
alert(`${attempts}번 만에 정답을 맞추었습니다!! `);
}
종료 버튼을 이용해 중단 시킨것과
맞춘 경우에 보상이 달라야 하니
조건문을 이용해 다른 결과를 출력하게 한다.
반응형
'해보기' 카테고리의 다른 글
[프로젝트 회고록] 쌍용교육센터 3차 프로젝트 (Next.js, Spring Boot, JPA, MySQL ,AWS ,Docker) (2) | 2024.10.15 |
---|---|
[node.js] 어느 국가의 언어인지 추측하기 (0) | 2023.05.01 |
axios를 이용한 TV 프로그램 검색 (0) | 2023.04.17 |
자바스크립트로 todolist 만들기 (0) | 2023.03.16 |
한 페이지 이동하는 스크롤(원페이지 스크롤) (1) | 2023.02.25 |