열심히 끝까지

[코딩 과제] - 7/25 강사님 문제 본문

디바이스 융합 자바(Java)기반 풀스택 개발자 양성과정(과제)

[코딩 과제] - 7/25 강사님 문제

노유림 2022. 7. 25. 16:34

예제) 업다운 게임
1~100중에서 정답을 입력하세요!
     -> prompt()
정답은 랜덤하게 설정
     -> Math를 사용하여 설정
up! down! 총 N번만에 정답을 맞추셨습니다! :D

 

내 코드--------------------------------------

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>예제 UPDOWN 게임</title>

<style type="text/css">
h {
	width: 100px;
	height: 100px;
	text-align: center;
	background: skyblue;
}
</style>

</head>
<body>

	<script type="text/javascript">
		var ans = Math.floor(Math.random() * 100) + 1;
		// Math.floor쓰는 이유 : 소수점 띄고 정수만 남기기 위해!
		var cnt = 0;
		var min=1;
		var max=100;
		console.log('지정 숫자 : ' + ans);
		while (true) {
			var input = prompt(min+'~'+max+' 의 답을 작성하세요.');
			if (input == ans) {
				console.log('정답입니다! 총 ' + cnt + '번만에 맞추셨습니다.');
				var msg='정답입니다! 총 '+cnt+'번만에 맞추셨습니다.';
				break;
			} else if(input < ans){
					console.log(input + ' UP!');
					alert('UP!');
					min=Number(input)+1;
					cnt++;
			} else if(input > ans){
					console.log(input + ' DOWN!');
					alert('DOWN!');
					max=Number(input)-1;
					cnt++;
			}
			else{
				alert(min+'~'+max+' 사이 숫자만 입력!');
			}
			
		}
		/*
		function gameStart(){
			var ans = Math.floor(Math.random() * 100) + 1;
			// Math.floor쓰는 이유 : 소수점 띄고 정수만 남기기 위해!
			console.log('지정 숫자 : ' + ans);
		}
		function game(input){
			var num = this.input;
			if (num == ans) {
				console.log('정답입니다! 총 ' + cnt + '번만에 맞추셨습니다.');
				break;
			} else {
				if (num < ans) {
					console.log(input + ' UP!');
					cnt++;
					continue;
				} else {
					console.log(input + ' DOWN!');
					cnt++;
					continue;
				}
			}
		}
		
		*/
		
	</script>

	<h1>UPDOWN 게임</h1>


</body>

</html>

 

 

강사님 코드--------------------------------

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>예제풀이</title>
</head>
<body>

<script type="text/javascript">
	var ans = Math.floor(Math.random()*100)+1;
	var cnt = 0;
	var L=1;
	var H=100;
	while(true){
		var input=prompt(L+'~'+H+' 사이의 숫자를 입력해주세요.');
		cnt++;
		if(input==ans){
			var msg='총 '+cnt+'번만에 정답을 맞추셨습니다.';
			document.write(msg);
			break;
		}
		else if(input>ans){
			alert('DOWN');
			H=Number(input)-1;//자동형변환
		}		
		else{
			alert('UP');
			L=Number(input)+1; // 사용자가 prompt()를 통해 입력한 값은 [문자열]!
		}
	}
	
</script>

</body>
</html>