From 3b91b4779d35b98e27f935435286f4462992a6c5 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Mon, 22 May 2023 19:19:33 +0800 Subject: [PATCH 01/22] Update 1-storing-information.md --- .../6-arrays/1-storing-information.md | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/1-storing-information.md b/docs/swift-learning-2/6-arrays/1-storing-information.md index 4ea06a7..ea1a030 100644 --- a/docs/swift-learning-2/6-arrays/1-storing-information.md +++ b/docs/swift-learning-2/6-arrays/1-storing-information.md @@ -1,16 +1,28 @@ -# TODO +# 儲存資訊 -TODO:TODO +目標:將新的項目加入陣列。 ## 簡介 -TODO +下列程式碼中指定了一個整數陣列,稱為`rows`。你的目標是在這個陣列中加入值,來將角色實例放置在關卡世界的每一行。 + +若要將項目加入陣列,請按下並拖移中括號`[]`,或輸入新的值並以逗號分隔。 + +查詢註解來取得編寫程式碼的相關提示。 +>範例 +> +> // 這是一條程式碼註解。它會提供程式碼的相關資訊,但 App 不會執行這條註解。 + +1 執行程式碼來看看會發生什麼。 + +2 在陣列中加入值來將你的角色放置在關卡世界的每個磚塊上。 ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/652c7590-ef26-4fdd-9f25-3dd8f9c46900/public) ## 講解 -TODO +若要通關,你要試著在陣列中加入值,讓角色能放置到每個磚塊上。 +除此之外,適實的使用註解能讓你更清楚每個段落在做什麼喔! ## 解答 @@ -23,4 +35,8 @@ placeCharacters(at: rows) ## 後記 -TODO +是不是很酷? +當你要在陣列中加入項目時,只需要加入一個逗號和一個與陣列中其他項目類型相符的項目。 + +請記住,建立特定類型的陣列(例如,整數陣列)之後,這個陣列便不能包含不同類型的項目了(例如 String) + From ea46ef3c81c9d5b7836490e3f9b1654bea87cf56 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 00:07:00 +0800 Subject: [PATCH 02/22] Update 2-iteration-exploration.md --- .../6-arrays/2-iteration-exploration.md | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md index bc95b45..5a577a9 100644 --- a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md +++ b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md @@ -1,16 +1,34 @@ -# TODO +# 探索反覆運算 -TODO:TODO +挑戰:反覆運算陣列,在各個位置放置寶石和開關 ## 簡介 -TODO +在下方程式碼中,你可以使用`columns`**陣列**來在關卡世界中的每個直欄放置寶石和開關。此過程叫做**反覆運算**,它可以讓你在陣列中為每個項目執行動作。 + +>範例 +> +>若要反覆運算,請使用 for-in 迴圈,它是一種**for迴圈**的類型 +> +>``` +>for currentColumn in colums { +> world.place(Gem(),atColumn:currentColumn , row:1) +>} +>``` +`for-in`迴圈中會在陣列中替每個**變數**執行程式碼區塊。在上方範例中,`currentColumn`是儲存`columns`陣列中數值的變數。此數值會傳遞到`place`方法的`column`**參數**,以決定要放置寶石的直欄。 + +每次`for-in`迴圈執行時,`currentColumn`會前往陣列中的下一個項目,直到沒有剩下的項目。 + +1 完成會在陣列中反覆運算的的`for`迴圈。 + +2 在迴圈中,在每個直欄放置寶石和開關。 + ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/ff0fc349-2ee3-4ad4-7aa5-4df7baf76800/public) ## 講解 -TODO +試著將迴圈中的指令完成,並達到每個磚頭皆有寶石和開關,就能輕鬆完成任務了! ## 解答 @@ -26,4 +44,5 @@ for currentColumn in columns { ## 後記 -TODO +現在你學會反覆運算了! +採用**反覆運算**陣列的方式來建構世界,比一次只放置一個項目要快得多。若要反覆運算陣列,請使用for-in 迴圈為陣列中的每個項目執行動作 From f74e7f0720ee726a5f97b62461e6d92ead790608 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 15:14:21 +0800 Subject: [PATCH 03/22] Update 2-iteration-exploration.md --- docs/swift-learning-2/6-arrays/2-iteration-exploration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md index 5a577a9..e94264c 100644 --- a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md +++ b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md @@ -28,7 +28,7 @@ ## 講解 -試著將迴圈中的指令完成,並達到每個磚頭皆有寶石和開關,就能輕鬆完成任務了! +試著在迴圈中放置寶石和開關,就能輕鬆完成任務了! ## 解答 From 7bb85a26d902f0e66d78190ad4e147d02aba2808 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 15:50:19 +0800 Subject: [PATCH 04/22] Update 3-stacking-blocks.md --- .../6-arrays/3-stacking-blocks.md | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/3-stacking-blocks.md b/docs/swift-learning-2/6-arrays/3-stacking-blocks.md index 872ba5d..ac2ee62 100644 --- a/docs/swift-learning-2/6-arrays/3-stacking-blocks.md +++ b/docs/swift-learning-2/6-arrays/3-stacking-blocks.md @@ -1,10 +1,26 @@ -# TODO +# 堆疊磚塊 -TODO:TODO +目標:在每個角落放置五層磚塊。 ## 簡介 -TODO +查看下列程式碼。這是一個`Coordinate`類型的陣列,而不是**Int**值的陣列。 +>`Coordinate類型` +>`Coordinate`實例使用`column`和`row`引數來參照一個位置。 +> +>`let corner = Coordinate(column: 3,row: 3)` + +你可以使用`blockLocations`陣列反覆運算每個座標,並在每個位置上執行某項操作,例如: +>``` +>for coordinate in blockLocations{ +> world.place(Gem(), at: coordinate) +>} +>``` + +1 加入了兩個座標到`blockLocations`中,每個座標參照世界中剩於的角落。 + +2 使用`for-in`迴圈**反覆運算**每個座標,在每個角落放置**五個磚塊**。(你可能需要**嵌套**其他**for迴圈**。) + ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/25f474c7-9bc0-4d77-d150-1d4f3faa0200/public) @@ -32,4 +48,5 @@ for coordinate in blockLocations { ## 後記 -TODO +好極了! +你可能已經 From 35301062e545e3970e6af5f75c41d34aefe451ee Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 16:43:30 +0800 Subject: [PATCH 05/22] Update 3-stacking-blocks.md --- docs/swift-learning-2/6-arrays/3-stacking-blocks.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/3-stacking-blocks.md b/docs/swift-learning-2/6-arrays/3-stacking-blocks.md index ac2ee62..2c05a2e 100644 --- a/docs/swift-learning-2/6-arrays/3-stacking-blocks.md +++ b/docs/swift-learning-2/6-arrays/3-stacking-blocks.md @@ -6,11 +6,14 @@ 查看下列程式碼。這是一個`Coordinate`類型的陣列,而不是**Int**值的陣列。 >`Coordinate類型` +> >`Coordinate`實例使用`column`和`row`引數來參照一個位置。 > >`let corner = Coordinate(column: 3,row: 3)` 你可以使用`blockLocations`陣列反覆運算每個座標,並在每個位置上執行某項操作,例如: +>範例 +> >``` >for coordinate in blockLocations{ > world.place(Gem(), at: coordinate) @@ -25,8 +28,9 @@ ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/25f474c7-9bc0-4d77-d150-1d4f3faa0200/public) ## 講解 +首先,將四個角落的位置加入`blockLocations`陣列中。 -TODO +接著,試著在迴圈中再加入一個迴圈,並重複執行五次堆疊磚塊的動作,就能輕鬆完成目標! ## 解答 @@ -49,4 +53,5 @@ for coordinate in blockLocations { ## 後記 好極了! -你可能已經 + +你可能已經注意到,place(item: Item, at:Coordinate)**方法**採用了Coordinate類型的輸入,而place(item: Item, atColumn: Int, row: Int)則採用兩個**Int**值。這兩種方法都可以用來放置項目,但在本章節中,你將使用place(item: Item, at: Coordinate),因為要配合Coordinate類型的陣列一起使用。 From 7ae981de18cd36f7dbc50d0984fd29f853f80f2b Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 18:13:47 +0800 Subject: [PATCH 06/22] Update 4-getting-in-order.md --- .../6-arrays/4-getting-in-order.md | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/4-getting-in-order.md b/docs/swift-learning-2/6-arrays/4-getting-in-order.md index a826cf2..3ee2c2f 100644 --- a/docs/swift-learning-2/6-arrays/4-getting-in-order.md +++ b/docs/swift-learning-2/6-arrays/4-getting-in-order.md @@ -1,10 +1,36 @@ -# TODO +# 依序排列 -TODO:TODO +目標:將Blu、Hopper和專家依照身高排序 ## 簡介 -TODO +你可以使用`陣列`**類型**的一組方法,在**陣列**中加入項目或從中移除項目。 +>陣列方法 +> +>`remove(at: Int)`。移除**索引**中的一個項目。 +> +>`append(newElement: Element)`。在陣列結尾處加入一個項目。 +> +>`insert(newElement: Element, at: Int)`。在特定的索引插入一個項目。 + +使用**點記法**在陣列上呼叫方法。 + +>範例 +> +>`var favoriteFoods = [🌮, 🍓, 🍣, 🍳, 🧀]` +> +>`favoriteFoods.remove(at: 2)` +> +>呼叫`remove(at: 2)`會將🍣從陣列中移除。 +> +>`//[🌮, 🍓, 🍳, 🧀]` +> +>`favoriteFoods.insert(🍝,at: 1)` +>呼叫`insert(🍝,at: 1)`會在索引1加入🍝。 +>`//[🌮, 🍝, 🍓, 🍳, 🧀]` + +1 在下方的`characters`陣列中,移除傳送門和寶石。 +2 插入一個`Expert`類型實例, ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/e12033ea-49b9-42ba-58aa-b8b0385a2c00/public) From 042b59d55ceb13e629dd729f0305017d4e31908a Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 18:18:12 +0800 Subject: [PATCH 07/22] Update 4-getting-in-order.md --- docs/swift-learning-2/6-arrays/4-getting-in-order.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/4-getting-in-order.md b/docs/swift-learning-2/6-arrays/4-getting-in-order.md index 3ee2c2f..fc84628 100644 --- a/docs/swift-learning-2/6-arrays/4-getting-in-order.md +++ b/docs/swift-learning-2/6-arrays/4-getting-in-order.md @@ -26,11 +26,14 @@ >`//[🌮, 🍓, 🍳, 🧀]` > >`favoriteFoods.insert(🍝,at: 1)` +> >呼叫`insert(🍝,at: 1)`會在索引1加入🍝。 +> >`//[🌮, 🍝, 🍓, 🍳, 🧀]` 1 在下方的`characters`陣列中,移除傳送門和寶石。 -2 插入一個`Expert`類型實例, +2 插入一個`Expert`類型實例,使角色依照最矮在前(row 0)最高在後的順序排列。 + ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/e12033ea-49b9-42ba-58aa-b8b0385a2c00/public) @@ -65,4 +68,7 @@ for character in characters { ## 後記 -TODO +你學得非常快! +掌握如何使用陣列**索引**存取和修改項目十分好用。 +你還可以 + From 8b60d9da8ef53e87cdc15f8d5f8132efd5ccf8cb Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 18:35:42 +0800 Subject: [PATCH 08/22] Update 4-getting-in-order.md --- .../6-arrays/4-getting-in-order.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/4-getting-in-order.md b/docs/swift-learning-2/6-arrays/4-getting-in-order.md index fc84628..fe785f5 100644 --- a/docs/swift-learning-2/6-arrays/4-getting-in-order.md +++ b/docs/swift-learning-2/6-arrays/4-getting-in-order.md @@ -32,6 +32,7 @@ >`//[🌮, 🍝, 🍓, 🍳, 🧀]` 1 在下方的`characters`陣列中,移除傳送門和寶石。 + 2 插入一個`Expert`類型實例,使角色依照最矮在前(row 0)最高在後的順序排列。 @@ -39,7 +40,7 @@ ## 講解 -TODO +在開始解題之前,可以先看看目前的程式是如何執行, ## 解答 @@ -70,5 +71,14 @@ for character in characters { 你學得非常快! 掌握如何使用陣列**索引**存取和修改項目十分好用。 -你還可以 + +你還可以運用提供給你的其他**方法**來修改陣列: + +removeFirst() + +removeLast() + +removeAll() + +嘗試使用這些方法,看看它們如何運作! From 68747c6b508b6ed80ac0d5caa2e912cef8506684 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 20:18:17 +0800 Subject: [PATCH 09/22] Update 4-getting-in-order.md --- docs/swift-learning-2/6-arrays/4-getting-in-order.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/swift-learning-2/6-arrays/4-getting-in-order.md b/docs/swift-learning-2/6-arrays/4-getting-in-order.md index fe785f5..35af1d8 100644 --- a/docs/swift-learning-2/6-arrays/4-getting-in-order.md +++ b/docs/swift-learning-2/6-arrays/4-getting-in-order.md @@ -40,7 +40,10 @@ ## 講解 -在開始解題之前,可以先看看目前的程式是如何執行, +在開始解題之前,可以先看看目前的程式是如何執行,再想想如何將傳送門和寶石移除 + +接著再插入角色並將角色進行排序,就可以完成關卡! + ## 解答 From d1f7b23ab55adb8fb218fcf4b7e6f910a3f2f14a Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 23:45:26 +0800 Subject: [PATCH 10/22] Update 5-appending-to-an-array.md --- .../6-arrays/5-appending-to-an-array.md | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md index 69cd512..d69f753 100644 --- a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md +++ b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md @@ -1,16 +1,28 @@ -# TODO +# 附加到陣列 -TODO:TODO +目標:依據座標屬性來附加到空的陣列。 ## 簡介 -TODO +將項目個別加入陣列中,存粹是重複性的操作。要是能夠建立一套規則來將座標包含在陣列中呢? + +首先,從`allCoordinates`開始,這是由關卡世界中所有座標組成的**陣列** + +接著,你需要一個空的陣列,讓這些座標可以附加在其中。由於要**宣告**一個未儲存任何值的陣列,因此需要指定它應該容納的項目**類型** + +>建立空的陣列 +> +>在變數名稱後使用:來宣告其類型,然後將它**指定**為空的陣列。 +> +>`var newLocations: [Coordinate] = []` + +最後,**反覆運算**`allCoordinates`並檢查每個座標的`column`和`row`**屬性**。如果座標的`column`屬性大於5或`row`屬性小於4,則將它附加到空的陣列中。然後將六個磚塊放置在陣列中的每個座標上。 ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/35124c1a-b596-4982-fdc3-3724eaa6fd00/public) ## 講解 -TODO +首先要將範圍內的值(座標的`column`屬性大於5或`row`屬性小於4)加入到blockSet中 ## 解答 @@ -33,4 +45,7 @@ for coordinate in blockSet { ## 後記 -TODO +很好! +陣列會引領你走向建構世界的新世界!請記住,你可以建立完全空白的陣列,稍後再向其中加入值,辦事你必須指明該陣列包含的項目類型。當你**宣告**陣列時,請使用下列**語法**為它指定類型: + +`var placementLocations: [Coordinate]`。 From b4b57e24771b14f36df303334e0a32041287d3b1 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 23:48:17 +0800 Subject: [PATCH 11/22] Update 5-appending-to-an-array.md --- docs/swift-learning-2/6-arrays/5-appending-to-an-array.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md index d69f753..28c8798 100644 --- a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md +++ b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md @@ -22,7 +22,11 @@ ## 講解 -首先要將範圍內的值(座標的`column`屬性大於5或`row`屬性小於4)加入到blockSet中 +首先,要將範圍內的值(座標的`column`屬性大於5或`row`屬性小於4)加入`append`到blockSet中。 + +接著,將陣列blockSet中的座標加上6磚塊(可用for-in迴圈重複執行6次) + +最後,就能 ## 解答 From 6a862fb26487a24095ea20fc6496926f7ba1124d Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 23:49:10 +0800 Subject: [PATCH 12/22] Update 5-appending-to-an-array.md --- docs/swift-learning-2/6-arrays/5-appending-to-an-array.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md index 28c8798..1a990da 100644 --- a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md +++ b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md @@ -26,7 +26,7 @@ 接著,將陣列blockSet中的座標加上6磚塊(可用for-in迴圈重複執行6次) -最後,就能 +最後,就能順利達成關卡目標了! ## 解答 From a7d024e6884b3e95202a586966d20c771548e463 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 23:52:23 +0800 Subject: [PATCH 13/22] Update 5-appending-to-an-array.md --- docs/swift-learning-2/6-arrays/5-appending-to-an-array.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md index 1a990da..9dc16d9 100644 --- a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md +++ b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md @@ -6,7 +6,7 @@ 將項目個別加入陣列中,存粹是重複性的操作。要是能夠建立一套規則來將座標包含在陣列中呢? -首先,從`allCoordinates`開始,這是由關卡世界中所有座標組成的**陣列** +首先,從`allCoordinates`開始,這是由關卡世界中所有座標組成的**陣列**。 接著,你需要一個空的陣列,讓這些座標可以附加在其中。由於要**宣告**一個未儲存任何值的陣列,因此需要指定它應該容納的項目**類型** @@ -50,6 +50,7 @@ for coordinate in blockSet { ## 後記 很好! -陣列會引領你走向建構世界的新世界!請記住,你可以建立完全空白的陣列,稍後再向其中加入值,辦事你必須指明該陣列包含的項目類型。當你**宣告**陣列時,請使用下列**語法**為它指定類型: + +陣列會引領你走向建構世界的新世界!請記住,你可以建立完全空白的陣列,稍後再向其中加入值,但是你必須指明該陣列包含的項目類型。當你**宣告**陣列時,請使用下列**語法**為它指定類型: `var placementLocations: [Coordinate]`。 From c6c273243e88d97828d00be41826a8004e7a4bef Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Tue, 23 May 2023 23:55:38 +0800 Subject: [PATCH 14/22] Update 6-island-builder.md --- docs/swift-learning-2/6-arrays/6-island-builder.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/6-island-builder.md b/docs/swift-learning-2/6-arrays/6-island-builder.md index 0c565df..954a333 100644 --- a/docs/swift-learning-2/6-arrays/6-island-builder.md +++ b/docs/swift-learning-2/6-arrays/6-island-builder.md @@ -1,10 +1,10 @@ -# TODO +# 島嶼建構者 -TODO:TODO +挑戰:建構一座四面環海的島。 ## 簡介 -TODO +厭倦了內陸世界嗎? ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/b1d5dc48-cc83-4128-00fc-de600dc24f00/public) From d9dafaa0849b257ff029ddd86cc89de2036bf81a Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Wed, 24 May 2023 07:53:17 +0800 Subject: [PATCH 15/22] Update 5-appending-to-an-array.md --- docs/swift-learning-2/6-arrays/5-appending-to-an-array.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md index 9dc16d9..9dff326 100644 --- a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md +++ b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md @@ -8,7 +8,7 @@ 首先,從`allCoordinates`開始,這是由關卡世界中所有座標組成的**陣列**。 -接著,你需要一個空的陣列,讓這些座標可以附加在其中。由於要**宣告**一個未儲存任何值的陣列,因此需要指定它應該容納的項目**類型** +接著,你需要一個空的陣列,讓這些座標可以附加在其中。由於要**宣告**一個未儲存任何值的陣列,因此需要指定它應該容納的項目**類型**。 >建立空的陣列 > @@ -22,11 +22,11 @@ ## 講解 -首先,要將範圍內的值(座標的`column`屬性大於5或`row`屬性小於4)加入`append`到blockSet中。 +首先,要將範圍內的值(座標的`column`屬性大於5或`row`屬性小於4)加入`append`到blockSet陣列中。 -接著,將陣列blockSet中的座標加上6磚塊(可用for-in迴圈重複執行6次) +接著,將blockSet陣列中的座標加上6塊磚塊(可用for-in迴圈重複執行6次) -最後,就能順利達成關卡目標了! +就能達成關卡目標了! ## 解答 From aa416b113042bf01684519fdad8474c68d25f12f Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Wed, 24 May 2023 08:11:42 +0800 Subject: [PATCH 16/22] Update 6-island-builder.md --- .../6-arrays/6-island-builder.md | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/6-island-builder.md b/docs/swift-learning-2/6-arrays/6-island-builder.md index 954a333..1220ae2 100644 --- a/docs/swift-learning-2/6-arrays/6-island-builder.md +++ b/docs/swift-learning-2/6-arrays/6-island-builder.md @@ -4,7 +4,22 @@ ## 簡介 -厭倦了內陸世界嗎? +厭倦了內陸世界嗎?使用程式碼來創造你自己的島嶼! + +首先,建立兩個用來儲存座標的空陣列。其中一個儲存島嶼的座標,另一個則儲存海洋的座標。 + +接著,在**if語句**中編寫一組條件,將座標附加到島嶼陣列中。這些座標應該位於地圖的中心,而且可能是3x3或4x4的磚塊。將不符合這些條件的所有座標附加到海洋的陣列中。 + +>加入水 +> +>若要加入水,請先移除現有的磚塊。 +> +>`world.removeAllBlocks(at: coordinate)` +> +>`world.place(Water(), at: coordinate)` + +將座標附加到每個陣列後,在島嶼陣列的每個座標上放置水。祝你好運! + ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/b1d5dc48-cc83-4128-00fc-de600dc24f00/public) @@ -43,4 +58,9 @@ for coordinate in sea { ## 後記 -TODO +你的能力不斷增強! + +你可以使用陣列既快速又有效地管理大量資訊,進而建構精彩的世界。 + +你有沒有注意到陣列`allCoordinates`如何被初始化?你可以使用world實例的`allPossibleCoordinates`**屬性**取得 + From 812cc779f806e8097825461f9405881dd5ffd5be Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Wed, 24 May 2023 08:23:06 +0800 Subject: [PATCH 17/22] Update 6-island-builder.md --- docs/swift-learning-2/6-arrays/6-island-builder.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/6-island-builder.md b/docs/swift-learning-2/6-arrays/6-island-builder.md index 1220ae2..c573962 100644 --- a/docs/swift-learning-2/6-arrays/6-island-builder.md +++ b/docs/swift-learning-2/6-arrays/6-island-builder.md @@ -6,7 +6,7 @@ 厭倦了內陸世界嗎?使用程式碼來創造你自己的島嶼! -首先,建立兩個用來儲存座標的空陣列。其中一個儲存島嶼的座標,另一個則儲存海洋的座標。 +首先,建立兩個用來儲存座標的空**陣列**。其中一個儲存島嶼的座標,另一個則儲存海洋的座標。 接著,在**if語句**中編寫一組條件,將座標附加到島嶼陣列中。這些座標應該位於地圖的中心,而且可能是3x3或4x4的磚塊。將不符合這些條件的所有座標附加到海洋的陣列中。 @@ -25,7 +25,11 @@ ## 講解 -TODO +1 先建立兩個陣列來存放陸地和海洋的位置 + +2 使用`if-else`判斷,將陸地和海洋位置分別新增至兩個陣列 + +3 在`for`迴圈中執行海洋陣列中有的座標位置,並將這些位置的陸地移除並加上水 ## 解答 @@ -62,5 +66,5 @@ for coordinate in sea { 你可以使用陣列既快速又有效地管理大量資訊,進而建構精彩的世界。 -你有沒有注意到陣列`allCoordinates`如何被初始化?你可以使用world實例的`allPossibleCoordinates`**屬性**取得 +你有沒有注意到陣列`allCoordinates`如何被初始化?你可以使用world實例的`allPossibleCoordinates`**屬性**取得關卡世界中所有座標的陣列,藉此反覆運算每個座標。是不是很酷呢? From f91d3012b1576f26250041f04223bf61a593d52d Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Sun, 28 May 2023 14:21:32 +0800 Subject: [PATCH 18/22] Update 1-storing-information.md --- docs/swift-learning-2/6-arrays/1-storing-information.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/swift-learning-2/6-arrays/1-storing-information.md b/docs/swift-learning-2/6-arrays/1-storing-information.md index ea1a030..821a6d9 100644 --- a/docs/swift-learning-2/6-arrays/1-storing-information.md +++ b/docs/swift-learning-2/6-arrays/1-storing-information.md @@ -36,6 +36,7 @@ placeCharacters(at: rows) ## 後記 是不是很酷? + 當你要在陣列中加入項目時,只需要加入一個逗號和一個與陣列中其他項目類型相符的項目。 請記住,建立特定類型的陣列(例如,整數陣列)之後,這個陣列便不能包含不同類型的項目了(例如 String) From 50e04c7a497798acddaa7cc0a3e21143414c4988 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Sun, 28 May 2023 14:21:53 +0800 Subject: [PATCH 19/22] Update 2-iteration-exploration.md --- docs/swift-learning-2/6-arrays/2-iteration-exploration.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md index e94264c..1d0c7a9 100644 --- a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md +++ b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md @@ -45,4 +45,5 @@ for currentColumn in columns { ## 後記 現在你學會反覆運算了! + 採用**反覆運算**陣列的方式來建構世界,比一次只放置一個項目要快得多。若要反覆運算陣列,請使用for-in 迴圈為陣列中的每個項目執行動作 From 04375b01f2d62ebb5d3cdc7c81ecd9e9a9191057 Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Sun, 28 May 2023 14:27:15 +0800 Subject: [PATCH 20/22] Update 4-getting-in-order.md --- docs/swift-learning-2/6-arrays/4-getting-in-order.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/swift-learning-2/6-arrays/4-getting-in-order.md b/docs/swift-learning-2/6-arrays/4-getting-in-order.md index 35af1d8..d78a7c5 100644 --- a/docs/swift-learning-2/6-arrays/4-getting-in-order.md +++ b/docs/swift-learning-2/6-arrays/4-getting-in-order.md @@ -73,6 +73,7 @@ for character in characters { ## 後記 你學得非常快! + 掌握如何使用陣列**索引**存取和修改項目十分好用。 你還可以運用提供給你的其他**方法**來修改陣列: From eaf19c66b65b05bd747b041f9ea9797e6d67fa6d Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Sun, 28 May 2023 14:30:01 +0800 Subject: [PATCH 21/22] Update 6-island-builder.md --- docs/swift-learning-2/6-arrays/6-island-builder.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/swift-learning-2/6-arrays/6-island-builder.md b/docs/swift-learning-2/6-arrays/6-island-builder.md index c573962..22dcffd 100644 --- a/docs/swift-learning-2/6-arrays/6-island-builder.md +++ b/docs/swift-learning-2/6-arrays/6-island-builder.md @@ -18,7 +18,7 @@ > >`world.place(Water(), at: coordinate)` -將座標附加到每個陣列後,在島嶼陣列的每個座標上放置水。祝你好運! +將座標附加到每個陣列後,在島嶼陣列的每個座標上放置磚塊,並在海洋陣列的每個座標上放置水。祝你好運! ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/b1d5dc48-cc83-4128-00fc-de600dc24f00/public) From 9a1650f4e892fc2b2a66a298ec9a9a0091a6c57e Mon Sep 17 00:00:00 2001 From: KyleLin0501 <115070005+KyleLin0501@users.noreply.github.com> Date: Mon, 5 Jun 2023 16:55:57 +0800 Subject: [PATCH 22/22] swift-learning2_6_array1_6 --- .../6-arrays/1-storing-information.md | 13 ++++++++----- .../6-arrays/2-iteration-exploration.md | 14 +++++++------- .../swift-learning-2/6-arrays/3-stacking-blocks.md | 14 +++++++------- .../6-arrays/4-getting-in-order.md | 12 ++++++------ .../6-arrays/5-appending-to-an-array.md | 8 ++++---- docs/swift-learning-2/6-arrays/6-island-builder.md | 10 +++++----- .../8-fixing-array-out-of-bounds-errors.md | 2 +- 7 files changed, 38 insertions(+), 35 deletions(-) diff --git a/docs/swift-learning-2/6-arrays/1-storing-information.md b/docs/swift-learning-2/6-arrays/1-storing-information.md index 821a6d9..babac67 100644 --- a/docs/swift-learning-2/6-arrays/1-storing-information.md +++ b/docs/swift-learning-2/6-arrays/1-storing-information.md @@ -4,26 +4,29 @@ ## 簡介 -下列程式碼中指定了一個整數陣列,稱為`rows`。你的目標是在這個陣列中加入值,來將角色實例放置在關卡世界的每一行。 +下列程式碼中指定了一個整數陣列,稱為 `rows` 。你的目標是在這個陣列中加入值,來將角色實例放置在關卡世界的每一行。 -若要將項目加入陣列,請按下並拖移中括號`[]`,或輸入新的值並以逗號分隔。 +若要將項目加入陣列,請按下並拖移中括號 `[]` ,或輸入新的值並以逗號分隔。 查詢註解來取得編寫程式碼的相關提示。 + >範例 > > // 這是一條程式碼註解。它會提供程式碼的相關資訊,但 App 不會執行這條註解。 -1 執行程式碼來看看會發生什麼。 +1. 執行程式碼來看看會發生什麼。 -2 在陣列中加入值來將你的角色放置在關卡世界的每個磚塊上。 +2. 在陣列中加入值來將你的角色放置在關卡世界的每個磚塊上。 ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/652c7590-ef26-4fdd-9f25-3dd8f9c46900/public) ## 講解 若要通關,你要試著在陣列中加入值,讓角色能放置到每個磚塊上。 + 除此之外,適實的使用註解能讓你更清楚每個段落在做什麼喔! + ## 解答 --8<-- "docs/snippets/danger-do-it-yourself.txt" @@ -39,5 +42,5 @@ placeCharacters(at: rows) 當你要在陣列中加入項目時,只需要加入一個逗號和一個與陣列中其他項目類型相符的項目。 -請記住,建立特定類型的陣列(例如,整數陣列)之後,這個陣列便不能包含不同類型的項目了(例如 String) +請記住,建立特定類型的陣列(例如,整數陣列)之後,這個陣列便不能包含不同類型的項目了(例如 `String` ) diff --git a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md index 1d0c7a9..30bf3e0 100644 --- a/docs/swift-learning-2/6-arrays/2-iteration-exploration.md +++ b/docs/swift-learning-2/6-arrays/2-iteration-exploration.md @@ -4,24 +4,24 @@ ## 簡介 -在下方程式碼中,你可以使用`columns`**陣列**來在關卡世界中的每個直欄放置寶石和開關。此過程叫做**反覆運算**,它可以讓你在陣列中為每個項目執行動作。 +在下方程式碼中,你可以使用 `columns` **陣列**來在關卡世界中的每個直欄放置寶石和開關。此過程叫做**反覆運算**,它可以讓你在陣列中為每個項目執行動作。 >範例 > ->若要反覆運算,請使用 for-in 迴圈,它是一種**for迴圈**的類型 +>若要反覆運算,請使用 for-in 迴圈,它是一種 **for 迴圈**的類型 > >``` >for currentColumn in colums { > world.place(Gem(),atColumn:currentColumn , row:1) >} >``` -`for-in`迴圈中會在陣列中替每個**變數**執行程式碼區塊。在上方範例中,`currentColumn`是儲存`columns`陣列中數值的變數。此數值會傳遞到`place`方法的`column`**參數**,以決定要放置寶石的直欄。 +`for-in` 迴圈中會在陣列中替每個**變數**執行程式碼區塊。在上方範例中, `currentColumn` 是儲存 `columns` 陣列中數值的變數。此數值會傳遞到 `place` 方法的 `column` **參數**,以決定要放置寶石的直欄。 -每次`for-in`迴圈執行時,`currentColumn`會前往陣列中的下一個項目,直到沒有剩下的項目。 +每次 `for-in` 迴圈執行時, `currentColumn` 會前往陣列中的下一個項目,直到沒有剩下的項目。 -1 完成會在陣列中反覆運算的的`for`迴圈。 +1. 完成會在陣列中反覆運算的的 `for` 迴圈。 -2 在迴圈中,在每個直欄放置寶石和開關。 +2. 在迴圈中,在每個直欄放置寶石和開關。 ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/ff0fc349-2ee3-4ad4-7aa5-4df7baf76800/public) @@ -46,4 +46,4 @@ for currentColumn in columns { 現在你學會反覆運算了! -採用**反覆運算**陣列的方式來建構世界,比一次只放置一個項目要快得多。若要反覆運算陣列,請使用for-in 迴圈為陣列中的每個項目執行動作 +採用**反覆運算**陣列的方式來建構世界,比一次只放置一個項目要快得多。若要反覆運算陣列,請使用 for-in 迴圈為陣列中的每個項目執行動作 diff --git a/docs/swift-learning-2/6-arrays/3-stacking-blocks.md b/docs/swift-learning-2/6-arrays/3-stacking-blocks.md index 2c05a2e..db60b6f 100644 --- a/docs/swift-learning-2/6-arrays/3-stacking-blocks.md +++ b/docs/swift-learning-2/6-arrays/3-stacking-blocks.md @@ -4,14 +4,14 @@ ## 簡介 -查看下列程式碼。這是一個`Coordinate`類型的陣列,而不是**Int**值的陣列。 +查看下列程式碼。這是一個 `Coordinate` 類型的陣列,而不是 **Int** 值的陣列。 >`Coordinate類型` > ->`Coordinate`實例使用`column`和`row`引數來參照一個位置。 +>`Coordinate` 實例使用 `column` 和 `row` 引數來參照一個位置。 > >`let corner = Coordinate(column: 3,row: 3)` -你可以使用`blockLocations`陣列反覆運算每個座標,並在每個位置上執行某項操作,例如: +你可以使用 `blockLocations` 陣列反覆運算每個座標,並在每個位置上執行某項操作,例如: >範例 > >``` @@ -20,15 +20,15 @@ >} >``` -1 加入了兩個座標到`blockLocations`中,每個座標參照世界中剩於的角落。 +1. 加入了兩個座標到 `blockLocations` 中,每個座標參照世界中剩於的角落。 -2 使用`for-in`迴圈**反覆運算**每個座標,在每個角落放置**五個磚塊**。(你可能需要**嵌套**其他**for迴圈**。) +2. 使用 `for-in` 迴圈**反覆運算**每個座標,在每個角落放置**五個磚塊**。(你可能需要**嵌套**其他 **for 迴圈**。) ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/25f474c7-9bc0-4d77-d150-1d4f3faa0200/public) ## 講解 -首先,將四個角落的位置加入`blockLocations`陣列中。 +首先,將四個角落的位置加入 `blockLocations` 陣列中。 接著,試著在迴圈中再加入一個迴圈,並重複執行五次堆疊磚塊的動作,就能輕鬆完成目標! @@ -54,4 +54,4 @@ for coordinate in blockLocations { 好極了! -你可能已經注意到,place(item: Item, at:Coordinate)**方法**採用了Coordinate類型的輸入,而place(item: Item, atColumn: Int, row: Int)則採用兩個**Int**值。這兩種方法都可以用來放置項目,但在本章節中,你將使用place(item: Item, at: Coordinate),因為要配合Coordinate類型的陣列一起使用。 +你可能已經注意到, `place(item: Item, at:Coordinate)` **方法**採用了 `Coordinate` 類型的輸入,而 `place(item: Item, atColumn: Int, row: Int)` 則採用兩個 **Int** 值。這兩種方法都可以用來放置項目,但在本章節中,你將使用 `place(item: Item, at: Coordinate)` ,因為要配合 `Coordinate` 類型的陣列一起使用。 diff --git a/docs/swift-learning-2/6-arrays/4-getting-in-order.md b/docs/swift-learning-2/6-arrays/4-getting-in-order.md index d78a7c5..8a37b58 100644 --- a/docs/swift-learning-2/6-arrays/4-getting-in-order.md +++ b/docs/swift-learning-2/6-arrays/4-getting-in-order.md @@ -1,6 +1,6 @@ # 依序排列 -目標:將Blu、Hopper和專家依照身高排序 +目標:將 Blu 、 Hopper 和專家依照身高排序 ## 簡介 @@ -31,9 +31,9 @@ > >`//[🌮, 🍝, 🍓, 🍳, 🧀]` -1 在下方的`characters`陣列中,移除傳送門和寶石。 +1. 在下方的 `characters` 陣列中,移除傳送門和寶石。 -2 插入一個`Expert`類型實例,使角色依照最矮在前(row 0)最高在後的順序排列。 +2. 插入一個 `Expert` 類型實例,使角色依照最矮在前(row 0)最高在後的順序排列。 ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/e12033ea-49b9-42ba-58aa-b8b0385a2c00/public) @@ -78,11 +78,11 @@ for character in characters { 你還可以運用提供給你的其他**方法**來修改陣列: -removeFirst() +`removeFirst()` -removeLast() +`removeLast()` -removeAll() +`removeAll()` 嘗試使用這些方法,看看它們如何運作! diff --git a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md index 9dff326..877af3f 100644 --- a/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md +++ b/docs/swift-learning-2/6-arrays/5-appending-to-an-array.md @@ -6,7 +6,7 @@ 將項目個別加入陣列中,存粹是重複性的操作。要是能夠建立一套規則來將座標包含在陣列中呢? -首先,從`allCoordinates`開始,這是由關卡世界中所有座標組成的**陣列**。 +首先,從 `allCoordinates` 開始,這是由關卡世界中所有座標組成的**陣列**。 接著,你需要一個空的陣列,讓這些座標可以附加在其中。由於要**宣告**一個未儲存任何值的陣列,因此需要指定它應該容納的項目**類型**。 @@ -16,15 +16,15 @@ > >`var newLocations: [Coordinate] = []` -最後,**反覆運算**`allCoordinates`並檢查每個座標的`column`和`row`**屬性**。如果座標的`column`屬性大於5或`row`屬性小於4,則將它附加到空的陣列中。然後將六個磚塊放置在陣列中的每個座標上。 +最後,**反覆運算** `allCoordinates` 並檢查每個座標的 `column` 和 `row` **屬性**。如果座標的 `column` 屬性大於5或 `row` 屬性小於4,則將它附加到空的陣列中。然後將六個磚塊放置在陣列中的每個座標上。 ![img](https://imagedelivery.net/cdkaXPuFls5qlrh3GM4hfA/35124c1a-b596-4982-fdc3-3724eaa6fd00/public) ## 講解 -首先,要將範圍內的值(座標的`column`屬性大於5或`row`屬性小於4)加入`append`到blockSet陣列中。 +首先,要將範圍內的值(座標的 `column` 屬性大於5或 `row` 屬性小於4)加入 `append` 到 blockSet 陣列中。 -接著,將blockSet陣列中的座標加上6塊磚塊(可用for-in迴圈重複執行6次) +接著,將 blockSet 陣列中的座標加上6塊磚塊(可用 for-in 迴圈重複執行6次) 就能達成關卡目標了! diff --git a/docs/swift-learning-2/6-arrays/6-island-builder.md b/docs/swift-learning-2/6-arrays/6-island-builder.md index 22dcffd..b29f31c 100644 --- a/docs/swift-learning-2/6-arrays/6-island-builder.md +++ b/docs/swift-learning-2/6-arrays/6-island-builder.md @@ -8,7 +8,7 @@ 首先,建立兩個用來儲存座標的空**陣列**。其中一個儲存島嶼的座標,另一個則儲存海洋的座標。 -接著,在**if語句**中編寫一組條件,將座標附加到島嶼陣列中。這些座標應該位於地圖的中心,而且可能是3x3或4x4的磚塊。將不符合這些條件的所有座標附加到海洋的陣列中。 +接著,在 **if 語句**中編寫一組條件,將座標附加到島嶼陣列中。這些座標應該位於地圖的中心,而且可能是3x3或4x4的磚塊。將不符合這些條件的所有座標附加到海洋的陣列中。 >加入水 > @@ -25,11 +25,11 @@ ## 講解 -1 先建立兩個陣列來存放陸地和海洋的位置 +1. 先建立兩個陣列來存放陸地和海洋的位置 -2 使用`if-else`判斷,將陸地和海洋位置分別新增至兩個陣列 +2. 使用 `if-else` 判斷,將陸地和海洋位置分別新增至兩個陣列 -3 在`for`迴圈中執行海洋陣列中有的座標位置,並將這些位置的陸地移除並加上水 +3. 在 `for` 迴圈中執行海洋陣列中有的座標位置,並將這些位置的陸地移除並加上水 ## 解答 @@ -66,5 +66,5 @@ for coordinate in sea { 你可以使用陣列既快速又有效地管理大量資訊,進而建構精彩的世界。 -你有沒有注意到陣列`allCoordinates`如何被初始化?你可以使用world實例的`allPossibleCoordinates`**屬性**取得關卡世界中所有座標的陣列,藉此反覆運算每個座標。是不是很酷呢? +你有沒有注意到陣列 `allCoordinates` 如何被初始化?你可以使用 world 實例的 `allPossibleCoordinates` **屬性**取得關卡世界中所有座標的陣列,藉此反覆運算每個座標。是不是很酷呢? diff --git a/docs/swift-learning-2/6-arrays/8-fixing-array-out-of-bounds-errors.md b/docs/swift-learning-2/6-arrays/8-fixing-array-out-of-bounds-errors.md index 23e8b51..be45ff1 100644 --- a/docs/swift-learning-2/6-arrays/8-fixing-array-out-of-bounds-errors.md +++ b/docs/swift-learning-2/6-arrays/8-fixing-array-out-of-bounds-errors.md @@ -61,4 +61,4 @@ teamBlu[8].jump() ## 後記 -請記住,找出程式錯誤並加以修正,是成為程式設計師不可或缺的重要部分!索引越界錯誤是導至 App 當機的常見錯誤程式之一。設計程式碼時,請隨時檢查你的程式碼,確保沒有嘗試存取陣列中不存在的部分。 +請記住,找出程式錯誤並加以修正,是成為程式設計師不可或缺的重要部分!索引越界錯誤是導至 App 當機的常見錯誤程式之一。設計程式碼時,請隨時檢查你的程式碼,確保沒有嘗試存取陣列中不存在的部分。 \ No newline at end of file