【はじプロ】フラグノードンを攻略:初心者がつまづきやすいポイントを解説してみた

フラグノードン攻略!『手順』と『判断』をる理解しよう はじプロ解説
この記事はこんな人に読んでもらいたい
  • ナビつきレッスンを”何となく”進めてしまっていたあなた
  • フラグノードンをどのように使えばよいのかイメージできていないあなた
この記事を読めばこんなことがわかる
  • フラグノードンとは『入力を受ける』とその後は『出力を出し』『続ける』ノードン
  • 『手順』のなかで『判断』が必要なところで使おう

お疲れ様です。YUmarunosuke(ゆうまるのすけ@YUmaru16061307)です。

今回は、「ナビつき!つくってわかる はじめてゲームプログラミング」(はじプロ)のフラグノードンとその使い方の一例の解説をします。

フラグノードンは、レッスン4で初めて登場しています。

ゲームプログラミングに限らず、プログラミングではフラグという概念が重要になってきます。

フラグの概念は、過去の記事【プログラミング基礎知識】フラグとは?よく聞く言葉だけどどういう意味?で説明していますので合わせてご確認ください。

是非、最頻出ノードンの1つであるフラグノードンの活用法を具体的に想像してみながら、しっかり一緒に学んでいきましょう。

そもそもフラグノードンとは?どういうことができるの?

フラグノードンとは、入力を受けるとその後は1の出力を出し続けるノードンです。

フラグノードンの役割を分解すると以下の3つです。

フラグノードンの役割
  1. 入力を受ける
  2. 出力を出す
  3. 出力を出し続ける

順番に説明をしていきます。

役割1. 入力を受ける

過去の記事【プログラミング基礎知識】フラグとは?よく聞く言葉だけどどういう意味?で説明していますが、
フラグとは『以前にイベントが発生したと判断するための目印』です。

役割2. 出力を出す

フラグの役割上、イベントが発生したことを他のノードン教えてあげる必要があります。

「イベントが終わっているよー」ということを言い続ければよいので、
出力をする数値は、0でなければいくつであってもよいのです。

なので、コンピュータが理解しやすい 1 を出力します。

役割3. 出力を出し続ける

イベントが終わった瞬間だけ次のノードンに出力を出しても、
そのあとにいるノードンが、イベントが終わったかどうか理解できません。

そこで、フラグノードンが『出力を出し続ける』役割を持つことで、

あのイベント終わったっけ?どんな結果だったっけ?

と知りたいときに、フラグノードンを見れば理解できるようになります。

このあと説明する使用例を見ていただければ理解しやすいと思います。

フラグノードンの役割 まとめ
  1. 入力を受ける
  2. 出力を出す
  3. 出力を出し続ける

フラグノードン実用例解説:隠しコマンド

隠しコマンド

近年のゲームではなかなか見られなくなった「隠しコマンド」。

タイトル画面などのゲーム中のどこかで決められた順にボタンを押すと、
パワーアップしたり、特殊なゲームモードで遊ぶことができたりしました。

私が小学生のころは、

  • グラディウス:↑↑↓↓←→←→BA(通称コナミコマンド)
  • ドラゴンボールZ 超武道伝:↑X↓B←L→R

などが有名でした。

同世代の親御さんや、ファミコン・スーファミ世代の方々は懐かしんでいただけるのではないでしょうか?

隠しコマンドこそ、フラグという概念、フラグノードンを理解する材料としてうってつけなのです。

順を追って説明していきます。

例えば、『▽▷BA』という隠しコマンドを作りたいとします。
隠しコマンドの入力が成功したらクラッカーが鳴るものとします。

必要なイベントは次のとおりです。

隠しコマンドに必要なイベント
  1. ▽ボタンが押される
  2. ▷ボタンが押される
  3. Bボタンが押される
  4. Aボタンが押される

ヒジョーに当たり前のことを言っています。

しかし、この『順番』が必要なのです。

例えば、『①▽ボタンが押される』の次に『③Bボタンが押される』が行われることを許可したら、どんな問題が起こるでしょうか?
スクロールを止めてちょっと考えてみましょう。

答えは、『めちゃくちゃに押してもクラッカーが鳴ってしまう』です。

極端に言えば、AB▷▽と押してもコマンド成功となってしまうのです。

では、どのように対策をすると、めちゃくちゃに押してもクラッカーが鳴らないようになるでしょうか?
スクロールを止めてちょっとだけ考えてみましょう。

答えは、次のとおりです。

正しい隠しコマンド作成の手順
  • ステップ①:▽ボタンが押されたか確認する
  • ステップ②:次に押されたボタンが▷ボタンか確認し、違ったらステップ①に戻る
  • ステップ③:次に押されたボタンがBボタンか確認し、違ったらステップ①に戻る
  • ステップ④:次に押されたボタンがAボタンか確認し、違ったらステップ①に戻る

このように、『順番』と『判断』を含んだ手順にすることが必要です。

これならば、▽ボタンを押してステップ①をクリアした後、

次にBを押してしまったら、次のステップに進むことができなくなります。

ちゃんと正しくステップが踏まれましたよ、ということを示すためにフラグを立ててあげます。

逆に間違った手順が踏まれた場合、フラグを下ろす作業をしてあげます。

実際にプログラムを組んでみるとこのようになります。

隠しコマンドのプログラム
隠しコマンドのプログラム概要
隠しコマンドのプログラム ゲーム画面部
隠しコマンドのプログラム概要 ゲーム画面部
隠しコマンド ゲーム画面
隠しコマンドのプログラム概要 ゲーム画面

実際のプログラミング画面を使って説明します。

下のスライドショーを見てください。画面の右側をクリックすると次のスライドへと移動します。

なお、一般的なプログラミング言語には『if』というコマンドがあります。

「もし○○が起こったら△△する」という指令を起こすコマンドです。条件分岐と言われます。

今回ご説明したフラグノードンと同じような内容ですね。

はじプロには残念ながら『if』コマンドがないので、
フラグノードンをところどころに配置して分岐を実装する必要があります。

考え方は同じですので、フラグノードンを使いこなすことができれば、
今後他のプログラミング言語を学ぶ際に、すんなりと条件分岐を理解することができます
よ。

フラグノードンの解説まとめ

今回は、「ナビつき!つくってわかる はじめてゲームプログラミング」 (はじプロ)の フラグノードンとその使い方の一例の解説をしました。

位置を角度にノードンの解説 まとめ
  • フラグノードンとは『入力を受ける』とその後は『出力を出し』『続ける』ノードン
  • 『手順』のなかで『判断』が必要なところで使おう

作りたい仕組みが複雑になるにつれて、フラグノードンを使う頻度はとても増えていきます。

凝ったゲームを作りたい方にとっては必修科目ですので、
是非今回の記事を何度も見返して、習得していただければと思います。

ゲームを作るうえで最頻出のノードンについては一通り説明していますので、併せてご覧ください。

では、次の記事までごきげんよう。

コメント

はじプロから次のステップへ
詳細をチェック!
はじプロから次のステップへ
詳細をチェック!
タイトルとURLをコピーしました