【Prism】抽選アプリ作ってみた
ご無沙汰してます。
知人の結婚式の二次会の幹事っぽいものを拝命しまして、ビンゴゲームをするということで私のPCを使って進行することになりました。
まぁそんなことはどうでもよくてWindowsで動くビンゴアプリと当たった時の抽選アプリを探していたのですが、どうも抽選アプリの方がよさげなのがなかったので自作することにしました。
正直「紙のくじ引きでええやんw」とは少し思いましたが、こういう職業柄なので、ね。
機能要件
というとカタいイメージありますが要するに実現したいことです。
- 抽選できる
- 複数回抽選しても被らない
- 抽選結果が分かる
- 景品を自由に登録できる
こんなところでしょうか。至ってシンプル。
ただし後から、
- 上位賞が当たったら何かいい感じに盛り上げる
- 外れを引いたら何かいい感じに盛り下げる
という要件が追加されました。
作ったもの
起動画面はこんな感じ。
会場が結構暗いところなので黒画面にしたというのと、ボタンがくそでっかいのはタッチ想定だからです。
抽選機能
当然ながら抽選できます。
「一度当たったら被りを出さない」が少し考えどころさんでしたが、セッション情報をxmlに持たせれば一発でした。
景品管理機能
内部では「賞品」と言っていますが同義です。
このトップ画面で特定文字列を入力することで景品管理画面に入れます。
今のところ対応しているのは追加だけです。ロジック的にはあるんだけどね。UI作るの疲れちゃった。
データクリア機能
これまたトップ画面で特定文字列を入力することで景品情報やセッション情報をクリアすることができます。
「特定文字列」の初期値は何なのかというとこれは ApplicationData の config.xml というファイルに書き出されます。一応手作業で変更可能ですがアプリの再起動要です。
当たったときの演出を何かいい感じにする機能
これが一番苦労しました。最初要望を聞いたとき「Blendか何かでアニメーションだな…」というところまではあたりがついていたのですが、如何せん業務アプリでそんなもの使ったことあるわけなく、逐一調べながらやっとこさ徹夜で仕上げましたとさ。
上の景品管理機能で「確定演出を有効にする」にチェックが入っている賞品が当たったとき、ちょっとしたアニメーションが入ります。多分パチンコやってる人だと嬉しいやつです。
なお、外れたときの演出は未対応です。
ソースコード
例によってGitHubに上げます。
音声ファイルのライセンス表記(クリエイティブ・コモンズ辺りだったと思います)忘れてしまったので後で追記しておきます。