フォーダイス(フォーカード)とフルハウス
投稿者: とりか 投稿日:2013/02/18 09:23
フォーダイス
フルハウス
QとWのカウントリセットしてなかったせいでおかしな数値が出てた可能性
&& Q < ■ の位置によるループ脱出ミス等
多分これで動きそうな予感
計算量というか繰り返し回数は6×5で30回以下見つかったら終了なので
フォーダイスは30~4回、フルハウスは60~10回程度
演算プログラムよりも計算量削減プログラムの方が難しいという面白げな状態
削減すれば推定でフォーダイスは10~9回、フルハウスは25~15回ちょっとなのでいい感じ
計算量削減なんて動けば問題ないなら別に作る必要はないナー
ツイート
b = 0 #サイコロ数値の中身 Q = 0 #役成立カウント while b < 7 && Q < 4 Q = 0 #カウントリセット a = 0 #調べるダイスの番号 while a < 5 if getVariable("ダイス")[a] == b Q = Q + 1 q = getVariable("ダイス")[a] end a = a + 1 end b = b + 1 end if Q >= 4 D3 = q * 4 + 15 else D3 = 0 end
フルハウス
b = 0 #サイコロ数値の中身 Q = 0 #スリーカード成立カウント while b < 7 && Q < 3 Q = 0 #カウントリセット a = 0 #調べるダイスの番号 while a < 5 if getVariable("ダイス")[a] == b Q = Q + 1 q = getVariable("ダイス")[a] end a = a + 1 end b = b + 1 end e = 0 #サイコロ数値の中身その2 W = 0 #ワンペア成立のカウント while e < 7 && W < 2 W = 0 #カウントリセット s = 0 #調べるダイスの番号 while s < 5 if e == q #スリーカード部分の検索避け else if getVariable("ダイス")[s] == e W = W + 1 y = getVariable("ダイス")[s] end end s = s + 1 end e = e + 1 end if Q >= 3 && W >= 2 D4 = q * 3 + (y * 2) + 15 else D4 = 0 end
QとWのカウントリセットしてなかったせいでおかしな数値が出てた可能性
&& Q < ■ の位置によるループ脱出ミス等
多分これで動きそうな予感
計算量というか繰り返し回数は6×5で30回以下見つかったら終了なので
フォーダイスは30~4回、フルハウスは60~10回程度
演算プログラムよりも計算量削減プログラムの方が難しいという面白げな状態
削減すれば推定でフォーダイスは10~9回、フルハウスは25~15回ちょっとなのでいい感じ
計算量削減なんて動けば問題ないなら別に作る必要はないナー
コメントする
コメントするには、ログインする必要があります。
なんかスクリプトはほとんどとりかさんの物を使っているような・・・
約7.82%がとりかさん・・・・