腐女子によるBLプログラミング~Pythonで受けオークションを作る~
Python初心者で腐女子である私が受けオークションを作ってみました。
※人間をオークションにかけるという人権無視の行為は、それが著しい人権軽視であり、しかしBLに頻出するネタであるということを分かっている人のみ、この記事をご覧ください。当たり前ですが、現実の人身売買には反対します。
★やった人のレベル
ProgateのPythonコースを終わらせました。
★やりたかったこと
ここは受けオークション現場。モブたちが受けのオークションで値段を釣り上げていく。とそこへ、攻めがランダムに登場し「5億だ」と言います。その時点でオークションが終了するという処理を作りたい。
★困ったこと
オークションなので以前の落札額よりも高い金額が後になるにつれて発話されるようにしなくてはならなかったのですが、これが思いつかず苦労しました。処理自体は簡単だったのですが、やりたいことをどう計算に落とし込むかもプログラミングの難しさだなと痛感。
★処理の基本構造
(書いたのが前すぎて覚えてないがたぶんこういう処理だったはず)
Randomライブラリという、ランダムに数を出力するライブラリを使用して、落札額や5億判定ができるようにしています。Pythonはこういったライブラリを簡単にインポートして使用できるのが良いですね。
攻めは5分の1の確率で「5億だ」という台詞で受けを落札します。このためにrandom.choiceとHanteiという処理用のリストを作り、Gookuという5億で落札判定する変数の値が5分の1で1になるように設定しています(デフォルトは0)
落札額は、攻めの「5億だ」という落札台詞が出るまで、つまりGookuが0の間ずっと上がり続けるよう繰り返し処理を書いています。ここで落札額は常に前のものより高くなるよう、落札額は以前の落札額+ランダムな数値が増えるような処理にしております。
またおまけ機能として、落札のために発話された回数が5回、10回のタイミングでオークショニアがオークションを盛り上げる台詞を言います。
★作ってみての感想
楽しい。何度でも受けオークションできる。
★Special Thanks
困っていた際にアドバイスをくださった某Mさん、ありがとうございました!
★参照用
以下にコードを置いておきます。BLオークションを作りたい方は参考にされてください。
import random
count = 0
Gooku = 0
RakusatuGaku = 0
while Gooku == 0:
RakusatuGaku = RakusatuGaku + random.randint(1,10) * 100
print('モブ「' + str(RakusatuGaku) + '万円!」')
Hantei = [0, 0, 0, 0, 1]
Gooku = random.choice(Hantei)
count += 1
if count == 5:
print('オークショニア「さあて、なんと' + str(RakusatuGaku) + '万円となりました!!他にご希望の方は?」')
if count == 10:
print('オークショニア「なんとなんと' + str(RakusatuGaku) + '万円!!' + str(RakusatuGaku) + '万円です!!」')
else:
print('攻め「……5億だ」')
Mob()
Gooku = 0
RakusatuGaku = 0
count = 0