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 ;
}
}




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


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

留言
avatar-img
留言分享你的想法!
avatar-img
開心做遊戲 Happy Making Game
10會員
68內容數
免費、開心、簡單,這是我做教學的理念,我希望透過我的行動,讓人們找回自我學習的快樂,讓那些資源稀少的自學者們,也能朝著自己的夢想來前進。讓我們一起開心的做出遊戲吧!
2024/08/12
這篇內容,將會講解什麼是陣列,以及與陣列相關的知識。包括陣列的簡介、陣列的資料限制、陣列的維度、一維陣列、二維陣列。
Thumbnail
2024/08/12
這篇內容,將會講解什麼是陣列,以及與陣列相關的知識。包括陣列的簡介、陣列的資料限制、陣列的維度、一維陣列、二維陣列。
Thumbnail
2024/08/11
這篇內容,將會講解什麼是「repeat迴圈」,以及與「repeat迴圈」相關的知識。包括repeat迴圈的簡介、break、continue。
Thumbnail
2024/08/11
這篇內容,將會講解什麼是「repeat迴圈」,以及與「repeat迴圈」相關的知識。包括repeat迴圈的簡介、break、continue。
Thumbnail
2024/08/11
這篇內容,將會講解什麼是「do until」,以及與「do until」相關的知識。包括do until的簡介、break、continue。
Thumbnail
2024/08/11
這篇內容,將會講解什麼是「do until」,以及與「do until」相關的知識。包括do until的簡介、break、continue。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
這篇內容,將會講解什麼是「for迴圈」,以及與「for迴圈」相關的知識。包括for迴圈的簡介、for迴圈、break、continue。
Thumbnail
這篇內容,將會講解什麼是「for迴圈」,以及與「for迴圈」相關的知識。包括for迴圈的簡介、for迴圈、break、continue。
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
在 Kotlin 程式語言中,for 迴圈非常便捷,能用於遍歷陣列、列表、集合等多種資料型別中的元素。這種遍歷方式不僅簡潔易讀,還能輕鬆處理集合內的元素。
Thumbnail
在 Kotlin 程式語言中,for 迴圈非常便捷,能用於遍歷陣列、列表、集合等多種資料型別中的元素。這種遍歷方式不僅簡潔易讀,還能輕鬆處理集合內的元素。
Thumbnail
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
Thumbnail
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
Thumbnail
迴圈對象可以是列表或範圍,透過定義重複動作的內容,我們可以在迴圈中執行指定次數的操作。利用range函數,我們可以自訂重複執行的次數。同時,我們也介紹了break和continue的使用,以及巢狀迴圈的特性。
Thumbnail
迴圈對象可以是列表或範圍,透過定義重複動作的內容,我們可以在迴圈中執行指定次數的操作。利用range函數,我們可以自訂重複執行的次數。同時,我們也介紹了break和continue的使用,以及巢狀迴圈的特性。
Thumbnail
什麼是迴圈?就是不停地、不斷地在做同樣的事,所以才稱「重複性迴圈」,因為一直再輪迴,那麼像上一篇的例子,不到60分就要一直補考是要怎麼用呢?重複性迴圈主要有for迴圈、while迴圈、do...while迴圈,有何不一樣?接下來就來介紹一下它們? 一、for迴圈 這一個會運用到初始值、繼續執行的條件
Thumbnail
什麼是迴圈?就是不停地、不斷地在做同樣的事,所以才稱「重複性迴圈」,因為一直再輪迴,那麼像上一篇的例子,不到60分就要一直補考是要怎麼用呢?重複性迴圈主要有for迴圈、while迴圈、do...while迴圈,有何不一樣?接下來就來介紹一下它們? 一、for迴圈 這一個會運用到初始值、繼續執行的條件
Thumbnail
C# 迴圈(C# 教學) – for loop 可以說是程序編寫的基本功. 運用LOOPING可以減少程式碼, 只需透過for內的BLOCK, 就可把程式碼重用, 避免要不停把程序碼重覆. 以下我會介紹迴圈的結構, 運行方式, 如何離開迴圈, 以及迴圈的種類. 2) 迴圈的種類 3) 迴圈的用法
Thumbnail
C# 迴圈(C# 教學) – for loop 可以說是程序編寫的基本功. 運用LOOPING可以減少程式碼, 只需透過for內的BLOCK, 就可把程式碼重用, 避免要不停把程序碼重覆. 以下我會介紹迴圈的結構, 運行方式, 如何離開迴圈, 以及迴圈的種類. 2) 迴圈的種類 3) 迴圈的用法
Thumbnail
前言   這篇文章將會介紹 for 陳述式和 foreach 陳述式,以及比較兩者的差別,並撰寫範例介紹用途。 迴圈使用條件   當我們需要重複執行程式碼達特定次數,或需要控制.NET執行階段去執行反覆項目的方式時,會使用到迴圈,在遊戲產程式中,迴圈更是不可少的重要程式碼區塊。 for 關鍵字
Thumbnail
前言   這篇文章將會介紹 for 陳述式和 foreach 陳述式,以及比較兩者的差別,並撰寫範例介紹用途。 迴圈使用條件   當我們需要重複執行程式碼達特定次數,或需要控制.NET執行階段去執行反覆項目的方式時,會使用到迴圈,在遊戲產程式中,迴圈更是不可少的重要程式碼區塊。 for 關鍵字
Thumbnail
目前為止,我們學到了基本的for迴圈,也就是僅對一個可迭代物件進行迭代。當一個迴圈裡面還有另一個迴圈,這時就形成了巢狀迴圈,最基本的例子就是九九乘法表,每個被乘數都對應到9個乘數,當被乘數和9個乘數都計算完了之後,才換下一個被乘數,不斷迴圈直到每個被乘數和乘數都計算過。另個for迴圈的應用是將串列和
Thumbnail
目前為止,我們學到了基本的for迴圈,也就是僅對一個可迭代物件進行迭代。當一個迴圈裡面還有另一個迴圈,這時就形成了巢狀迴圈,最基本的例子就是九九乘法表,每個被乘數都對應到9個乘數,當被乘數和9個乘數都計算完了之後,才換下一個被乘數,不斷迴圈直到每個被乘數和乘數都計算過。另個for迴圈的應用是將串列和
Thumbnail
  寫程式最重要的目標就是讓重複的工作交給電腦去執行,解放雙手和精力去做重複的事情,今天要介紹的迴圈就是可以讓電腦重複執行程式直到條件結束的方式。
Thumbnail
  寫程式最重要的目標就是讓重複的工作交給電腦去執行,解放雙手和精力去做重複的事情,今天要介紹的迴圈就是可以讓電腦重複執行程式直到條件結束的方式。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News