この記事はクソアプリ Advent Calendar 2021 の11日目の記事です。
背景
ポ○モンのリメイクでゲームコーナーが無くなってしまったと風の噂で聞いたので、ギャンブルっぽいものを作ろう!!!!!!!!と思い立ちました。
bibiri-app
内容
内容としては、「Challenge!」ボタンを押してひたすら所持金を上げていき、満足したところで「Drop」ボタンを押してリタイアします。
最高金額だった場合は記録されます。
金額は確率で2倍〜100倍で上がっていきますが、一定確率で一気に0円になります。
git clone
などして、ビビりながらどこまで金額を上げられるかチャレンジしてみてください。
実装
時間が足りず、シンプルにFlutterでStatefulWidgetだけで実装しています。
ぶっちゃけFlutterのCounterアプリの拡張版です。
ランダムに所持金を上げる箇所は0~99の乱数を生成して、確率毎に範囲を区切って倍率を返しています。
絶対もっといい書き方ありそう、、、
utils.dart
import 'dart:math';
int randomMagnification() {
int randomInt = Random().nextInt(100);
if (randomInt < 10) {
// ×0: 10%
return 0;
} else if (randomInt < 30) {
// ×2: 25%
return 2;
} else if (randomInt < 55) {
// ×3: 20%
return 3;
} else if (randomInt < 70) {
// ×5: 15%
return 5;
} else if (randomInt < 80) {
// ×10: 10%
return 10;
} else if (randomInt < 88) {
// ×20: 8%
return 20;
} else if (randomInt < 94) {
// ×30: 6%
return 30;
} else if (randomInt < 99) {
// ×50: 5%
return 50;
} else if (randomInt < 100) {
// ×100: 1%
return 100;
}
return 1;
}
今後
間に合わなそうだったので最低限の状態で出してしまいましたが、以下は進めていこうと思います。
- リファクタリング
- ド派手な演出を追加
- データ永続化
- Firebaseあたりに繋いで全プレイヤーの記録を共有
来年はもっと計画的にやろう、、、、