[HTML5&JavaScript] Math

고동이의 IT·2021년 11월 18일
0

HTML5&JavaScript

목록 보기
11/15
post-thumbnail

Math 메서드

원하는 범위의 랜덤값 만들기

Math.floor(Math.random() * (최대값 – 최소값+1) +최소값);
Math.round(Math.random() * (최대값 – 최소값) + 최소값);

예) 1부터 10까지의 랜덤수 만들기

var ranNum = Math.floor(Math.random() * (10 – 1 + 1) + 1);
document.write(ranNum);

Math.random() *10 ->  0~ 9
Math.random() *10+1 - > 1~ 10 
Math.random() *20 + 11 -> 11 ~30

Math 객체 문제

  • 1 ~ 10 사이의 난수를 발생 후 사용자가 이 값을 맞추는 프로그램을 작성하시오.
  • 가위 바위 보 게임을 할 수 있는 프로그램을 작성하시오. (단, 컴퓨터는 랜덤을 이용하고, 사용자는 prompt로 입력 받아서 처리)
  • 로또 번호를 생성하는 프로그램을 작성하시오.(1번 ~ 45번 중 6개의 번호를 추첨)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="../css/mystyle.css" type="text/css">
<script type="text/javascript">
rand = parseInt(Math.random()*100+1);
count = 0;
function proc1(){
	count++;
	
	str = "";
	// 입력한 값 가져오기 - value
	invalue = document.querySelector('input').value;
	
	if(rand > invalue){
		str += "더 크게 입력하세요";
	}else if(rand == invalue){
		str += "정답입니다. "+count+"번 만에 맞췄습니다.";
	}else{
		str += "더 작게 입력하세요";
	}
	
	document.getElementById('result1').innerHTML = str;
	
}

function proc2(){
	
	arr = ["가위","바위","보"];
	crand = parseInt(Math.random()*arr.length);
	com = arr[crand];
	user = prompt("가위바위보 입력");
	
	str = "컴퓨터: "+com+"<br>";
	str += "사용자: "+user+"<br>";
	
	
	if(com == user){
		str += "결과: 비김"
	}else if(user == "가위" && com=="보" || user =="바위" && com=="가위" || user =="보" && com == "바위"){
		str += "결과: 사용자 승"
	}else{
		str += "결과: 컴퓨터 승"
	}
	
	document.getElementById('result2').innerHTML= str;
}

function proc3(){
	// 배열 선언
	lotto = new Array();
	
	while(true){
		
		// 랜덤발생
		num = parseInt(Math.random()*45+1);
		// 배열에 저장 유무를 비교, 배열에 없으면 랜덤수를 저장
		if(lotto.indexOf(num)==-1){
			lotto.push(num);
			}
		// 계속할지 판단 - 배열의 갯수
		if(lotto.length==6){
			break;
		}
	}
	
	// 배열을 출력
	
	document.getElementById('result3').innerHTML = lotto;
}
</script>
</head>
<body>

	<div class="box">
		1~100사이의 랜덤수를 발생한다. 발생된 랜덤수를 입력하여 맞춘다.<br>
		result1에는 크다 작다 힌트와 결과를 출력한다.
		
		<br>
		<input type = "text">
		<button type="button" onclick="proc1()">확인</button>
		<div id="result1"></div>
	</div>
	
	<div class="box">
		가위 바위 보 게임을 할 수 있는 프로그램을 작성하시오. <br>
		(단, 컴퓨터는 랜덤을 이용하고, 사용자는 prompt로 입력 받아서 처리)<br>
		 가위바위보는 배열로 작성한다. arr = ["가위","바위","보"]<br>
		 
		<br>
		<button type="button" onclick="proc2()">확인</button>
		<div id="result2"></div>
	</div>
	
	<div class="box">
		로또 번호를 생성하는 프로그램을 작성하시오.(1번 ~ 45번 중 6개의 번호를 추첨)
		 
		<br>
		<button type="button" onclick="proc3()">확인</button>
		<div id="result3"></div>
	</div>
	
</body>
</html>
profile
삐약..뺙뺙

0개의 댓글