プログラミングとパズルゲームの共通点は? その難しさと楽しさ

拡大
縮小

そこで【「動きタグ」が下向きになったら】という条件が指定されたアイコンを設置し、「カメラ」タグのコネクタとつなぐ。これで【「動きタグ」が上向き、または、下向きになったら】⇒【背面カメラで写真を撮る】というプログラムになる。

このように、ゴールとなるアクションにたどり着くまでの条件の指定に不備や不足を洗い出していく作業は、ちょっと前に流行った「アングリーバード」のような、パズル系のアクションゲームを解く感覚に似ている気がする。自分で作ったことはないけれど「ピタゴラスイッチ」のピタゴラ装置も、そういう思考回路で完成させていくのだろう。

複数タグの組み合わせで、イメージする機能が実現する

そんなパズルを解くようなプログラムの作業でいちばん頭を悩ませたのが、「寝ている」状態をプログラムでどのように表現するかだった。

先ほども触れたように、今回はイヌちゃんが「寝ている」状態を、【体を横向きにして】【一定時間動いていない】と定義している。しかし、ここまでのプログラムでは前半の【体を横向きにして】までしか表現できていない。これではイヌちゃんがゴロンと横向きになるだけで撮影されてしまうことになるのだ。

では、後半の【一定時間動いていない】を、どのように表現すればよいのだろう?

あれこれ悩んだ結果、時間に関係する条件が指定できる「タイマータグ」と、回数を数える「カウンタータグ」のふたつを組み合わせることで、一定の時間が経過したらアクションを促す信号を出す、一種の時限装置を完成させることができた。

ひとつめのポイントは「タイマータグ」の使い方だ。「一定の間隔で」という画面で秒数の指定を行うと、指定した間隔でアプリの画面上で、次につないでいるタグへ信号を送ることができるようになる。この場合は、「動きタグ」が上向き、または下向きになったら、1秒ごとに信号を連続して送るように指定した。

次ページ「カウンタータグ」の使い方
関連記事
トピックボードAD
ライフの人気記事
トレンドライブラリーAD
連載一覧
連載一覧はこちら
人気の動画
日本の「パワー半導体」に一石投じる新会社の誕生
日本の「パワー半導体」に一石投じる新会社の誕生
TSUTAYAも大量閉店、CCCに起きている地殻変動
TSUTAYAも大量閉店、CCCに起きている地殻変動
【田内学×後藤達也】新興国化する日本、プロの「新NISA」観
【田内学×後藤達也】新興国化する日本、プロの「新NISA」観
【浪人で人生変わった】30歳から東大受験・浪人で逆転合格!その壮絶半生から得た学び
【浪人で人生変わった】30歳から東大受験・浪人で逆転合格!その壮絶半生から得た学び
アクセスランキング
  • 1時間
  • 24時間
  • 週間
  • 月間
  • シェア
会員記事アクセスランキング
  • 1時間
  • 24時間
  • 週間
  • 月間
トレンドウォッチAD
東洋経済education×ICT