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 でライセンスする。
OneFiveCrowd で実行する (高速、非公式) (推奨)
IchigoJam web で実行する (公式、低速)
各部分でやっていること
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連のうち何回目を扱うかを表すループ変数
実行結果例
まとめ
IchigoJam で、レアリティのみをランダム選択する雑ガシャシミュレータを作った。


コメント