2012年1月8日星期日

KAG教學---隨機數,random&intrandom

(k ゚∀゚)<在遊戲程式裡,隨機數的應用是十分重要的要素,不過今次並不是說要如何應用,而是如何在吉里吉里裡取得一個隨機數,我們有兩種方法來製造隨機數,就是用random和intrandom,這兩個其實是TJS的東西,不過並不會很複雜的。

random和intrandom兩者有什麼差別?>( ゚ω゚ s)

(k ゚∀゚)<兩者其中一個差別是範圍和種類不同,random是給予一個由0至1之間的隨機數,看看以下的範例。

[eval exp="tf.num=random"]
[emb exp="tf.num"]

















(k ゚∀゚)<在上述的範例裡,random製造由0至1之間的隨機數,而這隨機數是有15個小數位的實數,然後指定給num這個變數。

只有由0至1之間的隨機數嗎,有沒有辦法製造一個範圍更大的隨機數?>( ゚ω゚ s)

(k ゚∀゚)<如果想要一個由0至n之間的隨機實數,其實可以把random乘以n,看看以下的範例。

[eval exp="tf.num=random*100"]
[emb exp="tf.num"]

















(k ゚∀゚)<在上述的範例裡,random製造由0至1之間的隨機數之後,再把它乘以100,那麼這隨機數變成由0至100之間的隨機實數。

如果我不想要實數,有沒有辦法製造一個整數>( ゚ω゚ s)

(k ゚∀゚)<如果大家是製造隨機的整數,可以使用intrandom,看看以下的範例。

[eval exp="tf.num=intrandom(1,5)"]
[emb exp="tf.num"]

















(k ゚∀゚)<在上述的範例裡,intrandom裡有兩個參數,第一個是隨機數的最小值,第二個是隨機數的最大值,所以intrandom(1,5)會傳回一個由1至5之間的隨機整數。

(k ゚∀゚)<今次介紹到這裡,隨機數的應用等之後再介紹吧。

1 則留言:

  1. 真巧,正想問這個隨機性問題 XDD
    加油~!

    回覆刪除