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

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

【PR】この記事には広告を含みます。

この記事はこんな人に読んでもらいたい

  • ナビつきレッスンを”何となく”進めてしまっていたあなた
  • フラグノードンをどのように使えばよいのかイメージできていないあなた

この記事はこんな人に読んでもらいたい

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

お疲れ様です。ゆーまるです。

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

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

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

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

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

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

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

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

フラグノードンの役割

  • 入力を受ける
  • 出力を出す
  • 出力を出し続ける

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

役割1. 入力を受ける

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

役割2. 出力を出す

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

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

そこで、コンピュータが理解しやすい『1』を出力します。

ちなみに、コンピュータは『0』と『1』の2つの数字ですべて表現するのでしたね。

過去の記事【コンピュータ基礎知識】片手で31まで数える方法!2進法とは?で説明していますので、ぜひこちらも確認してみてください。

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

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

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

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

と知りたいときに、フラグノードンが『0』と言っているか『1』と言っているか確認すればよいことになります。

このあと説明する使用例でさらに詳しく説明します。

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

隠しコマンド

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

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

私が小学生のころは、

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

などが有名でした。

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

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

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

実例:隠しコマンドのプログラミング

例えば、『▽▷BA』という隠しコマンドを作りたいとします。

そして、コマンドの入力が成功したらクラッカーが鳴る仕組みを作ることを考えてみます。

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

隠しコマンドに必要なイベント

  1. ▽ボタンが押される
  2. ▷ボタンが押される
  3. Bボタンが押される
  4. Aボタンが押される

とても当たり前のことを言っています。

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

例えば、『①▽ボタンが押される』の次に『③Bボタンが押される』が行われることを許可したら、どんな問題が起こるでしょうか?

スクロールを止めてちょっと考えてみましょう。

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

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

では、どのように対策をすると、めちゃくちゃに押してもクラッカーが鳴らないようになるでしょうか?

スクロールを止めてちょっとだけ考えてみましょう。

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

正しい隠しコマンド作成の手順

  • ステップ①:▽ボタンが押されたか確認する
  • ステップ②:次に押されたボタンが▷ボタンか確認し、違ったらステップ①に戻る
  • ステップ③:次に押されたボタンがBボタンか確認し、違ったらステップ①に戻る
  • ステップ④:次に押されたボタンがAボタンか確認し、違ったらステップ①に戻る

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

これならば、▽ボタンを押してステップ①をクリアした後、次にBを押してしまったら、次のステップに進むことができなくなります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

はじプロから次のステップへ
詳細はこちら!
はじプロから次のステップへ
詳細はこちら!