難易程度:簡單偏中
本教學特色:無論你有幾位數,只需要兩個變數就能完成

範 例 程 式 請 按 此 下 載  ]





原理:
電腦和數學總脫離不了關係,讓我們複習一下數學。

【問】
如果我們要處理的變數是「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倍的量,真是慘不忍睹!
所以強烈建議,用變數指定座標吧!

而且這樣可以讓你的程式更有利用價值喔!! (這樣一來,座標就可以從外面的程式丟指定給他)





若有問題或有更好的方法,歡迎大家討論!

arrow
arrow
    全站熱搜

    finalfrank 發表在 痞客邦 留言(0) 人氣()