如何用几个相关的CGPoint数组构造Swift代码
如果这听起来很琐碎,请原谅。我试图找到一种组织代码的方法,无论是创建一个新类还是某种数据结构。我有几点如何用几个相关的CGPoint数组构造Swift代码,swift,class,struct,swift3,Swift,Class,Struct,Swift3,如果这听起来很琐碎,请原谅。我试图找到一种组织代码的方法,无论是创建一个新类还是某种数据结构。我有几点 var arrayOfPoints = [P1, P2, P3, P4, P5,..,P30] 随机选择一个点时,它可以根据复杂度值compVal移动到多个其他点。 例如,如果compVal=1,P1可以移动到[P2,P5],如果compVal=2,P1可以移动到[P3,P4,P6]等等,直到compVal=15,这适用于所有其他P到P30。考虑到我可能需要偶尔过滤一些位置,我如何以有序和高
var arrayOfPoints = [P1, P2, P3, P4, P5,..,P30]
随机选择一个点时,它可以根据复杂度值compVal
移动到多个其他点。
例如,如果
compVal
=1,P1
可以移动到[P2,P5]
,如果compVal=2
,P1可以移动到[P3,P4,P6]
等等,直到compVal=15
,这适用于所有其他P到P30
。考虑到我可能需要偶尔过滤一些位置,我如何以有序和高效的方式构建此功能 从我对这个问题的解释来看,这听起来像:
- 您有一个对象列表
- 每个对象都有一个初始的
,并且有一种将CGPoint
(Int
)映射到compVal
的新数组的方法[CGPoint]
struct MyPoint {
var location: CGPoint
var mappings: [Int: [CGPoint]]
mutable func move(compVal: Int) {
if let possiblePoints = mappings[compVal] {
// possiblePoints is your [CGPoint] array.
// Set `location` to one of them depending on your logic.
}
}
}
然后您可以创建
var arrayOfPoints
作为[MyPoint]
我不太理解您的问题。最好显示一些代码您刚才所做的工作。也许你喜欢什么样的伪代码(我只是猜测)你喜欢有一个图形表示?可能的点的数量总是compVal+1吗?你需要为每个compVal手动指定可能的点,还是它们可以是点的随机选择(p1到p30)?