• ベストアンサー

簡単な当たり判定作りたい

環境FLASH MX  ボタンオンでスタート、もう一回押すと画面上ハズレ、又は当たり表示という簡単な判定機を作りたいです。 プログラムの確率は1/10とします。ただし、完全確率方式でハズレをいったんもとに戻す。またルーレットのように回るような抽選でなく ランダム式がよいです。 ぜひ、アドバイスおねがいします!

  • Flash
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.2

見覚えがあるお名前… と思えば,フットサルの方ですね。 お久しぶりです。 > ボタンオンでスタート、もう一回押すと… ここがわかりません。 ボタンオンで何がスタートするのでしょうか??? スタート という文字が表されるだけで良いのでしょうか。 確率1/10 で当たりを出すこと自体はすごく簡単なことですが, スタートなどの演出の方が難しいと思います。 また,ご質問からはどんなものか想像できない部分です。 「スタートという文字が表されるだけ」 の物だと次のようにすればできます。 新規ドキュメントを作成し, ステージ上に 「judge」 というインスタンス名(変数名ではありません)のダイナミックテキストを用意します。 文字の色は背景色以外の見やすい色にしてください。 そしてボタンを用意し, そのボタンに次のように書けば,できあがりです。 -------------------------------------- on (release) { // フラグの値が 無い か 0 であれば, if (flag == undefined || flag == 0) { // テキストフィールド judge に「スタート」を表示 _root.judge.text = "スタート"; // そしてフラグを 1 にする flag = 1; // // それ以外 } else { // 変数 lottery に 0~9 までの整数の乱数を代入 lottery = Math.floor(Math.random()*10); // lottery が 0 であれば if (lottery == 0) { // テキストフィールド judge に「当たり」を表示 _root.judge.text = "当たり"; } else { // それ以外は judge に「ハズレ」を表示 _root.judge.text = "ハズレ"; } // そしてフラグを 0 にする flag = 0; } } --------------------------------------- これでよろしいのでしょうか。 ================================== もう少し凝って, ボタンはフラグを切り換えるだけの役目にして, フレームにランダムに10種類の文字列を表示させるスクリプトを書いても良いと思います。 インスタンス名「judge」 というテキストフィールドはそのままで, ちょっと横長にエリアを広げておきます。 ボタンに書くスクリプト --------------------------------- on (release) { // フラグの値が 0 であれば, if (_root.flag == 0) { // フラグを 1 にする _root.flag = 1; // それ以外は } else { // フラグを 0 にする _root.flag = 0; } } --------------------------------- フレームに書くスクリプト --------------------------------- // フラグの初期値を設定 flag = 0; // // 配列 judgeArr の作成 judgeArr = new Array(); // 配列の各エレメントを設定 judgeArr[0] = "当たり"; judgeArr[1] = "ハズレだじょ~"; judgeArr[2] = "残念ハズレ"; judgeArr[3] = "おっとハズレちゃった"; judgeArr[4] = "なんとハズレ"; judgeArr[5] = "おみごとハズレです"; judgeArr[6] = "あららハズレ"; judgeArr[7] = "ハ・ズ・レっ!"; judgeArr[8] = "ハズレなのよ"; judgeArr[9] = "ハズレが好きね"; // // 1フレーム進む時間ごとに毎回計算 this.onEnterFrame = function() { if (flag == 1) { // judge に 配列judgeArr の乱数番エレメントを表示 _root.judge.text = judgeArr[Math.floor(Math.random()*10)]; } }; --------------------------------- テキストフィールドだけを使った簡単な演出例です。 結局 1/10 で「当たり」が出ることに変わりはありませんし, 目押しはおそらく不可能でしょうけど, こちらの方がなんとなく真剣味があって面白い気はします。 結局, #1の方が書かれている, 複数の中からランダムでひとつの数字を抽出。 もし「○」だったら「あたり」と表示させ、 それ以外では「はずれ」と表示させる。 という方法と全く同じです。 具体的に何をするのかを考えるのが難しいのです。 そこの部分をもう少し考えて, 上のようなことを応用すると,確率によって違う動作させることができますよ。 ---参考URL------ 「Math.random() でランダムな整数を取得する方法」 http://www.adobe.com/jp/support/flash/ts/documents/fl0173.html 「配列とは?Array」 http://www.1art.jp/flash/le/lesson34/lesson34.htm

taira812
質問者

お礼

ありがとうございます! おかげさまで、基本的な判定機できあがりました。 今回スベリの方を使わせていただきました。 本当に感謝しています。 しかし、まだ完全ではないのですぐに質問させていただきます(汗)

taira812
質問者

補足

お久しぶりです、おかげさまでHPは好評です。 さて補足ですが、 > ボタンオンでスタート、もう一回押すと… >ここがわかりません。 >ボタンオンで何がスタートするのでしょうか??? 説明不足でしたので・・ ボタンはひとつです。 (1)ボタン“オン”      ↓ (2)画面上が、当たり、ハズレ、当たり、はずれ・・とループ横スクロール      ↓ (3)ボタン“オン”      ↓ (4)プログラム判定結果、画面上でも当たりor外れ表示      ↓ (5)ボタン“オン”      ↓      (2)へ 今回は目押しでなく(2)のスクロール中の当たり、ハズレはあくまでただの演出で内部判定(プログラム)結果により画面をハズレ、当たりへ強制表示にしたいです。 ぜひ、よろしくです!

その他の回答 (2)

noname#35109
noname#35109
回答No.3

#2です。 ダハあぁーーーーーっ,ムズカシかった~。 > ぜひ、よろしくです! と言われましてもすんごい難しかったですよ(涙)。 何時間も考え込んでしましました。 > 当たり、ハズレ、当たり、はずれ・・とループ横スクロール するわけでしょう。 これだけでも配列を駆使して難しいのに, さらに「当たり」なら「当たり」で,「ハズレ」なら「ハズレ」で, スクロールを止めないとならない…。 これが難しい。 それに,スクロールを止めて, ズバッと「当たり」や「ハズレ」を出すのならまだ簡単なのですが, ズバッと出るとどう見ても変です。 「当たり」の文字でボタンをクリックしたはずなのに, いきなり表示が「ハズレ」にコロっと変わるのは変すぎます。 だから, スロットでいう「スベリ」を入れて止めないとならない…。 かなり 汗汗もので作りましたよ。 「スベリ」を入れて, 次の「当たり」または「ハズレ」で自然に止まるようにしました。 ========================= 新規ドキュメントを作成して, ステージ上に 「judgeBox」 というインスタンス名(変数名ではありません)のダイナミックテキストを用意します。 文字の色は背景色以外の見やすい色にしてください。 そしてフレームには次のようなスクリプトを書きます。 ------------------------------------------- // スクロールする文字列の登録 scrWord = "当たり ハズレ "; // flag(フラグ)の初期値を設定(3 はストップ状態) flag = 3; // スクロールする文字列の配列を作成 scrArr = new Array(); // 配列を1文字ずつの要素に分解 scrArr = scrWord.split(""); // 配列のエレメント数の取得 scrLen = scrArr.length; // // 1フレーム進む時間ごとに毎回実行 this.onEnterFrame = function() { // もし flag が 0 か 1 か 2 であれば if (flag == 0 || flag == 1 || flag == 2) { // judgeBox に配列の前4文字を表示 _root.judgeBox.text = scrArr.join("").substr(0, 4); // もし flag が 1 で 文字列の最初が "当" になれば if (flag == 1 && scrArr.join("").substr(0, 1) == "当") { // flag を 3 に(つまりストップ状態に)する flag = 3; // もし flag が 2 で文字列の最初が "ハ" になれば } else if (flag == 2 && scrArr.join("").substr(0, 1) == "ハ") { // flag を 3 に(つまりストップ状態に)する flag = 3; } // 配列の最初のエレメントを削除して最後のエレメントに代入 scrArr[scrLen-1] = scrArr.shift(); } }; ------------------------------------------- そしてボタンを作成して そのボタンには次のようなスクリプトを書きます。 ------------------------------------------- on (release) { // もし flag が 0 であれば if (_root.flag == 0) { // 変数 lottery に 0~9 までの整数の乱数を代入 lottery = Math.floor(Math.random()*10); // // lottery が 0 であれば if (lottery == 0) { // flag の値を 1 にする _root.flag = 1; } else { // それ以外は flag の値を 2 にする _root.flag = 2; } // // flag が 0 以外であれば } else { _root.flag = 0; } } ------------------------------------------- パブリッシュで完成です。 自分で作るのなら, 色々構造物(作り込んだムービークリップなど)を作成できますが, ココでは,その説明ができませんから,なんとか簡単に作れるようにしなければなりません。 したがって上のような形になりました。 難しいと思いますが, コメント行は1行1行入れていますから, カスタマイズするとすれば, 自力でしてカスタマイズしてくださいね。 スクリプトは短いですが,これを考えるだけでもかなり大変でした。 こんなのになると, 1/10 で当たりを出すこと自体なんて, もう簡単すぎてもうどうでも良い世界です。 他が難しすぎです。

taira812
質問者

お礼

ありがとうございます! おかげさまで、基本的な判定機できあがりました。 今回スベリの方を使わせていただきました。 本当に感謝しています。 しかし、まだ完全ではないのですぐに質問させていただきます(汗)

taira812
質問者

補足

ありがとうございます。只今参考にしながら作成中です。 何時間も考えてもらい恐縮です。 スロでいうすべりは後日取り入れるつもりです。 >それに,スクロールを止めて, >ズバッと「当たり」や「ハズレ」を出すのならまだ簡単なのですが, >ズバッと出るとどう見ても変です。 とありますが今回はこれでかまいませんよ!スクロールはあくまでもただの演出で今回判定時はズバッと「当たり」「はずれ」でよいです。 貴方様のプログラムを参考に平行して作業しています、よろしくおねがいします(汗)

  • kancil
  • ベストアンサー率27% (26/95)
回答No.1

例えばフローとしては 1.1~10の中からランダムでひとつの数字を抽出。 2.もし「1」だったら「あたり」と表示させ、   それ以外では「はずれ」と表示させる。 でOKなのでは?

taira812
質問者

お礼

ありがとうございます! おかげさまで、基本的な判定機できあがりました。 今回スベリの方を使わせていただきました。 本当に感謝しています。 しかし、まだ完全ではないのですぐに質問させていただきます(汗)

taira812
質問者

補足

はい、それでかまいません。 FLASH での作成方法(詳細)おねがいします。

関連するQ&A

  • 確率設定の方法

    パチンコで1/500 ・1/360の確率で当たりがくる様にスタートチャッカーに入る度にコンピューターがランダム式に抽選するらしいのですが、 たとえば、1/500の確率にしようと思えばデーター入力の時、10回転で当たりその後35回転で当たりとか300回転当たりなしとか数万回転での1/500の確率のデーターの入力必要と思うのですが、ランダム抽選方式ってどうなっているのでしょうか? 素人向けの回答を求めます。 どうしてランダムで1/500の確率設定できるのでしょうか?

  • FlashLite1.1 の当たり判定

    こんにちは。はじめて書き込みさせていただいてます。 FlashLite1.1で回っている観覧車の12個あるゴンドラの1つを当たりの位置に止めるとイベントが発生するフラッシュを作りたいのですが、FlashLite1.1の当たり判定の仕方で四苦八苦しています。 プログラムは苦手で、いろいろなサイトや本を見ながら試行錯誤中です。 今、マップゲーの仕組みを応用できないかなと思ってやってみてますが、なかなか正解にたどり着きません。。。 mdの値が1の場所に当たりゴンドラを止めたらイベントが起きるようにしたいので、当たりゴンドラが止まった位置のmdの数値をうけとってif文で当たりかハズレかを分岐させたいと思うのですが、考え方は合ってますでしょうか? この方法が理解できたら、プログラムが苦手な私にもいろいろ応用の幅が広がりそうかなと思っていて、なんとか習得したいと思います。 ぼんやりとした質問ですみません。。よろしくお願いします! //マップの当たりデーター md = "0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000001100000000" add"0000001100000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000" add"0000000000000000";

  • 当たり付き自動販売機

    当たり付き自動販売機 近くでよく当たり付きの自動販売機でジュースを買うのですが まったく当たりません。 333〇、777〇最後の数がいつも異なりハズレです。 どなたか当たった方がいましたら、教えてください。 また、当たったら、音楽かなんかが流れるのですか? また、その当たりでもう一回ルーレットがまた流れて当たるのですか? まさか2回も当たった方がいましたら、それまた教えてください。

  • 当たり判定のデータを残したい

    前回、簡単な当たり判定作りたいの追加希望です。 振り返りますと現状 sassakunさん回答ANo.3参考のフロー出来上がりました。 今回質問1です。 前回フロー(4)の判定結果を履歴と残し表示させたいのです。 つまり、フロー途中で・・・              ↓ (4)プログラム判定結果、画面上スベリで当たりor外れ表示              ↓ (4.1)    履歴 当たり○回 外れ○回 を適当に付近へ表示              ↓ としたいです。もちろん繰り返しフローですので 外れ及び当たりの履歴は増えていきます。(できたら履歴を0にする リセット機能もあれば便利です) 質問2 タイムラインでなくダイナミックテキストのみでスクロールさせて いますがフロー(2)~(4)の最中サウンドは可能なのでしょうか、 つまりボタン“オン”で音楽スタート→(2)・・(4)の判定後表示と同時にサウンド停止。 以上ここまでの(追加部分)フローをまとめます (1)ボタン“オン”      ↓ (2)音楽スタート(今回追加) 画面上当たり、ハズレ、当たり、はずれ・・とループ横スクロール       ↓ (3)ボタン“オン” 音楽再生中・・      ↓ (4)プログラム判定結果、画面上スベリで当たりor外れ表示同時に再生 中の音楽ストップ   同時に当たり○回 外れ○回 を適当に付近へ表示(今回追加)      ↓ (5)ボタン“オン”      ↓      (2)へ 質問3  フロー(4)“スベリ”部分速度って調節可能ですか? 質問4 当たりのときにタイムフレームへ移動、画面上演出したいのでが複雑になりかけているので今後の希望にします。 何度もお手数かけています。           

    • ベストアンサー
    • Flash
  • EXCEL2002を使用しているのですが画像のように抽選ボタンを押すと

    EXCEL2002を使用しているのですが画像のように抽選ボタンを押すとランダムでアタリとハズレが 表示されボタンの下に抽選をクリックした回数が表示されます。 ここまでは作成したのですが、アタリが表示されたときにアタリまでのボタンクリック回数を履歴で表示させてカウントを0に戻すというのを作りたいのですがわかりません。 どうか教えていただけないでしょうか。

  • 確率の問題で

    お聞きしたいのですが、 例えば抽選箱に玉が10個入っていて、その中の1つが当たり玉だとします(1/10) で、10人が順番に引いていくとします(引いたのは戻さない) 一人目の人が当たりを引ける確率は1/10、一人目の人がハズレを引いた場合二人目の人が当た りを引く確率は1/9・・・といった感じで抽選していくと後で引く人ほど当たりを引ける確率が上がることになりますよね? でも、後で引くということは先に抽選した人が当たりを引いてしまうことがあり、抽選すらできないこともあることになります。  用はこの条件で抽選する場合、どのタイミングで引くのが一番期待値は高くなるのでしょうか? どう考えていいのかが分かりません。

  • 小役の同時成立

    5号機で小役が同時成立することがあるそうですですけど、その仕組みはどのようになっているのでしょうか? 良くスロットの抽選がルーレットなどに例えられるようですがそのルーレットが複数あってたまたま両方が当たりのタイミングでレバーを叩いてしまうってことなのでしょうか。 あれってどのような仕組みでやっているのですか? コンピュータの中で2つのルーレットを個別に回しているのですか? 凄く不思議な気がします。

  • Flashのくじメールは当たるのでしょうか?

    楽天などから送られてくるスピードくじがありますが、特定のURLにジャンプさせられて、 そこで自動的にフラッシュアニメでくじがスタートします。 今まではずれしか出たことがありませんが、 flash上で確率を設定しているのならば、 何度もリロードすればいつか当たると思いますが、 それだとそういうことをする人が大勢出てくると思うので、 最初から当たりとハズレのURLを分けているということなのでしょうか。 そもそもあのくじで当たった人はいますか?

  • 鑑賞して盛り上がる抽選ができるフリーソフト

    タイトルのようなフリーソフトを探しています。 現在勤務している店舗でちょっとしたイベントを行なうのですが、そこで景品を用意して 来場者に抽選をしてもらおうと考えています。 人が並ぶほどの来場者数ではないため、単にクジを引いてもらってアタリ・ハズレでは 寂しいので、少しでも抽選自体を楽しめるような工夫ができたらと思います。 そこで、パソコンの画面で抽選をしようという案が出まして、それができるフリーソフトを 探しているのですが、なかなか見た目で楽しめるものが今のところ見つかっていません。 希望の動作は、以下のようなものです。 ・来場者は老若男女さまざまなので、来場者がする操作としては、単にマウスクリックする、  もしくは、画面を見て最初に何かを選んでもらう、など簡単なものが良いです ・抽選の過程を画面で見て楽しめる(必須)  むしろ抽選に特化したソフトというより、例えば、かわいい競走馬が追い抜き追い越されるのを  鑑賞するものなど、結果がランダムでその過程を楽しめさえすれば、抽選用のソフトでなくても  良いと考えています  ちなみにルーレット系のソフトはドキドキ感はありますが、それ自体は見ていても盛り上がるもの  ではないなぁと思いました ・音声の有無は問いません(音でも盛り上げられるなら尚更良い) ・アタリばかり出て用意した景品が不足する困るので、結果の確率をある程度変えられるもの  であると良いです(希望であり必須ではありません) ・動作環境はWindowsのVista または 7 です。 情報をご存知の方いらっしゃいましたら、どうぞよろしくお願いします。

  • 割合の計算

    くじ引きでの割合の計算方法を教えて下さい。 [抽選の割合] 1等賞:13% 2等賞:17% 3等賞:16% 4等賞:11% ハズレ:43% 1回のくじ引きで上記の抽選確率から当たりを引く割合は57%ですが、57%の当たりを引いた場合のその当たりがどの等賞であるか各等賞の割合を出すにはどのような計算式になりますか? 宜しくお願いします。

専門家に質問してみよう