Page 17 -
P. 17
5.2
무작위로 숫자 뽑기
간단하게 그려본 순서도는 앞에서와 같지만, 각각의 절차를 구현할 때는 조금 더 깊게 생각해 5장
야 합니다. 프로그램을 시작한 후 숫자 네 개를 뽑는데, 숫자를 뽑는 절차는 사실 여러 절차로
구성되어 있습니다. 먼저 네 개의 숫자를 저장할 자리를 마련해야 하고, 무작위로 숫자를 하나
반복문 사용하기_숫자야구 게임
씩 뽑아 저장하는 절차를 네 번 반복해야 합니다. 여기서 중요한 것은 무작위로 뽑지만, 중복
되지 않게 뽑아야 한다는 점입니다.
무작위 숫자를 만드는 함수는 Math.random()입니다. 이 함수는 0 이상 1 미만의 수를 무작
위로 생성합니다. 숫자야구 게임에서는 1에서 9까지의 숫자가 필요합니다. 따라서 Math.
random()에 9를 곱한 후 1을 더하면 됩니다. 그러면 1 이상 10 미만의 수가 만들어지는데 이
수는 자연수가 아니라서 아직 쓸 수 없습니다. 숫자를 자연수로 만들려면 내림, 올림, 반올림
을 해야 합니다. 이 경우에는 내림합니다. 결과로 1부터 9까지의 자연수가 나옵니다. 자바스크
립트에서 숫자의 내림은 Math.floor()로 할 수 있습니다. 참고로 올림은 Math.ceil(), 반올림
은 Math.round()입니다.
표 5-1 무작위 숫자를 뽑는 과정
Math.random() 0 <= x < 1
Math.random() * 9 0 <= x < 9
Math.random() * 9 + 1 1 <= x < 10
Math.floor(Math.random() * 9 + 1) x = {1, 2, 3, 4, 5, 6, 7, 8, 9}
243