見出し画像

IchigoJam で雑ガシャシミュレータ

今週も もう日曜日 早いなあ

1枠埋めるネタはあるのだが、頭が悪くてスケジューリングが下手くそなので書くための作業ができず…

というわけで、今週もとりあえず IchigoJam 用の適当なプログラムを書いておくよ!

※IchigoJamはjig.jpの登録商標です。

仕様

アイドルマスター シンデレラガールズ スターライトステージ 仕様のガシャシミュレータのようなものを作る。

今回は雑なので、ピックアップや個別のキャラクター・エピソードの判定は行わず、レアリティのみをランダムに選択して出す。

排出確率は、(フェスでない) 通常時の10連ガシャに準じた以下のものとする。

  • 1~9枚目:SSR 3%、SR 12%、R 85%

  • 10枚目:SSR 3%、SR 97%

単発ガシャやフェスなどへの対応、ピックアップなどの詳しい判定、封筒の判定、演出の強化、などの足りない機能の追加は読者への宿題とする。

実装

操作方法

  • Enter:10連ガチャを引く

  • BackSpace:カウントと表示をリセットする

プログラム

10 ' ザツ ガシャ シミュレータ
20 CLS:CLV
30 LOCATE 1,2:PRINT "TOTAL:0"
40 LOCATE 5,5:PRINT "R:0"
50 LOCATE 12,5:PRINT "SR:0"
60 LOCATE 21,5:PRINT "SSR:0"
70 K=INKEY():IF K=8 GOTO 20
80 IF K<>10 GOTO 70
90 FOR I=0 TO 9
100 LOCATE 3+I%5*6,11+I/5*5
110 PRINT "   "
120 NEXT
130 FOR I=0 TO 9
140 WAIT 6
150 LOCATE 3+I%5*6,11+I/5*5
160 S=RND(100):R=0
170 IFS<15ORI=9 R=R+1:PRINT"S";
180 IF S<3 R=R+1:PRINT "S";
190 PRINT "R":T=T+1:[R]=[R]+1
200 LOCATE 7,2:PRINT T
210 LOCATE 7+8*(R>0)+10*(R>1),5
220 PRINT [R]
230 NEXT
240 GOTO 70

このプログラムは、CC0 1.0 でライセンスする。

画像
ギリギリ1画面に収まった

各部分でやっていること

  • 10行目:FILES 対応のタイトル

  • 20行目:画面と変数を初期化する

  • 30~60行目:統計情報のラベルと初期値の「0」を描画する

  • 70~80行目:キー入力を受け付ける

  • 90~120行目:前回の結果の表示を消す

  • 130~230行目:10連ガシャを引き、結果を描画する

    • 140行目:1個ずつ表示するために少し待つ

    • 150行目:結果を描画する位置を設定する

    • 160~190行目:ランダム選択・結果の描画・統計の更新を行う

    • 200~220行目:更新された統計を描画する

  • 240行目:キー入力の受付に戻る

変数の割り当て

  • T:ガシャを引いた全体の回数 (10連は10回としてカウント)

  • 配列 [0]:R を引いた回数

  • 配列 [1]:SR を引いた回数

  • 配列 [2]:SSR を引いた回数

  • S:ランダム選択用の乱数

  • R:出た乱数を排出確率の設定に沿って解釈した結果

  • K:入力されたキーのキーコード

  • I:10連のうち何回目を扱うかを表すループ変数

実行結果例

画像
起動時の画面
画像
SSR が複数出るときもあれば…
画像
最低保証のときもある
画像
あっという間に天井相当。これだけ回してもシミュレータならもちろん無料

まとめ

IchigoJam で、レアリティのみをランダム選択する雑ガシャシミュレータを作った。


いいなと思ったら応援しよう!

コメント

ログイン または 会員登録 するとコメントできます。
あなたも書ける! 会員登録はこちら
IchigoJam で雑ガシャシミュレータ|みけCAT
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1