ios - 如何在 Objective-C 中的上一个高度和下一个高度之间留出一些空间来制作随机高度?

标签 ios objective-c algorithm cocos2d-iphone

我在 Objective-C 中使用此代码生成 100 到 1000 之间的随机高度。
我的问题是,新的高度通常接近于之前的高度,这不太好。

那么如何让它在上一个高度和下一个高度之间始终有一些空间(例如 50px)?

_randomHeight = arc4random() % (1000-100+1);

最佳答案

您只需要不断生成值,直到一个值满足您的要求:

CGFloat height;
do {
    height = arc4random() % (1000-100+1);
} while (fabs(_randomHeight - height) < 50.0f);
_randomHeight = height;

关于ios - 如何在 Objective-C 中的上一个高度和下一个高度之间留出一些空间来制作随机高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24677325/

相关文章:

objective-c - 这是处理ivars的正确方法吗?

iphone - 如何在 NSMutableArray 中存储枚举值

algorithm - 在 RTS 中确定一组单位的方法

objective-c - Tesseract OCR 只有数字

java - Remove at index 函数删除索引之前的所有元素

解决vendor machine 'change giving'问题的Java算法

iphone - IOS UiView动画在ios 5和ios 6设备上产生不同的效果

ios - 如何在没有 MFMessageComposeViewController 的情况下发送和接收短信?

iphone - 更新核心数据实体

iphone - 我如何在 iOS 中实现一个字符串过滤算法来反射(reflect) 'Messages' 中的联系人自动完成?