2017-02-03 27 views
2

enter image description hereenter image description here瞭解陣列和使用運營商的

我已經包含了什麼我工作的照片。我正在學習使用iPad上的快速操場進行編碼。我喜歡數組。在照片中,我要建造一個小島並添加一個水體。我不確定你是否需要整個代碼來理解我的問題。 (代碼的底部部分只是刪除了一些土地,並添加了水)

我的問題是使用大於和小於運算符的部分。我不明白什麼coordinate.column> 3實際上意味着什麼。

如果您需要更多信息,我可以用最終產品和完整的代碼上傳另一張照片。

我已經添加了最終產品的另一張照片,它還有其餘的代碼。據我所知,<表示小於和>意味着大於。但是在最終產品中還是沒有小於3的柱子,或者是大於8的柱子,那麼使用操作人員的工作是如何使水環繞島嶼呢?

+0

如果座標的列大於(大於)3並且座標列小於(小於)8 ... – sdasdadas

+0

感謝Charles,它不會讓我嵌入照片。 –

+3

如果您還沒有,我會推薦閱讀語言指南的基本操作符部分,其中[比較運算符](https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ BasicOperators.html#// apple_ref/doc/uid/TP40014097-CH6-ID60)。 – Hamish

回答

0

>和<符號布爾運算符,所以在這裏我假設coordinate.column會返回一個數字,然後它會爲或者被相比>或<,然後如果事實上coordinate.column是返回true <或> 8和3。

+0

嗨我已經添加了最終解決方案以及其餘代碼的另一張照片。如果coordinate.column大於3且小於8,並且column.row也是如此,爲什麼有一個由水包圍的4乘4網格的島。 –

+0

'>和<符號是Swift中的布爾運算符.'幾乎任何其他語言。 – jdmdevdotnet

+0

這是真的,我會編輯它。 – MacStation

1

基本上,這個函數會穿過你的大陸網格的每個瓦片,並決定它是否應該保持爲陸地(加入島陣)或轉化爲水)(加入海洋陣列)。 假設您的左上角圖塊的座標爲(0,0)(第0列和第0列),那麼它就像海一樣,現在讓我們來看瓦(3,3),它仍然像海一樣比較嚴格(> 3不> = 3),瓦(5,7)正在島內,瓦(8,9)正在海中。

1

我想值得一提的是columnrow屬性是數字(類型Int-自然(整數))。

該字段由網格表示,在您的案例11x11。每個塊在該網格內具有二維座標,由前述列和行屬性表示。

指數從0開始斯威夫特,所以當你遍歷所有塊,它們的行和列值可以是基本的數字從0到10

現在,你想要做的是選擇在磚網格中間。如果你想要島嶼的尺寸爲4個大小,你可以通過比較它們的座標來實現。本質上,「4號中間的島嶼每個維度」是位於座標4,4處的磚的集合; 4,5; 4,6; 4,7; 5,4; 5,5; ....,7,7。 你所擁有的「如果」條件僅僅是選擇這些磚塊的好方法。

+0

編輯答案,首先有一些錯別字。 – hybridcattt

+1

非常感謝你的幫助。 –