GameMaker|for迴圈|程式基礎

閱讀時間約 5 分鐘

這篇內容,將會講解什麼是「for迴圈」,以及與「for迴圈」相關的知識。有了這些概念,各位會更容易理解,要如何設計程式碼。

本篇教學所使用的系統是Windows 10,如果有按鍵相關的說明,會用Windows的系統來解釋。如果你用的是Mac系統,再麻煩自行換成相對應的按鍵。

raw-image


前置知識


在學習本篇內容之前,最好具備以下的前置知識,以免看不懂這篇教學的內容。


for迴圈的簡介


如果我們希望,讓某段程式碼,重複執行N次,那我們就可以考慮使用「for迴圈」。

由於迴圈的種類有很多種,所以這種語法,通常都會稱呼為「for迴圈」,而不會簡稱為for,或是迴圈。

以下我們展示一段,for迴圈的使用範例:

//讓a++的程式碼,重複執行10次​
for (var _i = 0 ; _i <= 9 ; _i ++) {
a ++ ;
}


我們可以把for迴圈,理解成下面5個步驟:


1.將一個變數,進行賦值的動作


在上面的範例裡,我們定義了一個「_i」的局部變數,並將他設定為0。

這個變數的用途,是用來判定,for迴圈是否要繼續執行。


2.檢查for迴圈是否要結束


在上面的範例裡,用來檢查的判別式為「_i <= 9」,意思是,只要_i小於等於9,那for迴圈就繼續執行。

這邊給各位兩個口訣:「true就執行」或「false就跳出」,選一個記起來就好。


3.執行for迴圈裡的程式碼


在上面的範例裡,執行的程式碼是「a ++」。換句話說,每執行一次for迴圈,a就會執行+1的動作。


4.遞增或遞減,用來判定for迴圈的變數


在上面的範例裡,我們是用「_i ++」的程式碼,這表示每次執行完,for迴圈內的程式碼之後,_i就會執行+1的動作。

如果要用遞減,那就是使用「--」的符號。


5.返回步驟2,決定要不要繼續執行


以這段範例來說,_i會從0跑到9,換句話說,這個for迴圈總共會執行10次。


for迴圈


從上面的範例中,我們已經理解了,for迴圈的基本結構,這邊要再講解一些,使用for迴圈時,所需要知道的事項。

首先是變數範圍(Variable Scope),在上面的範例中,我們是使用局部變數,來定義_i,這是一個常見的作法。

也就是說,當這個for迴圈結束之後,_i就會被刪除,不會留在記憶體當中,畢竟,這個變數只是用來充當「計時器」,沒有必要繼續留著。


再來,這個_i變數,其實也可以應用在for迴圈裡面,例如以下的程式碼:

//利用for迴圈,讓a等於1加到10
a = 0 ;
for (var _i = 1 ; _i <= 10 ; _i ++) {
a = a + _i ;
}


第一次執行,a會等於1(0+1),第二次執行,a會等於3(1+2),第三次執行,a會等於6(3+3),以此類推下去,最後a就會變成1到10的總和。

因為變數遞增的性質,for迴圈十分適合用在,用來改變陣列(Array)裡的數值。

關於這方面的應用,將會在陣列的教學中講解:

GameMaker|Array 陣列|程式基礎


break


在switch的教學中,有講到break的語法,而在迴圈當中(任何類型的迴圈),也能使用break語法。

在迴圈當中,如果遇到break,表示終止「目前運行的整個迴圈」,例如以下的程式碼:

//當_i等於6時,迴圈中斷,因此a只會從1加到5
a = 0 ;
for (var _i = 1 ; _i <= 10 ; _i ++) {
if (_i == 6) {
break ;
}
a = a + _i ;
}


上述之所以會說「目前運行的」,是因為迴圈也能「套娃式」的使用,如果是在內層的迴圈裡使用break,那跳出去之後,外層的迴圈依然會繼續執行。


continue


上一個break,是終止整個迴圈,那能不能,只跳過「某一段的迴圈」就好?答案是使用

「continue」的語法。

以下是continue的範例:

//只跳過+5的迴圈,其他迴圈都正常執行
a = 0 ;
for (var _i = 1 ; _i <= 10 ; _i ++) {
if (_i == 5) {
continue ;
}
a = a + _i ;
}


這邊要注意一點,不管是break,或是continue,他們的「位置」很重要,因為在這些語法上方的程式碼,依然會執行,只有下方的內容,會被斷掉,例如:

//如果把break,擺到這個位置,那a就會變成1加到6
a = 0 ;
for (var _i = 1 ; _i <= 10 ; _i ++) {
a = a + _i ;
if (_i == 6) {
break ;
}
}

//完全沒有意義,因為加完才跳過,所以a最後還是變成1加到10
a = 0 ;
for (var _i = 1 ; _i <= 10 ; _i ++) {
a = a + _i ;
if (_i == 5) {
continue ;
}
}




🔔如果內容對你有幫助,可以按個喜歡,這樣就能讓更多人,接觸到這些棒棒的內容🔔


✨祝各位也能開心的做出好遊戲✨

免費、開心、簡單,這是我做教學的理念,我希望透過我的行動,讓人們找回自我學習的快樂,讓那些資源稀少的自學者們,也能朝著自己的夢想來前進。讓我們一起開心的做出遊戲吧!
留言0
查看全部
發表第一個留言支持創作者!
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
這篇內容,將會講解什麼是「if else」,以及與「if else」相關的知識。包括if else的簡介、if、if else、else if、套娃式的if。
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
這篇內容,將會講解什麼是運算子,以及與運算子相關的知識。包括運算子的簡介、賦值運算子、算術運算子、遞增/遞減、比較運算子、邏輯運算子。
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
這篇內容,將會講解什麼是「if else」,以及與「if else」相關的知識。包括if else的簡介、if、if else、else if、套娃式的if。
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
這篇內容,將會講解什麼是運算子,以及與運算子相關的知識。包括運算子的簡介、賦值運算子、算術運算子、遞增/遞減、比較運算子、邏輯運算子。
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
Thumbnail
這篇內容,將透過實戰教學,介紹GameMaker中的Event。包括Event的簡介、Create的講解、Step的講解、Events的基本操作。
Thumbnail
這篇內容,將簡單介紹Asset Browser、Workspace、Inspector、Code Browser,作為入門的介面導覽。
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
巢狀迴圈For loop介紹結構及範例說明 巢狀迴圈 巢狀迴圈是在一個迴圈內包含另一個迴圈的結構 簡單來說,就是內迴圈做完,才會在跑到外迴圈,接著在做內迴圈
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
Thumbnail
這篇內容,將透過實戰教學,介紹GameMaker中的Event。包括Event的簡介、Create的講解、Step的講解、Events的基本操作。
Thumbnail
這篇內容,將簡單介紹Asset Browser、Workspace、Inspector、Code Browser,作為入門的介面導覽。
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
巢狀迴圈For loop介紹結構及範例說明 巢狀迴圈 巢狀迴圈是在一個迴圈內包含另一個迴圈的結構 簡單來說,就是內迴圈做完,才會在跑到外迴圈,接著在做內迴圈