緒言
豪先生率いるJPAUG広島で「ハッカソンしたいけぇ」と言い続け、第11回にしてようやくハッカソンしました!(たぶん)
そちらで作った拙作アプリ紹介&参加レポートを兼ねてポエム投下いたします。
私の作ったアプリ
制限時間は2時間でお題はゲーム、ということで小2の長女がちょうどかけ算学習中ということでかけ算アプリを作りました。
問題データ作成
ClearCollect(ColMondai,AddColumns(AddColumns(AddColumns(Sequence(10),a,0),b,0),ans,0));
ForAll(ColMondai,Patch(ColMondai,Index(ColMondai,ThisRecord.Value),{a:Int(Rand()*10),b:Int(Rand()*10)}));
ForAll(ColMondai,Patch(ColMondai,Index(ColMondai,ThisRecord.Value),{ans:ThisRecord.a*ThisRecord.b}));
0が出てきちゃうのが良くなかったのと、別に答えのans
列を作らなくても良かったですね。。。
そもそもかけ算だけなら毎回1~9のランダム数を2つ用意すれば良いだけなのでコレクション使う必要すらなかった。。。
入力パッド
こちらは↓で作成。
ギャラリーのItems
にSequence(10)
をいれるだけのお手軽さ。ボタンのOnSelect
をUpdateContext({ans:ans&Self.Text})
としてクリックすると数字の文字列が追加されていく仕様。
答え合わせ
「こたえる」ボタンを押下すると答え合わせ画面が表示される。
入力された答えがあってたら次の問題へ。間違ってたら元の画面に戻り正解するまでやり直しにした。
おまけ機能
亀が右から左へ到達したら時間切れ!を実装しようと思いましたが、制限時間内に実装しきれず動くだけ。。。
タイマー(Max10秒に設定)を使って亀のx座標に以下の式を入れただけです。
Parent.Width-Parent.Width*Timer1.Value/10000
その後
楽しく遊んでくれました。
結言
そんなこんなでハッカソンできました!豪先生のWordle、絶対そろわない目押しスロット、レーザーを放つガン〇ム、等々短時間で個性豊かな作品がそろって楽しかったです。技術的に不慣れなメンバーをご自身のテナントに招き入れて共同編集でオセロを作成されていたTsuShoさんには驚かされました。
次回はもっと面白いアプリを制約の中で作れるように技術力を磨いてチャレンジしたいと思います!