본문 바로가기
Java Script/JS basic

JS] 랜덤 숫자/love calculator/ dice game

by CodeMia 2021. 8. 9.

Math.random();

Random number generation

16 Decimal Place.

소수점 16자리까지 나옴

 

0~0.9999999999999999 사이에서 랜덤 숫자 나옴 

ex) 0.3647382678956781

 

var n = Math.random( );    //0.3647382678956781

n = n * 6;     //2.188429607374069

n = Math.floor(n); //2

 

 


 

주사위 던지기 만들기

var n = Math.random();
n = n*6;
n = Math.floor(n)+1; // 0~5까지만 나와서 1 더해줌
console.log(n);

 

 


 

pseudo random number

컴퓨터가 완전 random number는 아니고  pseudo random number인 이유는 

컴퓨터는 기본적으로 스위치로 되어있다. 수억의 스위치로 이뤄진 엄청 큰 박스이다. 

스위치가 on 또는 off 되는 것은 0, 1로 나타낸다.

컴퓨터가 어려워하는 부분이 랜덤이다. 

컴퓨터인 기계는 예측가능하고 반복적인 일에 특화되어 있기 때문이다.

 

컴퓨터가 긴 랜덤 숫자를 저장하고 있는 것도 한계가 있다. 

자체로 만들어야 하는데 Neumann은 알고리즘을 만들었다. 

시간이나 노이즈에서 캐치해서 컴퓨터가 예를 들어 

seed 넘버 3자리는 만들고 이 후에 같은 숫자를 서로 곱해서 중간에 나온 3자리를 뒤에 붙여준다.

뒤에 붙여준 3자리 숫자를 또 곱해고, 중간 숫자를 빼서 뒤에 붙여주는 방식으로 컴퓨터는 pseudo random number를 만든다.

 

 

더 자세한 사항은 유튜브에서 

https://youtu.be/GtOt7EBNEwQ

 

 


 

 

Love Calculator 만들기 

var nameA = prompt("What's your name?");
var nameB = prompt("What's your crash's name?");

var loveScore = Math.random() * 100;
loveScore = Math.round(loveScore);
alert(nameA + " ❤ " + nameB + ".  Your love score is "+ loveScore +" %");

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글