乙女アタック簡易体験版

「乙女アタック簡易体験版」の編集履歴(バックアップ)一覧はこちら

乙女アタック簡易体験版」(2009/03/16 (月) 12:15:53) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

■■乙女アタック簡易体験版:制作@115スレ「68MgF9/y」氏 +乙女アタック検証スクリプト +ケンシンの連チャン数検証スクリプト ■遊び方(要PC。携帯の人は泣いて下さい) 以下のVer.1~4の好きなものをメモ帳などのテキストエディタにコピペして拡張子vbsで保存(例:乙女アタック.vbs) 保存したファイル(VBScript Script File)をダブルクリックでゲーム開始です。 セリフをカスタマイズして楽しむ事も可能です。 □簡易版Ver.1 Dim atack,MyValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 Select Case atack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select MyValue = Int((16 * Rnd) + 1) If MyValue = 16 Then Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For Else Call MsgBox("敗北", vbOKOnly) End If Next If MyValue < 16 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版Ver.2 Dim atack,MyValue,NextValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 MyValue = Int((16 * Rnd) + 1) Select Case atack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select If MyValue = 16 Then NextValue = Int((100 * Rnd) + 1) If NextValue <= 9 Then Call MsgBox("オウガイ参上!", vbOKOnly) ElseIf NextValue <= 37 Then Call MsgBox("切り刻んであげる…", vbOKOnly) ElseIf NextValue <= 87 Then Call MsgBox("僕の出番だ!", vbOKOnly) Else Call MsgBox("わお~ん", vbOKOnly) End If Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For Else NextValue = MyValue * 100 + Int((100 * Rnd) + 1) If NextValue <= 970 Then Call MsgBox("オウガイ参上!", vbOKOnly) ElseIf NextValue <= 1436 Then Call MsgBox("切り刻んであげる…", vbOKOnly) Else Call MsgBox("僕の出番だ!", vbOKOnly) End If Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) End If Next If MyValue < 16 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版Ver.2.1 Dim otome(3, 8),enemy(3, 4) '乙女の名乗り otome(1, 1) = "我はヒデヨシ 覚悟しろ!" otome(1, 2) = "我はケンシン 行くわよ!" otome(1, 3) = "我はイエヤス 覚悟してください" otome(1, 4) = "我はヨシモト お覚悟はよろしくて?" otome(1, 5) = "我はシンゲン 覚悟はいいか?" otome(1, 6) = "我はマサムネ 覚悟!" otome(1, 7) = "我はノブナガじゃ 覚悟はよいかっ!" otome(1, 8) = "我はミツヒデ 覚悟はできたか?" '乙女の勝利 otome(2, 1) = "勝っちゃったもんね~ やったね!" otome(2, 2) = "フフッ口ほどにもない" otome(2, 3) = "やりました" otome(2, 4) = "ひれ伏しなさい お~っほっほっほ、楽勝ですわ" otome(2, 5) = "よっしやー" otome(2, 6) = "間合いが甘い たわいもない" otome(2, 7) = "楽勝、楽勝!ハッハッハッハ!" otome(2, 8) = "フフ…私の勝ちだ" '乙女の敗北 otome(3, 1) = "いった~い" otome(3, 2) = "不覚…" otome(3, 3) = "やられちゃいました…" otome(3, 4) = "この私が…" otome(3, 5) = "ってえなぁ…" otome(3, 6) = "無念…" otome(3, 7) = "ちっくしょう…" otome(3, 8) = "よくも…" '敵の名乗り enemy(1, 1) = "オウガイ参上!" enemy(1, 2) = "切り刻んであげる…" enemy(1, 3) = "僕の出番だ!" enemy(1, 4) = "わおーん" '敵の勝利 enemy(2, 1) = "あーははは!" enemy(2, 2) = "おーほっほっほ!" enemy(2, 3) = "ぼ、僕だって!" '敵の敗北 enemy(3, 1) = "不覚!" enemy(3, 2) = "いった~ぃん…" enemy(3, 3) = "つ、つよい…" enemy(3, 4) = "くぅ~ん" '勝率(パーセント) Const SS = 6.6 '勝利試合の中での敵のパーセンテージ Const WIN_OUGAI = 4 Const WIN_MURASAME = 27.5 Const WIN_KOTAROU = 61 '敗北試合の中での敵のパーセンテージ Const LOST_OUGAI = 56.3 Const LOST_MURASAME = 37.3 Dim atack,MyValue,NextValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 MyValue = CSng((100 * Rnd) + 1) Call MsgBox(otome(1, atack), vbOKOnly) If MyValue <= SS Then NextValue = CSng((100 * Rnd) + 1) If NextValue <= WIN_OUGAI Then i = 1 ElseIf NextValue <= (WIN_OUGAI + WIN_MURASAME) Then i = 2 ElseIf NextValue <= (WIN_OUGAI + WIN_MURASAME + WIN_KOTAROU) Then i = 3 Else i = 4 End If Call MsgBox(enemy(1, i), vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox(enemy(3, i), vbOKOnly) Call MsgBox(otome(2, atack), vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For Else NextValue = CSng((100 * Rnd) + 1) If NextValue <= LOST_OUGAI Then i = 1 ElseIf NextValue <= (LOST_OUGAI + LOST_MURASAME) Then i = 2 Else i = 3 End If Call MsgBox(enemy(1, i), vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox(otome(3, atack), vbOKOnly) Call MsgBox(enemy(2, i), vbOKOnly) Call MsgBox("敗北", vbOKOnly) End If Next If MyValue > SS Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版Ver.3:改編@115スレ「Z76uUf9s」氏 Dim atack,NextValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 NextValue = Int(1515 * Rnd + 1) Select Case atack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select If NextValue <= 2 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For ElseIf NextValue <= 1000 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1017 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For ElseIf NextValue <= 1335 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1401 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For ElseIf NextValue <= 1500 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1515 Then Call MsgBox("vs シロ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For NextValue = Int(1515 * Rnd + 1) End If If atack >= 8 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Next Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版(通常時大当たり付き)Ver.3.1:改編@115スレ「Z76uUf9s」氏 Dim attack,NextValue,Game,Rcount,kaiten,Round Randomize kaiten = 0 Rcount = 0 Do Until Game = vbNo '通常モードの処理 Do kaiten = kaiten + 1 NextValue = Int(9945 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 kaiten = 0 Exit Do End If Loop '乙女アタックの処理 If Round <= 5 Then Call MsgBox("乙女アタック開始", vbOKOnly) For attack = 1 to 8 kaiten = kaiten + 1 NextValue = Int(3030 * Rnd + 1) Select Case attack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select If NextValue <= 4 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 1800 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1846 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 2700 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 2820 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 3000 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 3030 Then Call MsgBox("vs シロ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For NextValue = Int(3030 * Rnd + 1) End If If attack >= 8 Then Call MsgBox("乙女アタック終了", vbOKOnly) Rcount = 0 End If Next End If '戦国モード+乙女モードの処理 While Rcount <> 0 Do kaiten = kaiten + 1 NextValue = Int(1515 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 kaiten = 0 Exit Do End If Loop While kaiten < 8 If kaiten <> 0 Then Do kaiten = kaiten + 1 NextValue = Int(9945 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 kaiten = 0 Exit Do End If If kaiten >= 100 Then Call MsgBox(Rcount & "連チャン で 乙女モード終了", vbOKOnly) Rcount = 0 End If Loop While kaiten < 100 End If Wend Game = MsgBox("もっかいやる?", vbYesNo) Loop '乙女アタック時の15R判定用サブルーチン Function RoundCheck() NextValue = Int(100 * Rnd + 1) If NextValue <= 3 Then RoundCheck = 15 Else RoundCheck = 5 End If End Function □簡易版Ver.4:改編@115スレ「UsWdvlKQ」氏 ' 3030の乱数のうち200までが当たり(確率1/15.15)。 ' 当たり乱数200個のうち、8個をオウガイでの当たり、 ' 55個をムラサメでの当たり、122個をコタロウでの当たり、 ' 15個をシロでの当たりとしています。 ' はずれ乱数2830個のうち、1592個をオウガイでの外れ、 ' 1055個をムラサメでの外れ、183個をコタロウでの外れとしています。 ' (注)数字は体感上や書込みデータをもとに適当に求めたもの。 ' もっと良い値があると思われるときは直して使って下さい。 ' セリフはまとめwikiを参照 ' ' まとめると ' 当たり: 外れ 信頼度 ' オウガイ 8 : 1592 = 1:199 0.5% ' ムラサメ 55 : 1055 ≒ 1: 19 5% ' コタロウ 122 : 183 = 1:1.5 40% ' シロ 15 : 0 100% ' Dim Attk 'アタック順を格納 Dim Tyusen '当落判定乱数格納 Dim Atari '当たり時登場敵判定用 Dim Hazure 'はずれ時登場敵判定用 Dim EndSW '終了判定 ' Do Until EndSW = vbNo Call MsgBox("乙女アタック開始", vbOKOnly) ' ' 8人分ループ For Attk = 1 To 8 ' 乙女登場時のセリフ Select Case Attk Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select ' ' 当落判定乱数を求める。200以下なら当たり ' 乱数初期化 Randomize Tyusen = Int((3030 * Rnd) + 1) If Tyusen <= 200 Then ' 当たり時敵武将登場判定 Atari = Int((200 * Rnd) + 1) If Atari <= 8 Then Call MsgBox("フンッ!", vbOKOnly) Call MsgBox("不覚ッ!", vbOKOnly) ElseIf Atari >= 9 And Atari <= 63 Then Call MsgBox("ハァッ!", vbOKOnly) Call MsgBox("痛ったぁ~い", vbOKOnly) ElseIf Atari >= 64 And Atari <= 185 Then Call MsgBox("たぁ~!", vbOKOnly) Call MsgBox("つ、つよい", vbOKOnly) Else Call MsgBox("わぉ~ん!", vbOKOnly) Call MsgBox("くぅ~ん", vbOKOnly) End If ' 乙女勝利時のセリフ Select Case Attk Case 1 Call MsgBox("勝っちゃったもんね~ やったね!", vbOKOnly) Case 2 Call MsgBox("フフッ口ほどにもない", vbOKOnly) Case 3 Call MsgBox("やりました", vbOKOnly) Case 4 Call MsgBox("ひれ伏しなさい お~っほっほっほ、楽勝ですわ", vbOKOnly) Case 5 Call MsgBox("よっしやー", vbOKOnly) Case 6 Call MsgBox("間合いが甘い たわいもない", vbOKOnly) Case 7 Call MsgBox("楽勝、楽勝!ハッハッハッハ!", vbOKOnly) Case 8 Call MsgBox("フフ・・私の勝ちだ", vbOKOnly) End Select Call MsgBox("戦国モード突入!", vbOKOnly) Exit For ' 201以上なら外れ Else ' 外れ時敵武将登場判定 Atari = Int((2830 * Rnd) + 1) If Atari <= 1592 Then 'オウガイ Call MsgBox("フンッ!", vbOKOnly) ElseIf Atari >= 1593 And Atari <= 2647 Then 'ムラサメ Call MsgBox("ハァッ!", vbOKOnly) ElseIf Atari >= 2648 And Atari <= 2830 Then 'コタロウ Call MsgBox("たぁ~!", vbOKOnly) End If ' 乙女敗北時のセリフ Select Case Attk Case 1 Call MsgBox("いった~い", vbOKOnly) Case 2 Call MsgBox("不覚…", vbOKOnly) Case 3 Call MsgBox("やられちゃいました…", vbOKOnly) Case 4 Call MsgBox("この私が…", vbOKOnly) Case 5 Call MsgBox("(痛)ってえなぁ…", vbOKOnly) Case 6 Call MsgBox("無念…", vbOKOnly) Case 7 Call MsgBox("ちっくしょう…", vbOKOnly) Case 8 Call MsgBox("よくも…", vbOKOnly) End Select ' 外れ時敵武将のセリフ If Atari <= 1592 Then 'オウガイ Call MsgBox("ウェァ~ハッハッハ", vbOKOnly) ElseIf Atari >= 1593 And Atari <= 2647 Then 'ムラサメ Call MsgBox("フッフフフフ", vbOKOnly) ElseIf Atari >= 2648 And Atari <= 2830 Then 'コタロウ Call MsgBox("ぼ、ぼくだって", vbOKOnly) End If If Attk = 8 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If End If Next EndSW = MsgBox("再挑戦?", vbYesNo) Loop ■乙女アタック検証スクリプト@117スレ「xY2EKkF2」氏 Dim atack,MyValue,Game,Did,Win,Lost,MaxWin,MaxLost,WinCount Did = CLng(InputBox("ノブナガ「トライ回数を半角英数字で入力するのじゃ!」")) If Did < 1 Then Call MsgBox("ノブナガ「数値が変じゃ!ふざけるな!くらえ!非情ノ大剣!") Call MsgBox("ずぎゃーん!!!") Else Call MsgBox("ノブナガ「では、" + CStr(Did) + "回、試行しようぞ!」" ) Randomize Call MsgBox("ヒデヨシ「じゃあー、始めるよー!」", vbOKOnly) For Game = 1 to Did For atack = 1 to 8 MyValue = CInt((1515 * Rnd) + 1) If MyValue <= 100 Then WinCount = WinCount + 1 Win = Win + 1 If Win > MaxWin Then MaxWin = Win Lost = 0 Exit For End If Next If MyValue > 100 Then Lost = Lost + 1 If Lost > MaxLost Then MaxLost = Lost Win = 0 End If Next Call MsgBox("オウガイ「わーはっはっは!最大連続スルー" + CStr(MaxLost) + "回だ!!」") Call MsgBox("ヒデヨシ「でもでも!最大連覇" + CStr(MaxWin) + "回だよ!!」") Call MsgBox("ノブナガ「結局、" + CStr(Did) + "回中、勝ったのは" + CStr(WinCount) + "回だな!」") End If ■ケンシンの連チャン数検証スクリプト@122スレ「ym4pMQnN」氏 Dim sengoku,MyValue,Game,Did,Win,MaxWin,MaxLost,average,otome,Tan Call MsgBox("ケンシン「ああ、いい水浴だった…あ、上杉ケンシンです」") Call MsgBox("ケンシン「乙女アタック突入回数に対する最高連チャン数を調べてみましょう」") Did = CLng(InputBox("ケンシン「トライ回数を半角英数字で入力してね」")) If Did < 1 Then Call MsgBox("ケンシン「数値がおかしいわ!馬鹿にする気!?雷光連撃槍!」") Call MsgBox("ずきゅーん!!!") Else Call MsgBox("ケンシン「では、" + CStr(Did) + "回、試行しましょう」" ) Randomize Call MsgBox("シンゲン「ナッシャー! いくぞ!!」") average = 0 : Tan = 0 For Game = 1 to Did Win = 1 Do For sengoku = 1 to 8 MyValue = CInt((1515 * Rnd) + 1) If MyValue <= 100 Then Win = Win + 1 If Win > MaxWin Then MaxWin = Win Exit For End If Next If (MyValue > 100) and (Win > 1) Then For sengoku = 1 to 92 MyValue = CInt((9945 * Rnd) + 1) If MyValue <= 100 Then Win = Win + 1 If Win > MaxWin Then MaxWin = Win Exit For End If Next End If Loop Until MyValue > 100 If Win = 1 Then Tan = Tan + 1 average = average + Win Next Call MsgBox("ケンシン「結局、アタック" + CStr(Did) + "回の最大連チャン数は…」") Call MsgBox(CStr(MaxWin) + "回…") Call MsgBox("ケンシン「うち乙女アタックを突破できなかったのは…」") Call MsgBox(CStr(Tan) + "回…") Call MsgBox("ケンシン「平均" + CStr(CSng(average/Did)) + "連チャンとなりました…」" ) Call MsgBox("ケンシン「実機でも頑張ってね」" ) Call MsgBox("シンゲン「ナッシャー!」" ) End If
■■乙女アタック簡易体験版:制作@115スレ「68MgF9/y」氏 +乙女アタック検証スクリプト +ケンシンの連チャン数検証スクリプト ■遊び方(要PC。携帯の人は泣いて下さい) 以下のVer.1~4の好きなものをメモ帳などのテキストエディタにコピペして拡張子vbsで保存(例:乙女アタック.vbs) 保存したファイル(VBScript Script File)をダブルクリックでゲーム開始です。 セリフをカスタマイズして楽しむ事も可能です。 □簡易版Ver.1 Dim atack,MyValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 Select Case atack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select MyValue = Int((16 * Rnd) + 1) If MyValue = 16 Then Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For Else Call MsgBox("敗北", vbOKOnly) End If Next If MyValue < 16 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版Ver.2 Dim atack,MyValue,NextValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 MyValue = Int((16 * Rnd) + 1) Select Case atack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select If MyValue = 16 Then NextValue = Int((100 * Rnd) + 1) If NextValue <= 9 Then Call MsgBox("オウガイ参上!", vbOKOnly) ElseIf NextValue <= 37 Then Call MsgBox("切り刻んであげる…", vbOKOnly) ElseIf NextValue <= 87 Then Call MsgBox("僕の出番だ!", vbOKOnly) Else Call MsgBox("わお~ん", vbOKOnly) End If Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For Else NextValue = MyValue * 100 + Int((100 * Rnd) + 1) If NextValue <= 970 Then Call MsgBox("オウガイ参上!", vbOKOnly) ElseIf NextValue <= 1436 Then Call MsgBox("切り刻んであげる…", vbOKOnly) Else Call MsgBox("僕の出番だ!", vbOKOnly) End If Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) End If Next If MyValue < 16 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版Ver.2.1 Dim otome(3, 8),enemy(3, 4) '乙女の名乗り otome(1, 1) = "我はヒデヨシ 覚悟しろ!" otome(1, 2) = "我はケンシン 行くわよ!" otome(1, 3) = "我はイエヤス 覚悟してください" otome(1, 4) = "我はヨシモト お覚悟はよろしくて?" otome(1, 5) = "我はシンゲン 覚悟はいいか?" otome(1, 6) = "我はマサムネ 覚悟!" otome(1, 7) = "我はノブナガじゃ 覚悟はよいかっ!" otome(1, 8) = "我はミツヒデ 覚悟はできたか?" '乙女の勝利 otome(2, 1) = "勝っちゃったもんね~ やったね!" otome(2, 2) = "フフッ口ほどにもない" otome(2, 3) = "やりました" otome(2, 4) = "ひれ伏しなさい お~っほっほっほ、楽勝ですわ" otome(2, 5) = "よっしやー" otome(2, 6) = "間合いが甘い たわいもない" otome(2, 7) = "楽勝、楽勝!ハッハッハッハ!" otome(2, 8) = "フフ…私の勝ちだ" '乙女の敗北 otome(3, 1) = "いった~い" otome(3, 2) = "不覚…" otome(3, 3) = "やられちゃいました…" otome(3, 4) = "この私が…" otome(3, 5) = "ってえなぁ…" otome(3, 6) = "無念…" otome(3, 7) = "ちっくしょう…" otome(3, 8) = "よくも…" '敵の名乗り enemy(1, 1) = "オウガイ参上!" enemy(1, 2) = "切り刻んであげる…" enemy(1, 3) = "僕の出番だ!" enemy(1, 4) = "わおーん" '敵の勝利 enemy(2, 1) = "あーははは!" enemy(2, 2) = "おーほっほっほ!" enemy(2, 3) = "ぼ、僕だって!" '敵の敗北 enemy(3, 1) = "不覚!" enemy(3, 2) = "いった~ぃん…" enemy(3, 3) = "つ、つよい…" enemy(3, 4) = "くぅ~ん" '勝率(パーセント) Const SS = 6.6 '勝利試合の中での敵のパーセンテージ Const WIN_OUGAI = 4 Const WIN_MURASAME = 27.5 Const WIN_KOTAROU = 61 '敗北試合の中での敵のパーセンテージ Const LOST_OUGAI = 56.3 Const LOST_MURASAME = 37.3 Dim atack,MyValue,NextValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 MyValue = CSng((100 * Rnd) + 1) Call MsgBox(otome(1, atack), vbOKOnly) If MyValue <= SS Then NextValue = CSng((100 * Rnd) + 1) If NextValue <= WIN_OUGAI Then i = 1 ElseIf NextValue <= (WIN_OUGAI + WIN_MURASAME) Then i = 2 ElseIf NextValue <= (WIN_OUGAI + WIN_MURASAME + WIN_KOTAROU) Then i = 3 Else i = 4 End If Call MsgBox(enemy(1, i), vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox(enemy(3, i), vbOKOnly) Call MsgBox(otome(2, atack), vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For Else NextValue = CSng((100 * Rnd) + 1) If NextValue <= LOST_OUGAI Then i = 1 ElseIf NextValue <= (LOST_OUGAI + LOST_MURASAME) Then i = 2 Else i = 3 End If Call MsgBox(enemy(1, i), vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("じゃきーん!", vbOKOnly) Call MsgBox(otome(3, atack), vbOKOnly) Call MsgBox(enemy(2, i), vbOKOnly) Call MsgBox("敗北", vbOKOnly) End If Next If MyValue > SS Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版Ver.3:改編@115スレ「Z76uUf9s」氏 Dim atack,NextValue,Game Randomize Call MsgBox("乙女アタック開始", vbOKOnly) Do Until Game = vbNo For atack = 1 to 8 NextValue = Int(1515 * Rnd + 1) Select Case atack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select If NextValue <= 2 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For ElseIf NextValue <= 1000 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1017 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For ElseIf NextValue <= 1335 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1401 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For ElseIf NextValue <= 1500 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1515 Then Call MsgBox("vs シロ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Call MsgBox("大当たり!", vbOKOnly) Exit For NextValue = Int(1515 * Rnd + 1) End If If atack >= 8 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If Next Game = MsgBox("もっかいやる?", vbYesNo) Loop □簡易版(通常時大当たり付き)Ver.3.1:改編@115スレ「Z76uUf9s」氏 Dim attack,NextValue,Game,Rcount,kaiten,Round Randomize kaiten = 0 Rcount = 0 Do Until Game = vbNo '通常モードの処理 Do kaiten = kaiten + 1 NextValue = Int(9945 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 kaiten = 0 Exit Do End If Loop '乙女アタックの処理 If Round <= 5 Then Call MsgBox("乙女アタック開始", vbOKOnly) For attack = 1 to 8 kaiten = kaiten + 1 NextValue = Int(3030 * Rnd + 1) Select Case attack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select If NextValue <= 4 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 1800 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1846 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 2700 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 2820 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 3000 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 3030 Then Call MsgBox("vs シロ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) kaiten = 0 Rcount = Rcount + 1 Exit For NextValue = Int(3030 * Rnd + 1) End If If attack >= 8 Then Call MsgBox("乙女アタック終了", vbOKOnly) Rcount = 0 End If Next End If '戦国モード+乙女モードの処理 While Rcount <> 0 Do kaiten = kaiten + 1 NextValue = Int(1515 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 kaiten = 0 Exit Do End If Loop While kaiten < 8 If kaiten <> 0 Then Do kaiten = kaiten + 1 NextValue = Int(9945 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 kaiten = 0 Exit Do End If If kaiten >= 100 Then Call MsgBox(Rcount & "連チャン で 乙女モード終了", vbOKOnly) Rcount = 0 End If Loop While kaiten < 100 End If Wend Game = MsgBox("もっかいやる?", vbYesNo) Loop '乙女アタック時の15R判定用サブルーチン Function RoundCheck() NextValue = Int(100 * Rnd + 1) If NextValue <= 3 Then RoundCheck = 15 Else RoundCheck = 5 End If End Function □簡易版(通常時大当たり付き)Ver.3.2:改編@129スレ「QqghILvc」氏 Dim attack,NextValue,Game,Rcount,Dcount,kaiten,Round Randomize kaiten = 0 Rcount = 0 Dcount = 0 Do Until Game = vbNo '通常モードの処理 Do kaiten = kaiten + 1 NextValue = Int(9945 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 Dcount = Dcount + 1500 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 Dcount = Dcount + 500 kaiten = 0 Exit Do End If Loop '乙女アタックの処理 If Round <= 5 Then Call MsgBox("乙女アタック開始", vbOKOnly) For attack = 1 to 8 kaiten = kaiten + 1 NextValue = Int(3030 * Rnd + 1) Select Case attack Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select If NextValue <= 4 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) Dcount = Dcount + Round * 100 kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 1800 Then Call MsgBox("vs オウガイ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 1846 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) Dcount = Dcount + Round * 100 kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 2700 Then Call MsgBox("vs ムラサメ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 2820 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) Dcount = Dcount + Round * 100 kaiten = 0 Rcount = Rcount + 1 Exit For ElseIf NextValue <= 3000 Then Call MsgBox("vs コタロウ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("敗北", vbOKOnly) ElseIf NextValue <= 3030 Then Call MsgBox("vs シロ", vbOKOnly) Call MsgBox("いざ、勝負!", vbOKOnly) Call MsgBox("勝利", vbOKOnly) Round = RoundCheck() Call MsgBox(Round & "R 大当り!", vbOKOnly) Dcount = Dcount + Round * 100 kaiten = 0 Rcount = Rcount + 1 Exit For NextValue = Int(3030 * Rnd + 1) End If If attack >= 8 Then Call MsgBox("乙女アタック終了", vbOKOnly) Rcount = 0 End If Next End If '戦国モード+乙女モードの処理 While Rcount <> 0 Do kaiten = kaiten + 1 NextValue = Int(1515 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 Dcount = Dcount + 1500 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 Dcount = Dcount + 500 kaiten = 0 Exit Do End If Loop While kaiten < 8 If kaiten <> 0 Then Do kaiten = kaiten + 1 NextValue = Int(9945 * Rnd + 1) If NextValue <= 3 Then Call MsgBox(kaiten & "回転で 15R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 15 Dcount = Dcount + 1500 kaiten = 0 Exit Do ElseIf NextValue <= 100 Then Call MsgBox(kaiten & "回転で 5R 大当り!" , vbOKOnly) Rcount = Rcount + 1 Round = 5 Dcount = Dcount + 500 kaiten = 0 Exit Do End If If kaiten >= 100 Then Call MsgBox(Rcount & "連チャン で 乙女モード終了", vbOKOnly) Call MsgBox(Dcount & " 発獲得", vbOKOnly) Rcount = 0 End If Loop While kaiten < 100 End If Wend Dcount = 0 Game = MsgBox("もっかいやる?", vbYesNo) Loop '乙女アタック時の15R判定用サブルーチン Function RoundCheck() NextValue = Int(100 * Rnd + 1) If NextValue <= 3 Then RoundCheck = 15 Else RoundCheck = 5 End If End Function □簡易版Ver.4:改編@115スレ「UsWdvlKQ」氏 ' 3030の乱数のうち200までが当たり(確率1/15.15)。 ' 当たり乱数200個のうち、8個をオウガイでの当たり、 ' 55個をムラサメでの当たり、122個をコタロウでの当たり、 ' 15個をシロでの当たりとしています。 ' はずれ乱数2830個のうち、1592個をオウガイでの外れ、 ' 1055個をムラサメでの外れ、183個をコタロウでの外れとしています。 ' (注)数字は体感上や書込みデータをもとに適当に求めたもの。 ' もっと良い値があると思われるときは直して使って下さい。 ' セリフはまとめwikiを参照 ' ' まとめると ' 当たり: 外れ 信頼度 ' オウガイ 8 : 1592 = 1:199 0.5% ' ムラサメ 55 : 1055 ≒ 1: 19 5% ' コタロウ 122 : 183 = 1:1.5 40% ' シロ 15 : 0 100% ' Dim Attk 'アタック順を格納 Dim Tyusen '当落判定乱数格納 Dim Atari '当たり時登場敵判定用 Dim Hazure 'はずれ時登場敵判定用 Dim EndSW '終了判定 ' Do Until EndSW = vbNo Call MsgBox("乙女アタック開始", vbOKOnly) ' ' 8人分ループ For Attk = 1 To 8 ' 乙女登場時のセリフ Select Case Attk Case 1 Call MsgBox("我はヒデヨシ 覚悟しろ!", vbOKOnly) Case 2 Call MsgBox("我はケンシン 行くわよ!", vbOKOnly) Case 3 Call MsgBox("我はイエヤス 覚悟してください", vbOKOnly) Case 4 Call MsgBox("我はヨシモト お覚悟はよろしくて?", vbOKOnly) Case 5 Call MsgBox("我はシンゲン 覚悟はいいか?", vbOKOnly) Case 6 Call MsgBox("我はマサムネ 覚悟!", vbOKOnly) Case 7 Call MsgBox("我はノブナガじゃ 覚悟はよいかっ!", vbOKOnly) Case 8 Call MsgBox("我はミツヒデ 覚悟はできたか?", vbOKOnly) End Select ' ' 当落判定乱数を求める。200以下なら当たり ' 乱数初期化 Randomize Tyusen = Int((3030 * Rnd) + 1) If Tyusen <= 200 Then ' 当たり時敵武将登場判定 Atari = Int((200 * Rnd) + 1) If Atari <= 8 Then Call MsgBox("フンッ!", vbOKOnly) Call MsgBox("不覚ッ!", vbOKOnly) ElseIf Atari >= 9 And Atari <= 63 Then Call MsgBox("ハァッ!", vbOKOnly) Call MsgBox("痛ったぁ~い", vbOKOnly) ElseIf Atari >= 64 And Atari <= 185 Then Call MsgBox("たぁ~!", vbOKOnly) Call MsgBox("つ、つよい", vbOKOnly) Else Call MsgBox("わぉ~ん!", vbOKOnly) Call MsgBox("くぅ~ん", vbOKOnly) End If ' 乙女勝利時のセリフ Select Case Attk Case 1 Call MsgBox("勝っちゃったもんね~ やったね!", vbOKOnly) Case 2 Call MsgBox("フフッ口ほどにもない", vbOKOnly) Case 3 Call MsgBox("やりました", vbOKOnly) Case 4 Call MsgBox("ひれ伏しなさい お~っほっほっほ、楽勝ですわ", vbOKOnly) Case 5 Call MsgBox("よっしやー", vbOKOnly) Case 6 Call MsgBox("間合いが甘い たわいもない", vbOKOnly) Case 7 Call MsgBox("楽勝、楽勝!ハッハッハッハ!", vbOKOnly) Case 8 Call MsgBox("フフ・・私の勝ちだ", vbOKOnly) End Select Call MsgBox("戦国モード突入!", vbOKOnly) Exit For ' 201以上なら外れ Else ' 外れ時敵武将登場判定 Atari = Int((2830 * Rnd) + 1) If Atari <= 1592 Then 'オウガイ Call MsgBox("フンッ!", vbOKOnly) ElseIf Atari >= 1593 And Atari <= 2647 Then 'ムラサメ Call MsgBox("ハァッ!", vbOKOnly) ElseIf Atari >= 2648 And Atari <= 2830 Then 'コタロウ Call MsgBox("たぁ~!", vbOKOnly) End If ' 乙女敗北時のセリフ Select Case Attk Case 1 Call MsgBox("いった~い", vbOKOnly) Case 2 Call MsgBox("不覚…", vbOKOnly) Case 3 Call MsgBox("やられちゃいました…", vbOKOnly) Case 4 Call MsgBox("この私が…", vbOKOnly) Case 5 Call MsgBox("(痛)ってえなぁ…", vbOKOnly) Case 6 Call MsgBox("無念…", vbOKOnly) Case 7 Call MsgBox("ちっくしょう…", vbOKOnly) Case 8 Call MsgBox("よくも…", vbOKOnly) End Select ' 外れ時敵武将のセリフ If Atari <= 1592 Then 'オウガイ Call MsgBox("ウェァ~ハッハッハ", vbOKOnly) ElseIf Atari >= 1593 And Atari <= 2647 Then 'ムラサメ Call MsgBox("フッフフフフ", vbOKOnly) ElseIf Atari >= 2648 And Atari <= 2830 Then 'コタロウ Call MsgBox("ぼ、ぼくだって", vbOKOnly) End If If Attk = 8 Then Call MsgBox("乙女アタック終了", vbOKOnly) End If End If Next EndSW = MsgBox("再挑戦?", vbYesNo) Loop ■乙女アタック検証スクリプト@117スレ「xY2EKkF2」氏 Dim atack,MyValue,Game,Did,Win,Lost,MaxWin,MaxLost,WinCount Did = CLng(InputBox("ノブナガ「トライ回数を半角英数字で入力するのじゃ!」")) If Did < 1 Then Call MsgBox("ノブナガ「数値が変じゃ!ふざけるな!くらえ!非情ノ大剣!") Call MsgBox("ずぎゃーん!!!") Else Call MsgBox("ノブナガ「では、" + CStr(Did) + "回、試行しようぞ!」" ) Randomize Call MsgBox("ヒデヨシ「じゃあー、始めるよー!」", vbOKOnly) For Game = 1 to Did For atack = 1 to 8 MyValue = CInt((1515 * Rnd) + 1) If MyValue <= 100 Then WinCount = WinCount + 1 Win = Win + 1 If Win > MaxWin Then MaxWin = Win Lost = 0 Exit For End If Next If MyValue > 100 Then Lost = Lost + 1 If Lost > MaxLost Then MaxLost = Lost Win = 0 End If Next Call MsgBox("オウガイ「わーはっはっは!最大連続スルー" + CStr(MaxLost) + "回だ!!」") Call MsgBox("ヒデヨシ「でもでも!最大連覇" + CStr(MaxWin) + "回だよ!!」") Call MsgBox("ノブナガ「結局、" + CStr(Did) + "回中、勝ったのは" + CStr(WinCount) + "回だな!」") End If ■ケンシンの連チャン数検証スクリプト@122スレ「ym4pMQnN」氏 Dim sengoku,MyValue,Game,Did,Win,MaxWin,MaxLost,average,otome,Tan Call MsgBox("ケンシン「ああ、いい水浴だった…あ、上杉ケンシンです」") Call MsgBox("ケンシン「乙女アタック突入回数に対する最高連チャン数を調べてみましょう」") Did = CLng(InputBox("ケンシン「トライ回数を半角英数字で入力してね」")) If Did < 1 Then Call MsgBox("ケンシン「数値がおかしいわ!馬鹿にする気!?雷光連撃槍!」") Call MsgBox("ずきゅーん!!!") Else Call MsgBox("ケンシン「では、" + CStr(Did) + "回、試行しましょう」" ) Randomize Call MsgBox("シンゲン「ナッシャー! いくぞ!!」") average = 0 : Tan = 0 For Game = 1 to Did Win = 1 Do For sengoku = 1 to 8 MyValue = CInt((1515 * Rnd) + 1) If MyValue <= 100 Then Win = Win + 1 If Win > MaxWin Then MaxWin = Win Exit For End If Next If (MyValue > 100) and (Win > 1) Then For sengoku = 1 to 92 MyValue = CInt((9945 * Rnd) + 1) If MyValue <= 100 Then Win = Win + 1 If Win > MaxWin Then MaxWin = Win Exit For End If Next End If Loop Until MyValue > 100 If Win = 1 Then Tan = Tan + 1 average = average + Win Next Call MsgBox("ケンシン「結局、アタック" + CStr(Did) + "回の最大連チャン数は…」") Call MsgBox(CStr(MaxWin) + "回…") Call MsgBox("ケンシン「うち乙女アタックを突破できなかったのは…」") Call MsgBox(CStr(Tan) + "回…") Call MsgBox("ケンシン「平均" + CStr(CSng(average/Did)) + "連チャンとなりました…」" ) Call MsgBox("ケンシン「実機でも頑張ってね」" ) Call MsgBox("シンゲン「ナッシャー!」" ) End If

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。