GameMaker|Operator 運算子|程式基礎

更新於 發佈於 閱讀時間約 7 分鐘

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

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

raw-image


前置知識


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


Operator的簡介


在我們常用的數學裡,加減乘除會被稱作運算子(Operator),而數字會被稱為運算元(Operand)。

在程式語言裡面,也是類似的概念,只是運算子的種類,不只有加減乘除,還有其他類型的運算子,例如:賦值運算子、比較運算子、邏輯運算子,等等。

而程式語言裡面的運算元,則是變數(Variable)、函式(Function),以及各種不同類型的數值。


在這篇教學中,只會介紹比較常用的運算子,並且在最下方,附上官方的說明書連結。

如果遇到沒見過的運算子,可以試著在說明書裡,尋找答案。


賦值運算子 Assignment Operator


賦值的意義,已經在變數的教學中說明過,而「=」的符號,就是GameMaker中的賦值運算子。

//賦值運算子的使用範例
a =3 ;
b = "Hi" ;


算術運算子 Arithmetic Operator


我們常見的加減乘除,就是所謂的算術運算子,只是除法的部分,會分的比較細,有取小數的、有取商數的、有取餘數的。

算術運算子的用法,跟我們常用的數學一樣,是先乘除,後加減,如果有遇到括號,則會先運算括號裡的內容。

此外,乘方(同個數連續相乘,例如:53)在GameMaker中,是使用Runtime Function來處理,而「不是」使用我們常見的「^」符號(^有另外的功能,但初學者用不到)。

下方將會展示一些例子:

a = 1 + 2 ; //結果,a=3
a = 3 - 1 ; //結果,a=2
a = 5 * 2 ; //結果,a=10
a = 9 / 2 ; //結果,a=4.5,這個是取小數
a = 9 div 2 ; //結果,a=4,這個是取商數​
a = 9 mod 2 ; //結果,a=1,這個是取餘數​
a = 9 % 2 ; //結果,a=1,這個是取餘數
a = 5 + 1 * 2 ;//結果,a=7,記得要先乘除,後加減,如果怕搞亂,建議加上括號​
a = 5 + (1 * 2) ; //加上括號,會有比較高的辨識度
a = power( 5 , 3 ) ; //結果,a=125,這個函式代表5的三次方


上面是一些普通的運算,接下來會展示一些,利用算術運算子,和賦值運算子,所結合出來的特殊運算功能:

a += 1 ; //表示a=a+1
a -= 1 ; //表示a=a-1
a *= 2 ; //表示a=a*2
​a /= 2 ; //表示a=a/2
a %= 2 ; //表示a=a%2
//div和mod,無法使用這種結合功能​


最後要講一下,除了實數(Real Number)的計算之外,其他類型的資料,也有類似的用法,例如:字串(String)的相加。

不過,這邊沒打算進行講解,只是讓各位有這個概念。如果之後有遇到相關的範例,會再花點時間來說明。


遞增/遞減 Increment/Decrement Operator


所謂的遞增和遞減,分別是「++」和「--」,常見的用法如下:

a ++ ; //表示a=a+1
a -- ; //表示a=a-1​

上述的功能,是在程式中,很常見的功能,不管是規劃計時器,或是改變物件的狀態,都有可能會使用到。


另外,遞增和遞減,還有類似「++a」、「b=++a」、「b=a++」的用法。

個人是覺得,初學者用不到這些功能,因此這邊並不打算講解。如果之後有遇到相關的範例,會再花點時間來說明。


比較運算子 Comparison Operator


所謂的比較運算子,就是大於、小於、等於,這種類型的運算功能。

比較運算子有個特色,那就是比較完之後,會回傳一個true或false的數值(算式成立,會回傳true,不成立的話,會回傳false)。

也因為這個特色,導致比較運算子,常常會搭配「if else」的功能來使用(if收到true會執行,收到false會不執行)。

以下是一些常用的範例:

if (a > b) {/*程式碼*/} //如果a大於b,就執行程式碼
if (a >= b) {/*程式碼*/} //如果a大於等於b,就執行程式碼
if (a < b) {/*程式碼*/} //如果a小於b,就執行程式碼
if (a <= b) {/*程式碼*/} //如果a小於等於b,就執行程式碼
if (a == b) {/*程式碼*/} //如果a等於b,就執行程式碼,注意,要使用"兩個等於"符號
if (a != b) {/*程式碼*/} //如果a不等於b,就執行程式碼,"驚嘆號"代表"不"的意思


邏輯運算子 Logical Operator


邏輯運算子的用法,跟比較運算子相似,也是會回傳true和false的數值。如果用簡單的說法來舉例,大概就是:當A「和」B都成立的時候,就回傳true。

除了「和」以外,還有「或」、「互斥或」、「不」,這些邏輯運算子。

邏輯運算子通常會和比較運算子,一起做使用。以下會用一些範例,來做說明:

//如果a大於b,且c大於d,就執行程式碼(兩個都成立才能執行)(兩種符號通用)
if (a > b) and ( c > d ) {/*程式碼*/}
if (a > b) && ( c > d ) {/*程式碼*/}

//如果a大於b,或c大於d,就執行程式碼(其中一個成立就執行)(兩種符號通用)
if (a > b) or ( c > d ) {/*程式碼*/}
if (a > b) || ( c > d ) {/*程式碼*/}

//以下是"互斥或"的寫法,但暫時不說明,未來如果有用到,會再另外說明(兩種符號通用)
if (a > b) xor ( c > d ) {/*程式碼*/}
if (a > b) ^^ ( c > d ) {/*程式碼*/}

//"驚嘆號"表示"不"的意思,各位可以用"相反"的概念來理解
//當滑鼠左鍵"沒有"被按下時,就執行程式碼(有的相反是沒有)
if (!mouse_check_button_pressed(mb_left)) {/*程式碼*/}


這邊深入探討一下,最後一個「不」的範例。

範例裡的函式,會在滑鼠的左鍵按下時,回傳true的數值,但因為前面有個驚嘆號,因此訊號就會被「相反」,變成了false。

當if收到false的數值,就不會執行程式碼,最終,就變成了:當滑鼠左鍵「沒有」被按下時,就執行程式碼。


官方的說明書


其實大部分的運算子,都已經講解過了,但如果你想要深入了解,其他比較進階的運算子,可以參考官方提供的說明書。

GameMaker的運算子




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


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

留言
avatar-img
留言分享你的想法!
avatar-img
開心做遊戲 Happy Making Game
11會員
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
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
本章將介紹 C 語言的運算子 (Operators),這是程式語言的基礎,負責執行數值計算、條件判斷與邏輯運算。我們將最先學習變數在記憶體中的樣子,這是非常重要的觀念,接著漸入到算術運算、關係運算、邏輯運算、位元運算與三元運算子等,並透過 運算子優先順序 來確保正確的運算執行順序。
Thumbnail
本章將介紹 C 語言的運算子 (Operators),這是程式語言的基礎,負責執行數值計算、條件判斷與邏輯運算。我們將最先學習變數在記憶體中的樣子,這是非常重要的觀念,接著漸入到算術運算、關係運算、邏輯運算、位元運算與三元運算子等,並透過 運算子優先順序 來確保正確的運算執行順序。
Thumbnail
當我們需要給某個系統或應用程序添加一種新的語言或表達式時,解譯器模式就派上了用場。這種模式提供了一種將句子或表達式分解成多個令牌的方法,然後根據這些令牌進行解釋或解析。
Thumbnail
當我們需要給某個系統或應用程序添加一種新的語言或表達式時,解譯器模式就派上了用場。這種模式提供了一種將句子或表達式分解成多個令牌的方法,然後根據這些令牌進行解釋或解析。
Thumbnail
👨‍💻簡介 本文快速介紹了 Go 語言中的各種運算符,從數學計算到邏輯判斷,包括自增自減、賦值、比較和位運算。透過實例和清晰的解釋,快速掌握如何在程式中運用這些運算符。
Thumbnail
👨‍💻簡介 本文快速介紹了 Go 語言中的各種運算符,從數學計算到邏輯判斷,包括自增自減、賦值、比較和位運算。透過實例和清晰的解釋,快速掌握如何在程式中運用這些運算符。
Thumbnail
介紹邏輯運算的觀念,包含布林值、運算子與運算式的介紹。並說明如何使用 Python 撰寫這些觀念。
Thumbnail
介紹邏輯運算的觀念,包含布林值、運算子與運算式的介紹。並說明如何使用 Python 撰寫這些觀念。
Thumbnail
Hi,大家好。我是茶桁。 前两节我们学习了基本的Python特性和语法,并且认识了一些基本的Python脚本。今天,我们来学习一下Python的运算符,而我们选择的版本为Python3。 什么是运算符 为了能让我们的学习顺利进行下去,首先我们需要先弄明白:什么是运算符。 这里举一个简单的栗子
Thumbnail
Hi,大家好。我是茶桁。 前两节我们学习了基本的Python特性和语法,并且认识了一些基本的Python脚本。今天,我们来学习一下Python的运算符,而我们选择的版本为Python3。 什么是运算符 为了能让我们的学习顺利进行下去,首先我们需要先弄明白:什么是运算符。 这里举一个简单的栗子
Thumbnail
  程式中很常會看到千奇百怪的運算式,這些運算式都隱藏著各種運算元和運算子,這些是什麼呢?讓我們來一探究竟。   運算元是指變數、常數這類(如:A、B、C、Data、123等),運算子是指運算符號(如:+、-、*、/、%、==、<、&&等這類型),這邊就要介紹C#的運算子以及怎麼使用。
Thumbnail
  程式中很常會看到千奇百怪的運算式,這些運算式都隱藏著各種運算元和運算子,這些是什麼呢?讓我們來一探究竟。   運算元是指變數、常數這類(如:A、B、C、Data、123等),運算子是指運算符號(如:+、-、*、/、%、==、<、&&等這類型),這邊就要介紹C#的運算子以及怎麼使用。
Thumbnail
本篇文章將會記錄Microsoft關於數字計算相關的知識,以及紀錄這些計算的專有名詞,補足闕漏的知識。
Thumbnail
本篇文章將會記錄Microsoft關於數字計算相關的知識,以及紀錄這些計算的專有名詞,補足闕漏的知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
賦值、打印、算數運算子、邏輯與關係運算子
Thumbnail
賦值、打印、算數運算子、邏輯與關係運算子
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News