NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(gb.pickRandomSeedの使い方)

■gb.pickRandomSeed関数
 Gamebuimo.hライブラリのgb.pickRandomSeed関数は、バッテリー電圧、周囲光センサー、および始動からの経過時間を混合して乱数種※1を選択します。
 これは、gb.begin関数とgb.titleScreen関数の直後に置く必要があります。
 この方法では、乱数種※1はユーザーが "A"を押してタイトル画面を離れるまでの時間に依存します。

※1:乱数種とは、疑似乱数生成の元になる値の事

■使用例
 gb.pickRandomSeed関数を使ったArduinoIDEのプログラム例は図1の通りです。
 このプログラムを実行するとsetup関数中のgb.begin関数でGamebuinoオブジェクトを初期化し、gb.pickRandomSeed関数でランダムシードを選択し、gb.titleScreen関数で画面に「Example game」と、その下にlogo変数で定義したロゴを表示します。
 スタート画面でキーボードの「K」(GamebuinoのA)ボタンを押すと画面左上に「Hello World」と表示されます。
 その画面でキーボードの「R」(GamebuinoのC)ボタンを押すとスタート画面に戻ります。
 参考に図1プログラムをHEXファイルに変換し、それをSimbuino4Webエミュレートした結果を図2に示します。

#include <SPI.h>
#include <Gamebuino.h>
Gamebuino gb;

const static unsigned char PROGMEM logo[] =
{
   8, 8,
   B00000000,
   B00100100,
   B00011000,
   B01111110,
   B00111100,
   B01111110,
   B00111100,
   B00000000,
};

void setup() {
   // Gamebuinoオブジェクトを初期化する
   gb.begin();
   gb.titleScreen(F("Example game"), logo);
   gb.pickRandomSeed();
}

void loop() {
   if (gb.update()) {
       gb.display.println("Hello world");
       if (gb.buttons.pressed(BTN_C)) {
           gb.titleScreen(F("Example game"), logo);
       }
   }
}
イメージ 1
図1:プログラム例
 

 イメージ 1
図2:プログラム実行結果

 

■構文
 gb.pickRandomSeed()

■パラメータ
 ありません

■戻り値
 ありません
 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【Gamebuinoリファレンス】目次に戻る