難易程度:簡單偏中
本教學特色:無論你有幾位數,只需要兩個變數就能完成
[ 範 例 程 式 請 按 此 下 載 ]
原理:
電腦和數學總脫離不了關係,讓我們複習一下數學。
【問】
如果我們要處理的變數是「26」,
那麼,我想要讓它的 十位數 個位數 拆成兩個單獨的變數,要怎麼做?
【答】
-> 26 除以 10 等於 2 餘 6
-> 我們得到的答案是「2」,而餘數是「6」,這樣剛好達成我們的目的。
在電腦的世界裡面,除了基本的「加減乘除」四則運算以外,還有一個重要的運算子叫做「取餘數」
它的符號是「%」
例如,26 % 10 = 6 (因為26除以10餘6)
也就是說,我們剛剛的題目,藉由「除法」,可以得到「2」 (十位)
藉由「取餘數」,可以得到「6」 (個位)
我們這個教學,要用到的就是這個原理。
又,兩個位數以上的情況怎麼辦?
【問】如果我們要處理的變數是「238」,怎麼拆成三個數?
【答】
-> 238 除以 100 等於 2 餘 38 --> 得到2
-> 餘數由於還是大於10,所以並未完成,要繼續做
-> 38 除以 10 等於 3 餘 8 --> 得到 3 和 8
以上的如果你都能了解,那麼我們就可以繼續做下去
下面大致上把程式架構寫出來,來處理一個三位數的問題
(1) 變數「原數字」(本例設定為732)
(2) 準備一個變數,命名為「暫存數字A」
(3) 準備一個變數,命名為「暫存數字B」
接下來,依照程式的指令照順序一步一步做,就可以分別得到三個數
指令 | 暫存數字 A | 暫存數字 B | 原數字 |
(1) 指定原數字 | 0 | 0 | 732 |
(2) 暫存數字A = 原數字 | 732 | 0 | 732 |
(3) 暫存數字B = 原數字 | 732 | 732 | 732 |
(4) 暫存數字A 除以 100 | 7 | 732 | 732 |
(5) 暫存數字B % 100 | 7 | 32 | 732 |
(6) 暫存數字B = 暫存數字 A | 32 | 32 | 732 |
(7) 暫存數字A 除以 10 | 3 | 32 | 732 |
(8) 暫存數字B % 10 | 3 | 2 | 732 |
標紅字的部分,表示可以使用那個變數的時機。
數學和程式流程都學完之後
我們就可以回到 RPG Maker 了
首先,我們讓電腦顯示「一個位數」就好,至少先學會一個位數要怎麼顯示!
(剛剛的數學暫時派不上用場)
接著,我們讓電腦顯示「二個位數」
我們總算可以把剛才學會的數學搬出來用了 (圖中打星星的地方)
※注意,十位數和個位數的圖片,編號不能一樣喔!否則最後你看到的還是一個位數.......(另外一個位數會被蓋掉)※
※圖片的座標要指定在正確的位置,不要讓兩個位數重疊了!!!※
只用兩個位數似乎還不夠看!!
我們來看看「四個位數」
四個變數也只是兩個變數的加強版,沒什麼特別的
但是,有沒有注意到? 這裡的座標是用變數指定的!!
為什麼要用變數指定座標呢?
因為同一個位數的座標都是相同的,但是一個位數卻有十種可能 ( 0 ~ 9 )
而且指定的都是同一個座標!!
如果哪天你想要修改座標,那麼光是一個位數就要改10倍的量,真是慘不忍睹!
所以強烈建議,用變數指定座標吧!
而且這樣可以讓你的程式更有利用價值喔!! (這樣一來,座標就可以從外面的程式丟指定給他)
若有問題或有更好的方法,歡迎大家討論!
留言列表