标签: arc4random

如何在arc4random_uniform()的范围之间创建随机数?

所以我在这个代码中的目标是随机滚动两个骰子,因为我们都知道你的常规骰子只有6个边,所以我导入了Foundation来访问arc4random_uniform(UInt32).我试图使用(1..7)的范围来避免随机获得0,但是返回了一个我不太喜欢的错误.我试着这样做:

dice1 = arc4random_uniform(UInt32(1..7))
Run Code Online (Sandbox Code Playgroud)

然而那又归来了

找不到接受提供的参数的'init'的重载

我希望这是足够的信息,你在那里惊人的debs帮助我:)

请注意我只是在操场上练习快速练习.我不必学习如何做到这一点; 在我开始构建实际的应用程序之前,我只是在修补:D

//imports random number function
import Foundation
//creates data storage for dice roll
var dice1: UInt32 = 0
var dice2: UInt32 = 0
//counter variable
var i = 0
//how many times snake eyes happens
var snakeeyes = 0
 //how many times a double is rolled
var `double` = 0
//rolls dice 100 times
while i < 100{
    //from here
    //sets dice roll
Run Code Online (Sandbox Code Playgroud)

这将返回错误"Range $ T3"无法转换为UInt32

   dice1 = arc4random_uniform(1..7)
   dice2 = arc4random_uniform(1..7) …
Run Code Online (Sandbox Code Playgroud)

range arc4random swift

127
推荐指数
9
解决办法
15万
查看次数

用Swift生成随机数

我需要生成一个随机数.

看起来arc4random功能不再存在以及arc4random_uniform功能.

我的选择是arc4random_stir(), arc4random_buf(UnsafeMutablePointer<Void>, Int)arc4random_addrandom(UnsafeMutablePointer<UInt8>, Int32).

我找不到关于函数的任何文档,并且头文件中没有注释给出提示.

arc4random swift

91
推荐指数
5
解决办法
12万
查看次数

生成0到1之间的随机浮点数

我正在尝试生成一个介于0和1之间的随机数.我一直在阅读arc4random(),但是没有关于从中获取浮点数的任何信息.我该怎么做呢?

c random floating-point arc4random ios

82
推荐指数
5
解决办法
6万
查看次数

Swift随机浮点数介于0和1之间

在Swift中,我试图获得0到1之间的随机浮点数,但我似乎无法使类型转换工作.

func randomCGFloat() -> CGFloat {
    return CGFloat(arc4random()) / UINT32_MAX
}
Run Code Online (Sandbox Code Playgroud)

我得到'CGFloat'不能转换为'UInt8'错误

运行Xcode 6.

random cgfloat arc4random swift

73
推荐指数
8
解决办法
5万
查看次数

在Objective-C中生成两个数之间的随机数

我有两个文本框,用户可以输入2个正整数(使用Objective-C).目标是在两个数字之间返回一个随机值.

我使用过"man arc4random",但仍然无法完全绕过它.我想出了一些代码,但它有问题.

float lowerBound = lowerBoundNumber.text.floatValue;
float upperBound = upperBoundNumber.text.floatValue;
float rndValue;
//if lower bound is lowerbound < higherbound else switch the two around before randomizing.
if(lowerBound < upperBound)
{
    rndValue = (((float)arc4random()/0x100000000)*((upperBound-lowerBound)+lowerBound));
}
else 
{
    rndValue = (((float)arc4random()/0x100000000)*((lowerBound-upperBound)+upperBound));
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我输入值0和3,它似乎工作得很好.但是,如果我使用数字10和15,我仍然可以为"rndValue"获得低至1.0000000或2.000000的值.

我是否需要详细说明我的算法,还是需要更改使用arc4random的方式?

random objective-c arc4random

49
推荐指数
3
解决办法
6万
查看次数

arc4random和arc4random_uniform有什么区别?

所以我看过关于Obj中随机和arc4random之间差异的旧帖子.C,我已经在网上看到了这个答案,但我并没有真正理解答案,所以我希望有人可以用更容易理解的方式解释它.

使用randomarc4random生成随机数有什么区别?

random objective-c arc4random

43
推荐指数
1
解决办法
4万
查看次数

使用arc4random()时如何选择值范围

使用arc4random()时可以设置一系列数字吗?例如仅50-100.

objective-c arc4random ios

41
推荐指数
3
解决办法
5万
查看次数

在iOS中播种arc4random()

从我可以收集到的内容arc4random()产生的数据要好得多rand(),但是我没有看到种植它的方法,我想只是喜欢使用srand().有办法吗?

random arc4random ios

22
推荐指数
3
解决办法
8558
查看次数

从Array获取随机对象

我想从数组中获取随机对象,有什么方法可以从可变数组中找到随机对象?

iphone arc4random

14
推荐指数
3
解决办法
2万
查看次数

arc4random(mac os x)的随机性如何?(或者我做错了什么?)

我正在使用swift/mac_os_x中优化的生活游戏实现.第一步:随机化一大块细胞(50%活着).

码:

for(var i=0;i<768;i++){
  for(var j=0;j<768;j++){
    let r = Int(arc4random_uniform(100))
    let alive = (aliveOdds > r)
    self.setState(alive,cell: Cell(tup:(i,j)),cells: aliveCells)
  }
}
Run Code Online (Sandbox Code Playgroud)

我期待相对均匀的随机性.我得到的有明确的模式:

大图

放大左下角:

放大了

(我已经在每32行和每列上将颜色更改为黑色,以查看图案是否排列为2的任何幂).

是什么导致这些模式?我试过了:

  • 用arc替换arc4random rand().
  • arc4stir()在每个arc4random_uniform调用之前添加
  • 移动显示器(确保模式在数据中,而不是显示故障)

关于下一步的想法?

random macos arc4random ios swift

14
推荐指数
1
解决办法
657
查看次数

标签 统计

arc4random ×10

random ×6

ios ×4

swift ×4

objective-c ×3

c ×1

cgfloat ×1

floating-point ×1

iphone ×1

macos ×1

range ×1