Unity C# | While & Do-While

閱讀時間約 3 分鐘

一、前言

  這篇文章將會講述 While 迴圈與 Do-While 迴圈。

二、 While

  這是一個比較簡易使用的迴圈,但是也比較有危險,使用的時候要特別注意迴圈是否有明確的架構,不會無限運作導致系統當機。

1. 架構

int ValueA = 0;
while(ValueA < 10)
{
   //Do something
}

  撰寫 While 迴圈,需要一個判斷式,與一個 break 用於跳出迴圈。

2. 判斷式

  ValueA < 10 是這個 While 迴圈的判斷式,只要符合這個條件,就會執行迴圈內的動作,在 While 迴圈中,只要符合迴圈的條件,就可以無限制地繼續執行下去,也因此判斷式會是整個迴圈的重點。

3. 注意事項與風險

  如果沒有設計好迴圈的判斷式,那程式就會陷入無限迴圈,這對於程式撰寫來說是很危險的狀態,如果沒有撰寫良好的判斷式,會導致迴圈停不下來,持續的執行直到電腦崩潰。

  尤其是新手容易放在 Update 中使用,導致每一幀都新增一個額外的迴圈,導致一秒出現60多個 While 迴圈,如果這些迴圈不會停止,那遊戲開始沒一秒不到系統就會過熱,直接當機,很快就崩潰了。

三、Do-While

  有些時候,我們並不希望一開始就檢測是否符合判斷式,而是希望程式可以先執行一遍,再去判斷是否有達成條件,Do-While 就是為了解決這樣的問題而存在,先執行一遍程式,再去判斷是否達成條件。

1. 架構

do
{
  //Do Something.
} while (ValueA < 10);

  撰寫 Do-While 迴圈,需要先撰寫一個 Do 關鍵字、程式碼區塊,並且在程式碼區塊的後方添加上 While 迴圈,並且直接上分號;作為結尾。

2. 判斷式

  ValueA > 10 就是此 While 迴圈的判斷式,跟 Whlie 迴圈完全一樣,不過 這個判斷式會在 Do 關鍵字執行以後才會運作,如果不符合條件會跳出迴圈;如果符合條件則會重覆 Do 裡面的事情,但無論怎麼說都會先執行一次 Do 裡面的事情。

3. 注意事項與風險

  Do-While 迴圈跟 While 的風險完全一樣。

四、額外的跳出迴圈-break

if(ValueA > 10)
{
break;
}

  我們可以使用一些方式提前跳出迴圈,除了好好撰寫判斷式之外,就是使用 break 關鍵字來跳出迴圈,這可以防治 While 迴圈的弊端,提前用 if 判斷式去判斷執行了幾次,有沒有超出既定的設計。

  但無論判斷式與 break 寫得多麼的精細與精湛,如果把它包裝在 Update 裡面,那程式無論如何都會崩潰。

四、後記

  最近我已經習慣早上起來撰寫文章,這可以大幅降低我請假休息的可能性,對於文章更新有非常好的幫助。

104會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
發表第一個留言支持創作者!
瓶裝雪的沙龍 的其他內容
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
這篇文章將會講述一個 Physics.Raycast 命中判斷的簡易寫法。
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
這篇文章將會講述角色控制器(CharacterController )的基本概述,並且分析其中可能的應用方式,最後簡單講述它的使用方式心得。
這篇文章將會講述物件池的基本概述,並介紹應用方向。
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
這篇文章將會講述一個 Physics.Raycast 命中判斷的簡易寫法。
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
這篇文章將會講述角色控制器(CharacterController )的基本概述,並且分析其中可能的應用方式,最後簡單講述它的使用方式心得。
這篇文章將會講述物件池的基本概述,並介紹應用方向。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
Unity (美股代號:U) 是全球最大的遊戲製作平台與龍頭引擎。不過股價自高點滑落並盤據20-30元已經有一段時間。此次財報非常樂觀,值得一看。
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
  透過Unity平台開發出來的遊戲,比較廣為人知,例如憤怒鳥和寶可夢。Unity 的遊戲開發技術,可以刺激遊戲產業,更朝氣蓬勃有效率地開發新遊戲用戶透過遊戲平台,就可以進入元宇宙的世界!
Thumbnail
Unity在這週公布了2022年Q1的財報,財報發布後股價下挫30%,下跌至30美元,已經遠遠跌破兩年前的上市價。Unity雪崩式的下跌是因為Q1的營運不理想、未來的營運預期不理想、還是單純是隨著近期成長股估值修正而下跌呢?這篇文會分析Unity 2022Q1財報及預測Unity未來的營運狀況。
Thumbnail
來談一下最近我很感興趣的一個投標,遊戲開發平台 Unity。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
Unity (美股代號:U) 是全球最大的遊戲製作平台與龍頭引擎。不過股價自高點滑落並盤據20-30元已經有一段時間。此次財報非常樂觀,值得一看。
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
  透過Unity平台開發出來的遊戲,比較廣為人知,例如憤怒鳥和寶可夢。Unity 的遊戲開發技術,可以刺激遊戲產業,更朝氣蓬勃有效率地開發新遊戲用戶透過遊戲平台,就可以進入元宇宙的世界!
Thumbnail
Unity在這週公布了2022年Q1的財報,財報發布後股價下挫30%,下跌至30美元,已經遠遠跌破兩年前的上市價。Unity雪崩式的下跌是因為Q1的營運不理想、未來的營運預期不理想、還是單純是隨著近期成長股估值修正而下跌呢?這篇文會分析Unity 2022Q1財報及預測Unity未來的營運狀況。
Thumbnail
來談一下最近我很感興趣的一個投標,遊戲開發平台 Unity。