気まぐれものつくブログ

色々やっています。まったり更新したりします~。

いらっしゃいませ、ようこそ、気まぐれものつくブログへ!ゆっくりしていってくださいね!まったり更新しております!

古典的とスマートどちらを選ぶ?

続きへ。

みょーん(長くなりました)

このコードは元が『春です』コマンドです。
ではソースコードどん。

@bot.command(name="てすと")
async def bot28(ctx):
    colour = random.randint(0x000000, 0xFFFFFF)
    kurisumasu = [
        "0",
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
    ]
    kekka = random.choices(kurisumasu,weights=(99, 20, 20, 20, 20, 10, 10, 5),k=1,)[0]
    await ctx.reply(
        embed=nextcord.Embed(
            title=f"{ctx.author}へ", description=f"{kekka}", color=colour
        )
    )

前回のは自分で学習しれだったのでこれは説明しますね。
kurisumasuのところはまぁ流用していたのでそのままですが、ここを変える場合は同じ名前のところも変えないとバグります。
バグが有っても責任は取れないので許して(;||)

コード説明。
colour:ここは色をランダムで一つ抽出します。
kurisumasu:ここでリストを登録します。
kekka:ここが重要ポイントです。ランダムでリスト登録したものを確立で数値で出やすい・出にくいようにし、さらにそれを1つ選びます。
2つとかもできるかもですがそこまで試してないです。
await ctx.reply:ここでりぷらいしています。nextcordで組んでいるので他でやりたい場合はnextcordの部分を変更すれば変えれるはずです。埋め込みでタイトルはコマンドした人へ、本文には結果を出力、最後に色を抽出したものを出力します。

ちなみにうまく説明出来ないのでこれが限界です、許して。
なお確率をいじりすぎるとそれが出なさすぎることもあったり逆にそれが出まくったりします。
現にキャラガチャで10数個あるうちの一つであったローウェンの確率を3にしたらまじで他が出まくってなかなか出なかったです(;||)許して。
ちなみにこのサンプルだと8つですが、増やす事も減らすこともできます。
その時はkekkaのところをいじってくださいね!

どこやねんって人向けに。
99の部分が0が出てくる部分なので、そこから計算すればできると思います。
あとはあなたのアレンジ次第!

では||)ノシ

追記:指摘あったのでweights=を追加。