BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•

BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•

เด—เต†เดฏเดฟเด‚ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เตปเตเดฑเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏเดฟ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต: เดเด•เตเดฏเดคเตเดคเดฟเดจเต เด‡เดคเดฟเดจเต เด…เดคเดฟเตปเตเดฑเต‡เดคเดพเดฏ เดฑเดพเตปเดกเด‚ เด‰เดฃเตเดŸเต, เด…เดคเดฟเดจเต เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเดฏเดฟ System.Random เด‰เดฃเตเดŸเต. เด’เดฐเต เด•เดพเดฒเดคเตเดคเต, เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเดฟเตฝ, เดฐเดฃเตเดŸเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจ เดงเดพเดฐเดฃ เดŽเดจเดฟเด•เตเด•เต เดฒเดญเดฟเดšเตเดšเต (เด…เดตเดฏเตเด•เตเด•เต เด‡เดฐเดŸเตเดŸ เดตเดฟเดคเดฐเดฃเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚).

เดชเดฟเดจเตเดจเต† เด…เดตเตผ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟเดฒเตเดฒ - เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฎเดพเดฑเตเดฑเด‚ เดฎเดคเดฟเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต.เดฑเดพเตปเดกเด‚ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดถเตเดจเด™เตเด™เดณเตเด‚ เดถเดฐเดฟเดฏเดพเด•เตเด•เดฟ. เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพ เด…เดคเต เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดจเตเด‚ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เด—เดตเต‡เดทเดฃเด‚ เดจเดŸเดคเตเดคเดพเดจเตเด‚ เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต: "เดชเด•เตเดทเดชเดพเดคเดชเดฐเดฎเดพเดฏ" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฐเดตเดšเดฟเด•เตเด•เดพเดตเตเดจเตเดจ RNG-เด•เตพ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต, เดเดคเดพเดฃเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเต. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด…เดตเดฐเตเดŸเต† "เดธเดคเตเดฏเดธเดจเตเดงเดค"เดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดชเดฐเดธเตเดชเดฐเดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฏ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เตพ เดžเดพเตป เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดคเดตเดฃ เด•เต‡เดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต - เดฏเดฅเดพเตผเดคเตเดฅ เดซเดฒเด™เตเด™เตพ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดคเดตเดฏเตเดฎเดพเดฏเดฟ เดŽเด™เตเด™เดจเต† เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚.

เดธเด‚เด•เตเดทเดฟเดชเตเดค เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เดชเดฐเดฟเดชเดพเดŸเดฟ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ RNG เด†เดฃเต

เดฑเดพเตปเดกเด‚ เดจเดฎเตเดชเตผ เดœเดจเดฑเต‡เดฑเตเดฑเดฑเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดŸเตป เดคเดจเตเดจเต† "เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต" เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚.

เดฑเดพเตปเดกเด‚ เดจเดฎเตเดชเดฑเตเด•เตพ (RN) เดŽเตปเดŸเตเดฐเต‹เดชเตเดชเดฟเดฏเตเดŸเต† เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏ เดšเดฟเดฒ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ (เดšเต‹เดŸเตเดŸเดฟเด•เต) เดชเตเดฐเด•เตเดฐเดฟเดฏ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟเดฏเดพเดฃเต. เด…เดคเดพเดฏเดคเต, เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด—เดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐ เดจเดฟเดฏเดฎเด™เตเด™เดณเดพเตฝ เด˜เดŸเด•เด™เตเด™เตพ เดชเดฐเดธเตเดชเดฐเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟเดฏเดพเดฃเดฟเดคเต - เด…เดตเดฏเตเด•เตเด•เต เด•เดพเดฐเดฃ-เดชเตเดฐเดญเดพเดต เดฌเดจเตเดงเดฎเดฟเดฒเตเดฒ.

เดฑเดพเตปเดกเด‚ เดจเดฎเตเดชเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต† เดฑเดพเตปเดกเด‚ เดจเดฎเตเดชเตผ เดœเดจเดฑเต‡เดฑเตเดฑเตผ (RNG) เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดฒเตเดฒเดพเด‚ เดชเตเดฐเดพเดฅเดฎเดฟเด•เดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดžเด™เตเด™เตพ เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฐเดฟเดถเต€เดฒเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด™เตเด™เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดถเตเดฐเต‡เดฃเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดธเต‹เดซเตเดฑเตเดฑเตเดตเต†เดฏเตผ เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เด…เดคเตเดฐ เดฒเดณเดฟเดคเดฎเดฒเตเดฒ.

เด†เดงเตเดจเดฟเด• เด‰เดชเดญเต‹เด•เตเดคเตƒ เด‡เดฒเด•เตโ€ŒเดŸเตเดฐเต‹เดฃเดฟเด•เตโ€Œเดธเดฟเตฝ เด‡เดคเต‡ เด•เตเดดเดชเตเดชเด‚ เด‡เดฒเตเดฒเดพเดคเตเดคเดคเดพเดฃเต เด•เดพเดฐเดฃเด‚. เด‡เดคเต เด•เต‚เดŸเดพเดคเต†, เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดธเด‚เด–เตเดฏเด•เตพ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเด•เตเดจเตเดจเดคเต เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด…เดตเดฏเตเดŸเต† เดœเดจเดฑเต‡เดฑเตเดฑเตผ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸ เด†เตผเด—เตเดฏเตเดฎเต†เตปเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต. เดเดŸเดฟ เดฎเต‡เด–เดฒเดฏเดฟเดฒเต† เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเดคเตเดฏเต‡เด•เดคเด•เตพเด•เตเด•เต, เด‡เดคเตŠเดฐเต เด—เตเดฐเตเดคเดฐเดฎเดพเดฏ เดชเตเดฐเดถเตเดจเดฎเดพเดฃเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต‹เด—เตเดฐเดซเดฟ), เดŽเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเตเดณเตเดณเดตเตผเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเตเดตเต€เด•เดพเดฐเตเดฏเดฎเดพเดฏ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเตเดฃเตเดŸเต.

เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดธเด‚เด–เตเดฏเด•เดณเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚, เด…เดตเดฏเต‹เดŸเต เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เด…เดŸเตเดคเตเดคเต เดตเดฐเตเดจเตเดจ เด’เดฐเต เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เดŽเดดเตเดคเต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต - เด•เดชเดŸ-เดฑเดพเตปเดกเด‚ เดจเดฎเตเดชเดฑเตเด•เตพ (PRN) เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดต. เดˆ เด•เต‡เดธเดฟเดฒเต† เด…เตฝเด—เต‹เดฐเดฟเดคเดคเตเดคเต† เดธเตเดฏเต‚เดกเต‹เดฑเดพเตปเดกเด‚ เดจเดฎเตเดชเตผ เดœเดจเดฑเต‡เดฑเตเดฑเตผ (PRNG) เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต PRNG เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดฐเดตเดงเดฟ เด“เดชเตเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:

  1. เดชเตเดฐเดพเดฅเดฎเดฟเด• เดธเดฎเดพเดฐเด‚เดญเดคเตเดคเดฟเตปเตเดฑเต† เด†เดตเดถเตเดฏเด•เดค.

    PRNG-เดจเต เดŽเตปเดŸเตเดฐเต‹เดชเตเดชเดฟเดฏเตเดŸเต† เด‰เดฑเดตเดฟเดŸเดฎเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด…เดคเดฟเดจเต เด’เดฐเต เดชเตเดฐเดพเดฐเด‚เดญ เด…เดตเดธเตเดฅ เดจเตฝเด•เดฃเด‚. เด‡เดคเต เด’เดฐเต เดธเด‚เด–เตเดฏเดฏเดพเดฏเดฟ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเต†เด•เตเดฑเตเดฑเตผ) เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเต† เด’เดฐเต เดตเดฟเดคเตเดคเต (เดฑเดพเตปเดกเด‚ เดธเต€เดกเต) เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต. เดชเดฒเดชเตเดชเต‹เดดเตเด‚, เดชเตเดฐเตŠเดธเดธเตผ เด•เตเดฒเต‹เด•เตเด•เต เด•เต—เดฃเตเดŸเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดฎเดฏเดคเตเดคเดฟเตปเตเดฑเต† เดธเด‚เด–เตเดฏเดพ เดคเดคเตเดคเตเดฒเตเดฏเดฎเดพเดฏ เด’เดฐเต เดตเดฟเดคเตเดคเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

  2. เดธเต€เด•เตเดตเตปเดธเต เดชเตเดจเดฐเตเตฝเดชเดพเดฆเดจเด•เตเดทเดฎเดค.

    PRNG เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดฟเตผเดฃเตเดฃเดพเดฏเด•เดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดชเตเดฐเดพเดฐเด‚เดญ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดตเดฟเดคเตเดคเต เดญเดพเดตเดฟเดฏเดฟเดฒเต† เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เดฎเตเดดเตเดตเตป เดถเตเดฐเต‡เดฃเดฟเดฏเตเด‚ เด…เดฆเตเดตเดฟเดคเต€เดฏเดฎเดพเดฏเดฟ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เด’เดฐเต‡ เดตเดฟเดคเตเดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต (เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเดฎเดฏเด™เตเด™เดณเดฟเตฝ, เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เดณเดฟเตฝ, เดตเตเดฏเดคเตเดฏเดธเตเดค เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ) เด†เดฐเด‚เดญเดฟเดšเตเดš เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• PRNG เด’เดฐเต‡ เด•เตเดฐเดฎเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚ เดŽเดจเตเดจเดพเดฃเต.

PRNG-เดฏเตเดŸเต† เดธเตเดตเดญเดพเดตเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เดฌเดฌเดฟเดฒเดฟเดฑเตเดฑเดฟ เดกเดฟเดธเตโ€ŒเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดทเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เด…เดฑเดฟเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เด…เดคเต เดเดคเต เดธเด‚เด–เตเดฏเด•เดณเดพเดฃเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•, เดเดคเต เดชเตเดฐเต‹เดฌเดฌเดฟเดฒเดฟเดฑเตเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เดฎเดฟเด•เตเด•เดชเตเดชเต‹เดดเตเด‚ เด‡เดคเต เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเดฟเดคเดฐเดฃเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดเด•เต€เด•เตƒเดค เดตเดฟเดคเดฐเดฃเดฎเดพเดฃเต.
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
เดธเดพเดงเดพเดฐเดฃ เดตเดฟเดคเดฐเดฃเด‚ (เด‡เดŸเดคเต), เดฏเต‚เดฃเดฟเดซเต‹เด‚ เดตเดฟเดคเดฐเดฃเด‚ (เดตเดฒเดคเต)

เดจเดฎเตเด•เตเด•เต 24 เดตเดถเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เดซเต†เดฏเตผ เดกเตˆ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚. เดจเดฟเด™เตเด™เตพ เด…เดคเต เดŸเต‹เดธเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต†เดฃเตเดฃเด‚ เดฒเดญเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค 1/24 เดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ (เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเด‚เด–เตเดฏ เดฒเดญเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดคเดฏเตเด•เตเด•เต เดคเตเดฒเตเดฏเดฎเดพเดฃเต). เดจเดฟเด™เตเด™เตพ เดงเดพเดฐเดพเดณเด‚ เดŽเดฑเดฟเดฏเตเด•เดฏเตเด‚ เดซเดฒเด™เตเด™เตพ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดŽเดฒเตเดฒเดพ เด…เดฐเดฟเด•เตเด•เดณเตเด‚ เดเด•เดฆเต‡เดถเด‚ เด’เดฐเต‡ เด†เดตเตƒเดคเตเดคเดฟเดฏเดฟเตฝ เดตเต€เดดเตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด‚. เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ, เดˆ เดกเตˆ เด’เดฐเต เดเด•เต€เด•เตƒเดค เดตเดฟเดคเดฐเดฃเดฎเตเดณเตเดณ เด’เดฐเต RNG เด†เดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเด‚.

เดˆ 10 เดกเตˆเดธเต เด’เดฐเต‡เดธเดฎเดฏเด‚ เดŽเดฑเดฟเดžเตเดžเต เดฎเตŠเดคเตเดคเด‚ เดชเต‹เดฏเดฟเตปเตเดฑเตเด•เตพ เด•เดฃเด•เตเด•เดพเด•เตเด•เดฟเดฏเดพเดฒเต‹? เด…เดคเดฟเดจเต เดเด•เต€เด•เตƒเดคเดค เดชเดพเดฒเดฟเด•เตเด•เตเดฎเต‹? เด‡เดฒเตเดฒ. เดฎเดฟเด•เตเด•เดชเตเดชเต‹เดดเตเด‚, เดคเตเด• 125 เดชเต‹เดฏเดฟเตปเตเดฑเดฟเดจเต เด…เดŸเตเดคเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด…เดคเดพเดฏเดคเต เดšเดฟเดฒ เดถเดฐเดพเดถเดฐเดฟ เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เด’เดฐเต เดŽเดฑเดฟเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดญเดพเดตเดฟ เดซเดฒเด‚ เดเด•เดฆเต‡เดถเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเด‚.

เด•เดพเดฐเดฃเด‚, เดถเดฐเดพเดถเดฐเดฟ เดธเตเด•เต‹เตผ เดจเต‡เดŸเตเดจเตเดจเดคเดฟเดจเต เดเดฑเตเดฑเดตเตเด‚ เด•เต‚เดŸเตเดคเตฝ เด•เต‹เดฎเตเดชเดฟเดจเต‡เดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต. เด…เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เด•เดฒเต†, เด•เตเดฑเดšเตเดšเต เด•เต‹เดฎเตเดชเดฟเดจเต‡เดทเดจเตเด•เตพ - เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เดจเดทเตเดŸเดคเตเดคเดฟเตปเตเดฑเต† เดธเดพเดงเตเดฏเดค เด•เตเดฑเดตเดพเดฃเต. เดˆ เดกเดพเดฑเตเดฑ เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดฎเดฃเดฟเดฏเตเดŸเต† เด†เด•เตƒเดคเดฟเดฏเดฟเตฝ เด…เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณเดคเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, เด•เตเดฑเดšเตเดšเต เดตเดฒเดฟเดšเตเดšเตเดจเต€เดŸเตเดŸเดฟเด•เตเด•เตŠเดฃเตเดŸเต, 10 เดกเตˆเดธเดฟเตปเตเดฑเต† เด’เดฐเต เดธเด‚เดตเดฟเดงเดพเดจเดคเตเดคเต† เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเดฟเดคเดฐเดฃเดฎเตเดณเตเดณ RNG เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚.

เดฎเดฑเตเดฑเตŠเดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚, เดˆ เดธเดฎเดฏเด‚ เด’เดฐเต เดตเดฟเดฎเดพเดจเดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ - เด’เดฐเต เดฒเด•เตเดทเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดตเต†เดŸเดฟเดตเดฏเตเด•เตเด•เตเด•. เด—เตเดฐเดพเดซเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดœเต‹เดŸเดฟ เดธเด‚เด–เตเดฏเด•เตพ (x, y) เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต RNG เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ เดทเต‚เดŸเตเดŸเตผ.
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
เด‡เดŸเดคเตเดตเดถเดคเตเดคเตเดณเตเดณ เด“เดชเตเดทเตป เดฏเดฅเดพเตผเดคเตเดฅ เดœเต€เดตเดฟเดคเดคเตเดคเต‹เดŸเต เด…เดŸเตเดคเตเดคเดพเดฃเต†เดจเตเดจเต เดธเดฎเตเดฎเดคเดฟเด•เตเด•เตเด• - เด‡เดคเต เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเดฟเดคเดฐเดฃเดฎเตเดณเตเดณ เด’เดฐเต RNG เด†เดฃเต. เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดฐเตเดฃเตเดŸ เด†เด•เดพเดถเดคเตเดคเต เดจเด•เตเดทเดคเตเดฐเด™เตเด™เตพ เดตเดฟเดคเดฑเดฃเดฎเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เดฏเต‚เดฃเดฟเดซเต‹เด‚ เดตเดฟเดคเดฐเดฃเดคเตเดคเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ RNG เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฒเดญเดฟเดšเตเดš เดถเดฐเดฟเดฏเดพเดฏ เด“เดชเตเดทเตป เด•เต‚เดŸเตเดคเตฝ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต. เดชเตŠเดคเตเดตเต‡, เดšเตเดฎเดคเดฒเดฏเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต เด’เดฐเต เดœเดจเดฑเต‡เดฑเตเดฑเตผ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•.

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เดชเดฟเดŽเตปเดœเดฟ เดธเต€เด•เตเดตเตปเดธเดฟเตปเดฑเต† เดŽเตปเดŸเตเดฐเต‹เดชเตเดชเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เดพเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดคเตเดชเต‹เดฒเต† เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟ เด‰เดฃเตเดŸเต:

89, 93, 33, 32, 82, 21, 4, 42, 11, 8, 60, 95, 53, 30, 42, 19, 34, 35, 62, 23, 44, 38, 74, 36, 52 18, 58, 79, 65, 45, 99, 90, 82, 20, 41, 13, 88, 76, 82, 24, 5, 54, 72, 19, 80, 2, 74, 36, 71, 9, ...

เด’เดฑเตเดฑเดจเต‹เดŸเตเดŸเดคเตเดคเดฟเตฝ เดˆ เดธเด‚เด–เตเดฏเด•เตพ เดŽเดคเตเดฐเดฎเดพเดคเตเดฐเด‚ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฃเต? เดตเดฟเดคเดฐเดฃเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต เดคเตเดŸเด™เตเด™เดพเด‚.
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
เด‡เดคเต เดฏเต‚เดฃเดฟเดซเต‹เดฎเดฟเดจเต เด…เดŸเตเดคเตเดคเดพเดฏเดฟ เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เดฐเดฃเตเดŸเต เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟ เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดตเดฏเต† เด’เดฐเต เดตเดฟเดฎเดพเดจเดคเตเดคเดฟเดฒเต† เด•เต‹เตผเดกเดฟเดจเต‡เดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเดพเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดฒเดญเดฟเด•เตเด•เตเด‚:
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚. เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเต† เดกเดพเดฑเตเดฑ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฐเต€เดคเดฟเดฏเดฟเตฝ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ (เด…เดคเดพเดฏเดคเต, เด‡เดคเดฟเดจเต เด•เตเดฑเดžเตเดž เดŽเตปเดŸเตเดฐเต‹เดชเตเดชเดฟ เด‰เดฃเตเดŸเต), เด‡เดคเต "เดชเด•เตเดทเดชเดพเดคเดคเตเดคเดฟเดจเต" เด•เดพเดฐเดฃเดฎเดพเด•เตเด‚. เด•เตเดฑเดžเตเดžเดคเต, เด…เดคเตเดคเดฐเดฎเตŠเดฐเต PRNG เด’เดฐเต เดตเดฟเดฎเดพเดจเดคเตเดคเดฟเตฝ เด•เต‹เตผเดกเดฟเดจเต‡เดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดตเดณเดฐเต† เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒ.

เดฎเดฑเตเดฑเตŠเดฐเต เด•เตเดฐเดฎเด‚:

42, 72, 17, 0, 30, 0, 15, 9, 47, 19, 35, 86, 40, 54, 97, 42, 69, 19, 20, 88, 4, 3, 67, 27, 42 56, 17, 14, 20, 40, 80, 97, 1, 31, 69, 13, 88, 89, 76, 9, 4, 85, 17, 88, 70, 10, 42, 98, 96, 53, ...

เดตเดฟเดฎเดพเดจเดคเตเดคเดฟเตฝ เดชเต‹เดฒเตเด‚ เด‡เดตเดฟเดŸเต† เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต:
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
เดจเดฎเตเด•เตเด•เต เดตเต‹เดณเดฟเดฏเด‚ เดจเต‹เด•เตเด•เดพเด‚ (เด’เดฐเต เดธเดฎเดฏเด‚ เดฎเต‚เดจเตเดจเต เด…เด•เตเด•เด™เตเด™เตพ เดตเดพเดฏเดฟเด•เตเด•เตเด•):
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
เดตเต€เดฃเตเดŸเตเด‚ เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ. เดจเดพเดฒเต เดฎเดพเดจเด™เตเด™เดณเดฟเตฝ เด’เดฐเต เดตเดฟเดทเตเดตเดฒเตˆเดธเต‡เดทเตป เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด‡เดจเดฟ เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เดˆ เด…เดณเดตเดฟเดฒเตเด‚ เดตเดฒเดฟเดฏเดตเดฏเดฟเดฒเตเด‚ เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเด‚.

เด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเต‹เด—เตเดฐเดพเดซเดฟเดฏเดฟเตฝ, PRNG-เด•เดณเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เด•เตผเดถเดจเดฎเดพเดฏ เด†เดตเดถเตเดฏเด•เดคเด•เตพ เด…เดŸเดฟเดšเตเดšเต‡เตฝเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดธเดพเดนเดšเดฐเตเดฏเด‚ เดคเดฟเด•เดšเตเดšเตเด‚ เด…เดธเตเดตเต€เด•เดพเดฐเตเดฏเดฎเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, เด…เดตเดฏเตเดŸเต† เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐเด‚ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดชเตเดฐเดคเตเดฏเต‡เด• เด…เตฝเด—เต‹เดฐเดฟเดคเด™เตเด™เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เด…เดคเต เดžเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เดธเตเดชเตผเดถเดฟเด•เตเด•เดฟเดฒเตเดฒ. เดตเดฟเดทเดฏเด‚ เดตเดฟเดชเตเดฒเดตเตเด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเต เด…เตผเดนเดตเตเดฎเดพเดฃเต.

เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต

เดžเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฑเดชเตเดชเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚? เดเดคเต เดŸเตเดฐเดพเดซเดฟเด•เต เดฒเตˆเดฑเตเดฑเดพเดฃเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฑเต‹เดกเต เดฎเตเดฑเดฟเดšเตเดšเตเด•เดŸเด•เตเด•เตเดจเตเดจเดคเต เดฎเต‚เดฒเตเดฏเดตเดคเตเดคเดพเดฃเต‹? เด…เดจเดจเตเดคเดฐเดซเดฒเด™เตเด™เตพ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚.

เดฏเตเดฃเดฟเดฑเตเดฑเดฟเดฏเดฟเดฒเต† เด•เตเดชเตเดฐเดธเดฟเดฆเตเดงเดฎเดพเดฏ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เด•เดพเดฐเตเดฏเดคเตเดคเดฟเดจเตเด‚ เด‡เดคเต เดฌเดพเดงเด•เดฎเดพเดฃเต. เดกเต‹เด•เตเดฏเตเดฎเต†เตปเตเดฑเต‡เดทเตป เด†เดตเดถเตเดฏเดฎเดพเดฏ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เดตเต†เดณเดฟเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดพเตฝ เดจเดฒเตเดฒเดคเดพเดฃเต, เดชเด•เตเดทเต‡ เดฒเต‡เด–เดจเดคเตเดคเดฟเตปเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดš เด•เดฅ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดชเตเดฐเดคเตเดฏเต‡เด•เดคเด•เดณเตเดŸเต† เด…เดญเดพเดตเด‚ เดฎเต‚เดฒเดฎเดพเดฃเต.

เด‰เดชเด•เดฐเดฃเด‚ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เดชเตŠเดคเตเดตเต‡, เดตเดฟเดคเดฐเดฃเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดจเตเดคเดฟเดฎเดฎเดพเดฏเดฟ เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป เด’เดฐเต เดชเดฐเต€เด•เตเดทเดฃเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดŸเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เดธเดฎเดฏเด‚ เด…เดคเดฟเด•เตเดฐเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดชเดฐเดฟเดนเดพเดฐเด‚ เดฒเดณเดฟเดคเดตเตเด‚ เดซเดฒเดชเตเดฐเดฆเดตเตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต - เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเด•, เดตเดธเตเดคเตเดจเดฟเดทเตเด เดฎเดพเดฏ เดกเดพเดฑเตเดฑ เดจเต‡เดŸเตเด•, เดซเดฒเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด•.

เดชเด เดจ เดตเดฟเดทเดฏเด‚

เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเดฏเดฟเตฝ เด•เตเดฐเดฎเดฐเดนเดฟเดค เดธเด‚เด–เตเดฏเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเตผเด—เด™เตเด™เดณเตเดฃเตเดŸเต - เดžเด™เตเด™เตพ เด…เดžเตเดšเต เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเต.

  1. System.Random.Next(). เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดชเดฐเดฟเดงเดฟเดฏเดฟเตฝ เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.
  2. System.Random.NextDouble(). [0 เดฎเตเดคเตฝ เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเตฝ เด‡เดฐเดŸเตเดŸ เดชเตเดฐเดฟเดธเดฟเดทเตป เดจเดฎเตเดชเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต; 1).
  3. UnityEngine.Random.Range(). เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดชเดฐเดฟเดงเดฟเดฏเดฟเตฝ เด’เดฑเตเดฑ เดชเตเดฐเดฟเดธเดฟเดทเตป เดจเดฎเตเดชเดฑเตเด•เตพ (เดซเตเดฒเต‹เดŸเตเดŸเตเด•เตพ) เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.
  4. UnityEngine.Random.value. [0 เดฎเตเดคเตฝ เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเตฝ เด’เดฑเตเดฑ เดชเตเดฐเดฟเดธเดฟเดทเตป เดจเดฎเตเดชเดฑเตเด•เตพ (เดซเตเดฒเต‹เดŸเตเดŸเตเด•เตพ) เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต; 1).
  5. Unity.Mathematics.Random.NextFloat(). เดชเตเดคเดฟเดฏ Unity.Mathematics เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดญเดพเด—เด‚. เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดชเดฐเดฟเดงเดฟเดฏเดฟเตฝ เด’เดฑเตเดฑ เดชเตเดฐเดฟเดธเดฟเดทเตป เดจเดฎเตเดชเดฑเตเด•เตพ (เดซเตเดฒเต‹เดŸเตเดŸเตเด•เตพ) เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.

UnityEngine.Random.value (เดตเดฟเดคเดฐเดฃเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚ UnityEngine.Random.Range() เดฏเต‚เดฃเดฟเดซเต‹เด‚ เดŽเดจเตเดจเดฟเดตเดฏเตเดฎเดพเดฏเดฟ เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณเดคเดฟเดจเดพเตฝ, Unity.Mathematics.Random เดŽเดจเตเดจเดฟเดตเดฏเตŠเดดเดฟเด•เต†, เดกเต‹เด•เตเดฏเตเดฎเต†เตปเตเดฑเต‡เดทเดจเดฟเตฝ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพเดฏเดฟเดŸเดคเตเดคเตเด‚ เด’เดฐเต เดเด•เต€เด•เตƒเดค เดตเดฟเดคเดฐเดฃเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. .NextFloat() (เดŽเดตเดฟเดŸเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเด‚ xorshift เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เด†เดฃเต, เด…เดคเดพเดฏเดคเต เดจเดฟเด™เตเด™เตพ เดตเต€เดฃเตเดŸเตเด‚ เด’เดฐเต เดเด•เต€เด•เตƒเดค เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต).

เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ, เดกเต‹เด•เตเดฏเตเดฎเต†เตปเตเดฑเต‡เดทเดจเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณเดคเตเดชเต‹เดฒเต† เดชเตเดฐเดคเต€เด•เตเดทเดฟเดšเตเดš เดซเดฒเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเดšเตเดšเต.

เดฐเต€เดคเดฟเดถเดพเดธเตเดคเตเดฐเด‚

เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดš เด“เดฐเต‹ เดฐเต€เดคเดฟเดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตเดฐเดฎเดฐเดนเดฟเดค เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เด•เตเดฐเดฎเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เดซเดฒเด™เตเด™เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดžเด™เตเด™เตพ เดŽเดดเตเดคเดฟ.

เด“เดฐเต‹ เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต†เดฏเตเด‚ เดฆเตˆเตผเด˜เตเดฏเด‚ 100 เดธเด‚เด–เตเดฏเด•เดณเดพเดฃเต.
เด•เตเดฐเดฎเดฐเดนเดฟเดค เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เดถเตเดฐเต‡เดฃเดฟ [0, 100) เด†เดฃเต.

เดจเดฟเดฐเดตเดงเดฟ เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดถเต‡เด–เดฐเดฟเดšเตเดšเต:

  • เดตเดฟเตปเดกเต‡เดพเดธเต
    โ€” เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ v2018.3.14f1, เดŽเดกเดฟเดฑเตเดฑเตผ เดฎเต‹เดกเต, เดฎเต‹เดฃเต‹, .NET เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต 2.0
  • เดฎเดพเด•เตเด’เดŽเดธเดฟเดฒเต†เดธเดซเดพเดฐเดฟ
    โ€” เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ v2018.3.14f1, เดŽเดกเดฟเดฑเตเดฑเตผ เดฎเต‹เดกเต, เดฎเต‹เดฃเต‹, .NET เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต 2.0
    โ€” เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ v5.6.4p4, เดŽเดกเดฟเดฑเตเดฑเตผ เดฎเต‹เดกเต, เดฎเต‹เดฃเต‹, .NET เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต 2.0
  • เด†เตปเดกเตเดฐเต‡เดพเดฏเดฟเดกเต
    โ€” เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ v2018.3.14f1, เดฌเดฟเตฝเดกเต เดชเต†เตผ เดกเดฟเดตเตˆเดธเต, เดฎเต‹เดฃเต‹, .NET เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต 2.0
  • เดเด’เดŽเดธเต
    โ€” เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ v2018.3.14f1, เดฌเดฟเตฝเดกเต เดชเต†เตผ เดกเดฟเดตเตˆเดธเต, il2cpp, .NET เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต 2.0

เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ

เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดธเด‚เด–เตเดฏเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเตผเด—เด™เตเด™เดณเตเดฃเตเดŸเต. เด…เดตเดฏเดฟเตฝ เด“เดฐเต‹เดจเตเดจเดฟเดจเตเด‚, เดžเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฑเดพเดชเตเดชเตผ เด•เตเดฒเดพเดธเต เดŽเดดเตเดคเตเด‚, เด…เดคเต เดจเตฝเด•เดฃเด‚:

  1. เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดถเตเดฐเต‡เดฃเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค [เดฎเดฟเดจเดฟเดฑเตเดฑเต/เดฎเดพเด•เตเดธเต). เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เดตเดดเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด‚.
  2. MF เดฎเดŸเด™เตเด™เตเดจเตเดจ เดฐเต€เดคเดฟ. เดซเตเดฒเต‹เดŸเตเดŸเต เด•เต‚เดŸเตเดคเตฝ เดชเตŠเดคเตเดตเดพเดฏเดคเดฟเดจเดพเตฝ เดคเดฐเดฎเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚.
  3. เดซเดฒเด™เตเด™เตพ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดœเดจเดฑเต‡เดทเตป เดฐเต€เดคเดฟเดฏเตเดŸเต† เดชเต‡เดฐเต. เดธเต—เด•เดฐเตเดฏเดพเตผเดคเตเดฅเด‚, เด•เตเดฒเดพเดธเดฟเตปเตเดฑเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดชเต‡เดฐเต + MF เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฐเต€เดคเดฟเดฏเตเดŸเต† เดชเต‡เดฐเต เดžเด™เตเด™เตพ เด’เดฐเต เดฎเต‚เดฒเตเดฏเดฎเดพเดฏเดฟ เดจเตฝเด•เตเด‚.

เด†เดฆเตเดฏเด‚, IRandomGenerator เด‡เตปเตเดฑเตผเดซเต‡เดธเต เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด…เดฎเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เดพเด‚:

namespace RandomDistribution
{
    public interface IRandomGenerator
    {
        string Name { get; }

        float Generate();
    }
}

System.Random.Next() เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ

เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดˆ เดฐเต€เดคเดฟ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด‡เดคเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเด•เตพ เดจเตฝเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดซเตเดฒเต‹เดŸเตเดŸเตเด•เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเต† เด’เดฐเต เดซเตเดฒเต‹เดŸเตเดŸเต เด†เดฏเดฟ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เดพเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดถเตเดฐเต‡เดฃเดฟ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด‡เดคเต เดฎเดฟเดกเตโ€Œเดฑเต‡เดžเตเดšเดฟเตปเตเดฑเต† เด“เดฐเต‹ เดคเดฒเดฎเตเดฑเดฏเตเด•เตเด•เตเด‚ เดจเดทเตเดŸเดชเดฐเดฟเดนเดพเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเต. เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เด•เตเดฐเดฎเด‚ เด•เตƒเดคเตเดฏเดคเดฏเตเดณเตเดณ เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดชเต‹เดฏเดฟเตปเตเดฑเต เดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ เดซเดฒเด‚. เดฏเดฅเดพเตผเดคเตเดฅ เดซเตเดฒเต‹เดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเดคเตเดคเต‹เดŸเต เด…เดŸเตเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เดˆ เด“เดชเตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

using System;

namespace RandomDistribution
{
    public class SystemIntegerRandomGenerator : IRandomGenerator
    {
        private const int DefaultFactor = 100000;
        
        private readonly Random _generator = new Random();
        private readonly int _min;
        private readonly int _max;
        private readonly int _factor;


        public string Name => "System.Random.Next()";


        public SystemIntegerRandomGenerator(float min, float max, int factor = DefaultFactor)
        {
            _min = (int)min * factor;
            _max = (int)max * factor;
            _factor = factor;
        }


        public float Generate() => (float)_generator.Next(_min, _max) / _factor;
    }
}

System.Random.NextDouble() เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ

เด‡เดตเดฟเดŸเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดจเดฟเดถเตเดšเดฟเดค เดถเตเดฐเต‡เดฃเดฟ [0; 1). เด•เตบเดธเตโ€ŒเดŸเตเดฐเด•เตโ€ŒเดŸเดฑเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เด’เดจเตเดจเดฟเดฒเต‡เด•เตเด•เต เด‡เดคเต เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดฒเดณเดฟเดคเดฎเดพเดฏ เด—เดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต: X * (max - min) + min.

using System;

namespace RandomDistribution
{
    public class SystemDoubleRandomGenerator : IRandomGenerator
    {
        private readonly Random _generator = new Random();
        private readonly double _factor;
        private readonly float _min;


        public string Name => "System.Random.NextDouble()";


        public SystemDoubleRandomGenerator(float min, float max)
        {
            _factor = max - min;
            _min = min;
        }


        public float Generate() => (float)(_generator.NextDouble() * _factor) + _min;
    }
}

UnityEngine.Random.Range() เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ

UnityEngine. เดฑเดพเตปเดกเด‚ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด•เตเดฒเดพเดธเตเดธเดฟเตปเตเดฑเต† เดˆ เดฐเต€เดคเดฟ, เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดซเตเดฒเต‹เดŸเตเดŸเต เดคเดฐเด‚ เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เด…เดงเดฟเด• เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.

using UnityEngine;

namespace RandomDistribution
{
    public class UnityRandomRangeGenerator : IRandomGenerator
    {
        private readonly float _min;
        private readonly float _max;


        public string Name => "UnityEngine.Random.Range()";


        public UnityRandomRangeGenerator(float min, float max)
        {
            _min = min;
            _max = max;
        }


        public float Generate() => Random.Range(_min, _max);
    }
}

UnityEngine.Random.value เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ

UnityEngine เดŽเดจเตเดจ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด•เตเดฒเดพเดธเดฟเตปเตเดฑเต† เดฎเต‚เดฒเตเดฏ เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟ. เดฑเดพเตปเดกเด‚ เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดถเตเดฐเต‡เดฃเดฟ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดซเตเดฒเต‹เดŸเตเดŸเต เดคเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเต [0; 1). System.Random.NextDouble() เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด‡เดคเต เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚.

using UnityEngine;

namespace RandomDistribution
{
    public class UnityRandomValueGenerator : IRandomGenerator
    {
        private readonly float _factor;
        private readonly float _min;


        public string Name => "UnityEngine.Random.value";


        public UnityRandomValueGenerator(float min, float max)
        {
            _factor = max - min;
            _min = min;
        }


        public float Generate() => (float)(Random.value * _factor) + _min;
    }
}

Unity.Mathematics.Random.NextFloat() เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ

Unity.Mathematics.Random เด•เตเดฒเดพเดธเตเดธเดฟเตปเตเดฑเต† NextFloat() เดฐเต€เดคเดฟ เดซเตเดฒเต‹เดŸเตเดŸเดฟเตปเตเดฑเต† เดคเดฐเด‚ เดซเตเดฒเต‹เดŸเตเดŸเดฟเด‚เด—เต เดชเต‹เดฏเดฟเตปเตเดฑเต เดจเตฝเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดเด•เดค.เด—เดฃเดฟเดคเด‚. เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เด“เดฐเต‹ เดธเด‚เดญเดตเดตเตเด‚ เด•เตเดฑเดšเตเดšเต เดตเดฟเดคเตเดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดฐเด‚เดญเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต เดเด• เดจเตเดฏเต‚เดจเตปเดธเต - เด‡เดคเตเดคเดฐเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด•เตเดฐเดฎเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เตเด‚.

using Unity.Mathematics;

namespace RandomDistribution
{
    public class UnityMathematicsRandomValueGenerator : IRandomGenerator
    {
        private Random _generator;
        private readonly float _min;
        private readonly float _max;


        public string Name => "Unity.Mathematics.Random.NextFloat()";


        public UnityMathematicsRandomValueGenerator(float min, float max)
        {
            _min = min;
            _max = max;
            _generator = new Random();
            _generator.InitState(unchecked((uint)System.DateTime.Now.Ticks));
        }


        public float Generate() => _generator.NextFloat(_min, _max);
    }
}

เดฎเต†เดฏเดฟเตป เด•เตบเดŸเตเดฐเต‹เดณเตผ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ

IrandomGenerator-เตปเตเดฑเต† เดจเดฟเดฐเดตเดงเดฟ เดจเดŸเดชเตเดชเดพเด•เตเด•เดฒเตเด•เตพ เดคเดฏเตเดฏเดพเดฑเดพเดฃเต. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ เดธเต€เด•เตเดตเตปเดธเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑเดพเดธเต†เดฑเตเดฑเต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเดฏเดฟเตฝ เด’เดฐเต เดธเต€เดจเตเด‚ เด’เดฐเต เดšเต†เดฑเดฟเดฏ MainController เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚, เด…เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดœเต‹เดฒเดฟเด•เดณเตเด‚ เดšเต†เดฏเตเดฏเตเด‚, เด…เดคเต‡ เดธเดฎเดฏเด‚ UI-เดฏเตเดฎเดพเดฏเตเดณเตเดณ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเดคเตเดคเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

เดจเดฎเตเด•เตเด•เต เดกเดพเดฑเตเดฑเดพเดธเต†เดฑเตเดฑเดฟเตปเตเดฑเต† เดตเดฒเตเดชเตเดชเดตเตเด‚ MF เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดถเตเดฐเต‡เดฃเดฟเดฏเตเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเด‚, เด•เต‚เดŸเดพเดคเต† เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเดคเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดคเดฏเตเดฏเดพเดฑเดพเดฏเดคเตเดฎเดพเดฏ เดœเดจเดฑเต‡เดฑเตเดฑเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดจเดฟเดฐ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดฐเต€เดคเดฟเดฏเตเด‚ เดจเต‡เดŸเตเด•.

namespace RandomDistribution
{
    public class MainController : MonoBehaviour
    {
        private const int DefaultDatasetSize = 100000;

        public float MinValue = 0f;
        public float MaxValue = 100f;

        ...

        private IRandomGenerator[] CreateRandomGenerators()
        {
            return new IRandomGenerator[]
            {
                new SystemIntegerRandomGenerator(MinValue, MaxValue),
                new SystemDoubleRandomGenerator(MinValue, MaxValue),
                new UnityRandomRangeGenerator(MinValue, MaxValue),
                new UnityRandomValueGenerator(MinValue, MaxValue),
                new UnityMathematicsRandomValueGenerator(MinValue, MaxValue)
            };
        }

        ...
    }
}

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดกเดพเดฑเตเดฑเดพเดธเต†เดฑเตเดฑเต เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด’เดฐเต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เดฎเดฟเดฒเต‡เด•เตเด•เต (csv เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ) เดซเดฒเด™เตเด™เตพ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตŠเดชเตเดชเด‚ เดกเดพเดฑเตเดฑเดพ เดœเดจเดฑเต‡เดทเตป เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เด“เดฐเต‹ IRandomGenerator-เตปเตเดฑเต†เดฏเตเด‚ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด…เดคเดฟเตปเตเดฑเต‡เดคเดพเดฏ เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‹เดณเด‚ เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด†เดฆเตเดฏ เดตเดฐเดฟเดฏเดฟเตฝ เดœเดจเดฑเต‡เดฑเตเดฑเดฑเดฟเตปเตเดฑเต† เดชเต‡เดฐเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

namespace RandomDistribution
{
    public class MainController : MonoBehaviour
    {
        ...
		
        private void GenerateCsvDataSet(TextWriter writer, int dataSetSize, params IRandomGenerator[] generators)
        {
            const char separator = ',';
            int lastIdx = generators.Length - 1;

            // write header
            for (int j = 0; j <= lastIdx; j++)
            {
                writer.Write(generators[j].Name);
                if (j != lastIdx)
                    writer.Write(separator);
            }
            writer.WriteLine();

            // write data
            for (int i = 0; i <= dataSetSize; i++)
            {
                for (int j = 0; j <= lastIdx; j++)
                {
                    writer.Write(generators[j].Generate());
                    if (j != lastIdx)
                        writer.Write(separator);
                }

                if (i != dataSetSize)
                    writer.WriteLine();
            }
        }

        ...
    }
}

GenerateCsvDataSet เดฐเต€เดคเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดณเดฟเดšเตเดšเต เดซเดฒเด‚ เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเตปเดกเต เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‚เดŸเต† เดกเดพเดฑเตเดฑ เด‰เดŸเดจเดŸเดฟ เด•เตˆเดฎเดพเดฑเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต.

namespace RandomDistribution
{
    public class MainController : MonoBehaviour
    {
        ...
		
        public void GenerateCsvDataSet(string path, int dataSetSize, params IRandomGenerator[] generators)
        {
            using (var writer = File.CreateText(path))
            {
                GenerateCsvDataSet(writer, dataSetSize, generators);
            }
        }


        public string GenerateCsvDataSet(int dataSetSize, params IRandomGenerator[] generators)
        {
            using (StringWriter writer = new StringWriter(CultureInfo.InvariantCulture))
            {
                GenerateCsvDataSet(writer, dataSetSize, generators);
                return writer.ToString();
            }
        }

        ...
    }
}

เดชเดฆเตเดงเดคเดฟเดฏเตเดŸเต† เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด‡เดตเดฟเดŸเต†เดฏเตเดฃเตเดŸเต GitLab.

เดซเดฒเด™เตเด™เตพ

เด…เดคเตเดญเตเดคเดฎเตŠเดจเตเดจเตเด‚ เดธเด‚เดญเดตเดฟเดšเตเดšเดฟเดฒเตเดฒ. เด…เดตเตผ เดชเตเดฐเดคเต€เด•เตเดทเดฟเดšเตเดšเดคเต เด…เดตเตผเด•เตเด•เต เด•เดฟเดŸเตเดŸเดฟเดฏเดคเดพเดฃเต - เดŽเดฒเตเดฒเดพ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเตเด‚, เด—เต‚เดขเดพเดฒเต‹เดšเดจเด•เดณเตเดŸเต† เด’เดฐเต เดธเต‚เดšเดจเดฏเตเด‚ เด‡เดฒเตเดฒเดพเดคเต† เดคเตเดฒเตเดฏเดฎเดพเดฏ เดตเดฟเดคเดฐเดฃเด‚. เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดชเตเดฐเดคเตเดฏเต‡เด• เด—เตเดฐเดพเดซเตเด•เตพ เด‡เดŸเตเดจเตเดจเดคเดฟเดฒเต† เด•เดพเดฐเตเดฏเด‚ เดžเดพเตป เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ - เด…เดตเดฏเต†เดฒเตเดฒเดพเด‚ เดเด•เดฆเต‡เดถเด‚ เด’เดฐเต‡ เดซเดฒเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดฏเดพเดฅเดพเตผเดคเตเดฅเตเดฏเด‚ เด‡เดคเดพเดฃเต:
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•

เด…เดžเตเดšเต เดœเดจเดฑเต‡เดทเตป เดฐเต€เดคเดฟเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เด’เดฐเต เดตเดฟเดฎเดพเดจเดคเตเดคเดฟเดฒเต† เดธเต€เด•เตเดตเตปเดธเตเด•เดณเตเดŸเต† เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฃเด‚:
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•

เด•เต‚เดŸเดพเดคเต† 3D เดฏเดฟเตฝ เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฃเด‚. เดธเดฎเดพเดจ เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเตปเตเดฑเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เดžเดพเตป System.Random.Next() เตปเตเดฑเต† เดซเดฒเด‚ เดฎเดพเดคเตเดฐเด‚ เดตเดฟเดŸเตเด‚.
BlessRNG เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RNG เดจเตเดฏเดพเดฏเดฎเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•

UnityEngine.Random-เตปเตเดฑเต† เดธเดพเดงเดพเดฐเดฃ เดตเดฟเดคเดฐเดฃเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด†เดฎเตเด–เดคเตเดคเดฟเตฝ เดชเดฑเดžเตเดžเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เดฅ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเดฟเดฒเตเดฒ: เด’เดจเตเดจเตเด•เดฟเตฝ เด‡เดคเต เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดคเต†เดฑเตเดฑเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเดฟเดจเตเดจเต€เดŸเต เดŽเดžเตเดšเดฟเดจเดฟเตฝ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดพเดฑเตเดฑเด‚ เดธเด‚เดญเดตเดฟเดšเตเดšเต. เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพเด•เตเด•เต เด‰เดฑเดชเตเดชเตเดฃเตเดŸเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•