14
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

クソアプリAdvent Calendar 2021

Day 11

ただただ所持金を上げていくFlutterアプリを作った

Last updated at Posted at 2021-12-10

この記事はクソアプリ 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あたりに繋いで全プレイヤーの記録を共有

来年はもっと計画的にやろう、、、、

14
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?