首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BBC MicroBit上Ada的随机数生成器

BBC MicroBit上Ada的随机数生成器
EN

Stack Overflow用户
提问于 2019-01-01 22:01:45
回答 3查看 305关注 0票数 3

为BBC Microbit做一个小游戏。

with Ada.Numerics.Discrete_Random reports "Ada.Numerics" is not a predefined library unit.

Ada是否提供了在BBC MicroBit上生成随机数的另一种方法?arch/ARM/Nordic/svd/nRF51/nRF51Svd-rng定义一个随机数生成器记录RNG_Peripheral。这是我要搜索的东西,还是只用于蓝牙?

代码语言:javascript
复制
GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)

Active toolchain: arm-eabi

the GNAT Programming Studio

(c) 2001-2018 AdaCore

我的代码:

代码语言:javascript
复制
with Ada.Numerics.Discrete_Random;

package body Flip_A_Coin is

   package Random_Coin is new Ada.Numerics.Discrete_Random(Coin);

   G: Random_Coin.Generator;

   ------------------
   --  Reset       --
   ------------------

   procedure Reset is

   begin

      Random_Coin.Reset(G);

   end Reset;

   ------------------
   --  Flip        --
   ------------------

   function Flip
     return Coin is

   begin

      return Random_Coin.Random(G);

   end Flip;

begin

   Reset;

end Flip_A_Coin;
EN

回答 3

Stack Overflow用户

发布于 2019-01-02 01:41:20

如果您使用

代码语言:javascript
复制
for Runtime ("ada") use "ravenscar-full-microbit";

在您的项目或

代码语言:javascript
复制
--RTS=ravenscar-full-microbit

在命令行中,您将找到标准的Ada RNGs。

您还可以按照您的建议,尝试使用Ada Drivers Library中的NRF51_SVD.RNG,这应该可以做到这一点。

票数 4
EN

Stack Overflow用户

发布于 2019-01-01 23:33:11

如果您有可用的浮点数,您可以使用@ Mathpaqs提供的U_Rand。

票数 1
EN

Stack Overflow用户

发布于 2019-01-05 01:18:52

在PragmAda可重用组件中有许多可用的RNG。也许其中一种会适合你。

PragmARCs

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53996085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档