検索

ホームページ  >  に質問  >  本文

javascript - js は 2 次元配列を交差させて乱数を取得します。平均的な乱数を実現するにはどうすればよいですか?

2次元配列がありますが、十字(上下左右に隣接していない)から2つまたは3つの乱数を取得するにはどうすればよいですか?

###配列:### リーリー

こんな感じで書いたのですが、非常に堅苦しい感じがして、得られる数値もばらつきがあり、コードも少し肥大化してしまいました。

リーリー
PHP中文网PHP中文网2709日前1517

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-07-05 11:09:26

    上下左右が隣接していないことが条件です。始点座標を(0,0)とすると、(-1,0)、(0,-1)、(1,0)、(0,1)がマスクされます。これらの点の特性は、x の絶対値と y の絶対値を足したものが 1 に等しいということです。妥当な範囲内でランダムな x および y 座標値を計算し、それぞれの絶対値を加算します。それが 1 に等しくなく、この座標が以前に取得されていない場合は、正当です。

    返事
    0
  • 天蓬老师

    天蓬老师2017-07-05 11:09:26

    これは、ニーズを完全に満たす非常に単純なハックのアイデアです。つまり、[上下左右に隣接しない]という要件を達成するために、意図的に[断面で数字を取る]必要があるのは2つだけです。行数:

    リーリー

    返事
    0
  • キャンセル返事