SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

プチコン大喜利応募作「ビー玉レース」

プチコン公式サイトで開催されていたプログラムコンテスト「プチコン大喜利」。今日が応募締切でした。
せっかくなので、1本投稿してみました。
プログラムコンテストへ参加するのは今回が初めてでしたが、結果はともかくいい経験になりました。楽しかったです。
今回の大喜利は、お題が3つありました。

  • なんだかゆかいな跳ねるもの
  • あればいいなと思ったり思わなかったり
  • お母さんに見られても安心

どれか1つを満たすのが応募作品の条件です。
結局、1作品に無理矢理3つとも盛り込んでしまいました(笑)
応募作品は未発表作品でなければならないのですが、個人のブログなどで公開するのは構わないとのことなので、公開します。
なお、こちらは一般公開バージョンとして、大喜利に応募したプログラムから若干変更しています。
以下、大喜利に応募した際の説明文です。(こちらも文章を若干変更+画像を追加)。


●プログラムタイトル

「ビー玉レース」

●はじめに

CUIGUI→これからはBUI(ビー玉・ユーザー・インターフェース)だ!
十字キーやタッチペンでなく、本物のビー玉をタッチパネル上で転がして操作するレースゲームです。
まず大きめのビー玉(直径25ミリ程度)を用意してください。100円ショップなどで買えます。

必要なファイルは以下の4つです。
◇プログラムリソース  PRG:BDAMA
◇キャラクタリソース  CHR:BDAMA
◇グラフィックリソース GRP:BDAMA1,GRP:BDAMA2

●操作方法、ルール

プログラムを実行すると、まずタイトル画面が表示されます。

その後、ビー玉動作テスト用の水準器が表示されます。

タッチパネルにビー玉を置いて、転がして中央へ合わせてください。ゲーム本編へ進みます。
本当に水準器として使えますので、あればいいなと思ったり思わなかったり。

ゲーム本編へ入ると、画面にコースとビー玉が表示され、レースがスタートします。

タッチパネル上でビー玉を左右へ転がすと、画面のビー玉が左右に移動します。
タッチパネルの上部へビー玉を転がすと、画面のビー玉の速度が上がります。下部へ転がすと速度が下がります。
また、タッチパネル上でビー玉を空中へ跳ねさせると、画面のビー玉をジャンプさせることができます。

コースを先へ進む毎に点数が加算されます。できるだけビー玉の速度を上げて、コースの制限時間内にスコアを稼いでください。
コースは中央の舗装道路部分で、その周りにラフ(草地)があります。ラフに乗ってしまうと速度が落ちるので、できるだけコース内を走ってください。なおビー玉が空中へジャンプしている間は、ラフの影響を受けません。

コース上に、時々ボーナスポイントが出てきます。ビー玉が通過すると100点が加算されます。
また、コースには様々な障害物が出てきます。それらは左右に避けるか、ジャンプして飛び越えてください。
障害物によっては当たるとミスになり、残りのビー玉が1個減ります。スタート時は3個のビー玉があり、それが無くなるとゲームオーバーです。スコアが3000点に達すると、ビー玉が1個追加されます。

ビー玉がラフに入って7秒以上コースへ戻らなかった場合や、空中へジャンプして7秒以上着地しなかった場合は、コースアウトとみなされてミスになります。もしビー玉をタッチパネルの外へ落としてしまったら、素早く拾って戻してください。

●コース、障害

◇コース1

障害として「爆弾」が出てきます。ビー玉が触れると爆発してミスになります。
左右に避けるか、ジャンプして飛び越えてください。
このコースのみ制限時間が30秒と短くなっています。障害が少ないので練習コースのつもりで、まずはビー玉の操作に慣れましょう。

◇コース2

障害として「レンガの壁」が追加されます。ビー玉がレンガの壁に当たってもミスにはなりませんが、引っかかって足止めされて時間をロスします。
左右に避けるか、ジャンプして飛び越えてください。
このコース以降は制限時間が45秒になります。

◇コース3

障害として「穴」が追加されます。ビー玉が穴にはまると、足止めされて時間をロスします。
左右にも動けなくなるので、ジャンプして脱出してください。

◇コース4

障害として「敵の玉」が追加されます。ビー玉が敵の玉に当たってもミスにはなりませんが、引っかかって足止めされて時間をロスします。
左右に避けるか、ジャンプして飛び越えてください。
敵の玉は自分のビー玉と同様に左右に動きながら走っているので、避けるのが難しくなります。

◇コース5

障害として、コースを横切る「川」が追加されます。ビー玉が川へ落ちるとミスになってしまいます。
ジャンプして飛び越えてください。

◇コース6〜10

コース1〜5のくり返しになりますが、コースの幅が狭くなり、難易度が上がります。

◇エンディング

コース10までクリアすると、優し気な(笑)エンディングとなります。
オールクリアしても10分ほどで終わるので、お母さんに見られても安心です。

●お題についてのコメント

「跳ねるもの」から、本物のビー玉をタッチパネル上で跳ねさせることを思いつき、何とかお題を3つとも盛り込んでみました。

●作品の特徴

やはり本物のビー玉を使って操作する所です。タッチペンでのプレイは邪道です。ビー玉をゆかいに跳ねさせて遊んでください。

●技術的なポイントの解説

小さいビー玉だとタッチパネルが反応しないので、大きめのビー玉を用意してください。
他にもコルクボールやゴムボールなどいろいろな玉を試しましたが、ビー玉以外はうまく反応してくれませんでした。いい玉の情報求む!
タッチパネルが大きいDSi LL3DS LLがプレイしやすいでしょう。

●読者にメッセージ

本業の情報センターで、子ども達にプチコンのプログラミングを教えています。将来おもしろいプログラマーが育つといいですね。



以下、QRコードです。

プログラムリソース「PRG:BDAMA」

1 2 3
4 5 6
7

キャラクタリソース「CHR:BDAMA」

1 2 3
4

グラフィックリソース「GRP:BDAMA1」

1 2 3

グラフィックリソース「GRP:BDAMA2」

1 2 3