我已经包含了我正在制作的照片。我正在学习使用iPad上的快速游乐场进行编码。我是阵列。在照片中,我要建造一个岛屿并添加一块水。我不确定您是否需要整个代码才能理解我的问题。 (代码的底部只删除了一些土地并加水)
我的问题是使用大于和小于运算符的部分。我不明白是什么坐标。列> 3实际上意味着。
如果您需要更多信息,我可以使用最终产品和完整代码上传另一张照片。
我已经添加了最终产品的另一张照片,并且还有其余的代码。我理解<意味着小于和>意味着大于。但是最终产品中没有小于3的列或者大于8的行,那么运营商的使用是如何使水环绕岛屿的呢?
答案 0 :(得分:1)
基本上,该功能遍历您的大陆网格中的每个区块,并决定是否应将其保留为陆地(添加到岛阵列中)或转换为水域(添加到海洋阵列中)。 假设你的左上方瓷砖是坐标(0,0)(第0列和第0行),然后它变成了海,现在让我们拿瓷砖(3,3),它仍然像海洋一样严格比较( > 3不> = 3),瓦片(5,7)进入岛屿,瓦片(8,9)进入海洋。
答案 1 :(得分:1)
我想值得一提的是,column
和row
属性是数字(Int
类型 - 自然(整数))。
该字段由网格表示,在您的情况下为11x11。每个块在该网格内具有二维坐标,由上述列和行属性表示。
Swift中的索引从0开始,因此当您遍历所有块时,它们的列和行值基本上可以是0到10之间的数字。
现在,您要做的是在网格中间选择砖块。如果您希望岛屿的每个维度大小为4个块,则可以通过比较它们的坐标来实现。从本质上讲,"岛屿在4号砖中间每个维度"是位于坐标4,4处的砖块集合; 4,5; 4,6; 4,7; 5,4; 5,5; ....,7,7。 那"如果"你拥有的条件只是选择这些砖块的好方法。
答案 2 :(得分:0)
>和<符号是布尔运算符,所以在这里我假设coordinate.column将返回一个数字,然后将它与>进行比较。或者<然后返回true,如果实际上coordinate.column是<或者>分别为8和3。