Javascriptなどで、ランダムな数値を固定して複数箇所で使い回したい
ランダムな数値を組み込み関数で生成し、それを各所で使いまわそうとすると、
各所で異なる数字が出てしまいます。これを固定する方法が知りたいです。
通信を介さず端末のみで、自動更新ができるようJavascriptを使用しています。
自動更新で問題が変わるひき算です。
constやletで代入すれば良いのですが、それだとsetIntervalでランダムの関数を動かした際も固定されてしまい、数値が変わらなくなってしまいます。
該当するソースコード
Javascript
<script>
'use strict';
function $b1(b1) {
return b1 = Math.floor(Math.random() * 9) +1;
};
function $a1(a1) {
return a1 = Math.floor(Math.random() * 9) +1 + $b1();
};
// count 1
document.getElementById('sub1').textContent = $a1() + ' - ' + $b1() + ' =';
// count 2 <=
const sub1 = function(){
document.getElementById('sub1').textContent = $a1() + ' - ' + $b1() + ' =';
};
setInterval(sub1,5000);
</script>
問題は$b1()で、これが$a1()より大きくなると負の数になるので、$a1() > $b1() の関係にしたいのですが(上記の通り、$a1()に$b1()を足します)、$b1()は、①Sub1を書き換える数字、②$a1()に+される数値が異なるようです。
ちなみにconsoleにも出して、実際に計算させましたが、$b1()も$a1()もバラバラの数字が生成されるので全く関係がない解になります。
上述したように通信しない、更新しないで$b1()と$a1()の数字を各所で使いまわせるようにするには、どうするとよいか、お知恵をお借りできないでしょうか。
0