数当てゲーム

const num = Math.floor(Math.random() * 6);
const ans = parseInt(window.prompt('0〜5の数字を入力してね!'));
let message;
if(ans === num) {
    message = '当たり!';
} else if(ans < num) {
    message = '残念!もっと大きい';
} else if(ans > num) {
    message = '残念!もっと小さい';
} else {
    message = '0〜5の数字を入力してね。';
}
window.alert(message);

Mathオブジェクトのメソッド

Math.random()
0 以上 1 未満 (0 は含むが、 1 は含まない) の範囲で浮動小数点の擬似乱数を返す。
Math.random関数は、1未満の少数による乱数を生成している。
ここでは整数の部分を0〜5までに絞りたいため、6をかけている。

Math.floor()
与えられた値の小数点以下を切り捨てる。
ここでは、Math.randomで生成した値は少数なので、floorメソッドで整数に変える。

Math.round()
与えられた値の小数点以下を四捨五入する。

Math.ceil()
与えられた値の小数点以下を切り上げる。

parseInt()

parseInt(変換したい文字列)
(パースイント)
文字列を整数に変換する。
parseIntは()内のパラメータを「整数に変換するよう努力する」メソッド。
努力すると言うところがミソで、プロンプトに文章が入力されても数値には変換できない。
プロンプトに入力されたテキストは、それが仮に「3」であっても、数値ではなく「文字」として認識される。
そのため、ここではparseIntメソッドを使ってプロンプトの入力内容を整数に変換する。(データ型を変換する)

この記事が気に入ったらサポートをしてみませんか?