メイン 迷える子羊の部屋【初心者専用】 くじの確率について | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
野中文雄 | Åê¹ÆNo.49557 投稿日時: 2012-12-13 3:01 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: くじの確率について 会話のキャッチボールが成立っていないように思います。石下さんが回答者の助言やその他集められた情報をどう理解され、どのように対処されたのか経過がまったくつかめません。石下さんと同じような疑問をもってこのトピックを検索した方が、石下さんのご回答から役に立つ情報を得られるでしょうか。→【フィードバックをしない】
|
ゲスト | Åê¹ÆNo.49556 投稿日時: 2012-12-11 19:44 |
Re: くじの確率について 野中様、コメントありがとうございます。
なんとか形になりつつあります。 現在は別の問題に頭を抱えています。 何度も何度も申し訳ないのですが、教えていただけるとありがたいです。 あるムービークリップをクリックすると、指定したアドレスに飛ばす処理についてです。
ここにパラメータを付加させたいのですが、 その時の年月日時分+何等かわかるようにわりあてた数値 を付加させる場合、どのようにかけばいいのでしょうか? 1等ならば01、2等ならば02…という数字を、クリックした時の年月日時分の後ろに付けたいのです。 どなたか方法を御存知の方、いらっしゃいますでしょうか? |
|
野中文雄 | Åê¹ÆNo.49555 投稿日時: 2012-12-11 7:25 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: くじの確率について 「ハズレが無限にある場合」各等の確率が定められれば、当たりも無限になります。「総数は無限にあるなかに、各等の当たり数が決まった数しかない」のなら、当たりの確率は0に収束します。
引用: roku011さんは書きました: |
ゲスト | Åê¹ÆNo.49554 投稿日時: 2012-12-10 19:56 |
Re: くじの確率について 度々すみません、下記のスクリプトに確立は設定できるのでしょうか?
ハズレが無限にある場合、総数がわからない状態ですが、各等の当たり数はあり、かつ、その各等にそれぞれの確率がふりたいのです。 何百分の1の確率で1等が1つだけ。 また何百分の1の確率で、2等が2つだけ。のような感じです。 どなたかアドバイスいただけませんでしょうか? ただ、調べている中でだんだん思ってきたのは そもそも確率は、総数分の当たり数で、1等が当たる確率は何だ、というもので 総数は無限にあるなかに、各等の当たり数が決まった数しかないのに、確率が設定できるのか?という疑問でいっぱいになってしまい、立ち止まってしまった状況です。 |
|
ゲスト | Åê¹ÆNo.49546 投稿日時: 2012-12-5 19:18 |
Re: くじの確率について あれから一日、いろいろと試し続けて、動き的には思うようなものができつつある状態です。
野中様、矢口様、度々ご迷惑をおかけしました。 現在のものは 1フレーム目
で、各カードの画面に移動してから、retにはいったものを判断して、 指定のフレームに移動させ、「何等です」と表示させる、といった風です。 (ちまちまと、5つのカードのパターン×5(1?5等)でフレームにわけてます) 丸一日、かかったわりには、スマートさの欠片もありませんが・・・ 現在の課題は矢口様がご意見くださいました 「経過の保存」について調べ、勉強中です。 (確率設定についても調べていますが、優先が経過保存のため) 3パターン中の、最後。「ネットワーク上であちこちのPCから同じくじ箱を使いたい」の「経過保存」のパターンを考えては頭を抱えています。 xmlでテキストファイルに、現在の「残った当たり数」を書き込み、読み込み、というのはできないでしょうか? (いろいろネットの中で探してみると、読み込みはあっても、書き込みはできないと見ましたが、策はないかと模索中です) というのも、phpやCGIに関して、全く知識がなく、 …勉強スべきですね、もう少し頑張ってみます。 |
|
矢口マサムネ | Åê¹ÆNo.49545 投稿日時: 2012-12-5 7:54 |
新米 居住地: 東京 投稿: 21
使用環境:
Windows 7 Professional SP1 / 64bit Flash CC 2014 Flash CS6 オンライン
|
Re: くじの確率について ええと、結局のところ何がわからないのか私にもよくわからないのですが…。
ご自身で書かれている中で、 ASは初心者だと強調されていること、 過去記事に書かれていることについては、既に理解しているとのこと、 「当たりが出たら、そのあたり数を減らす」まで、出来ている(配列を直接traceして出来ているという意味がちょっとわかりませんが…) とのことから、 配列に関しては既に理解しているものとの前提で話を進めます。 (例えば、過去記事から引用されているxShuffleArray関数の中でどういう処理がなされているかは理解しているという事ですよね?) ならば話は簡単です。 既に、『くじ入りの箱』が用意出来ているのです。 そこから無作為にくじを引き抜いてゆくsplice(ランダム)、 もしくは箱自体を振り回して中身をバラバラにし、 上もしくは下から一枚ずつめくってゆくpop()またはshift()、 この時点で既にくじとしては成立している訳です。 つまり「カードを選択する」という行為をこのくじを引く行為と結び付けたいが、そのロジック、考え方がわからない、という事で良いですね。 それならまず上記の動作を前例のシャッフルと同じように『くじを引く関数』としてまとめ、 カードに対して行われる「選択する」という行為を監視し、それを引き金としてその関数が実行されるようにすれば良いわけです。 「選択する」という行為がどんなものなのかは書かれていないので知りませんが、クリックでもキー選択でも数値入力でも、全てFlashの「イベント」として用意されています。これを監視し、 先の関数を「リスナー関数」として登録する事で結びつける事が出来ます。 検索 ⇒ as3 イベントリスナー カードの拡大だのスクラッチを削るだのは演出上の話でしょうし、ActionScriptを使わないでも可能なことだと思うので割愛します。 そして「経過の保存」ですが、そもそも保存とだけ言われましても どういう状況でどこにどう保存したいのかがやはり書かれていないので、さっぱりわかりません…。 ですがまあ今ちょうど怪我が治って調子が良いので予想される3パターンを列挙しておきます。 一度Flashを起動した状態で最後までくじを引ききるだけであれば、rootなど消えない場所に変数を用意し、くじを引く度に保存していけば良いだけです。 同じPCでFlashをたびたび再起動しつつ経過を保存していくのならば、野中様が既に挙げて下さっているようにSharedObjectクラスを使うのが最も簡単です。 ネットワーク上であちこちのPCから同じくじ箱を使いたいというのなら、別にデータ保存用のプログラムをサーバーサイドスクリプトで用意し、URLLoaderやURLRequestクラス、sendToURL関数を利用して連携すると良いでしょう。 検索 ⇒ as3 CGI連携 もっと高度かつスマートなやり方も色々とありそうですが、私も初心者の域を出てはおりませんもので、 『考え方』として私がアドバイス出来るのはこの辺までです。 では、解決を祈っております。
|
野中文雄 | Åê¹ÆNo.49544 投稿日時: 2012-12-4 22:08 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: くじの確率について なにがさっぱりなのか、「さっぱりです」。
「カードを選択する」のは、配列の頭からエレメントを取出すことです。エレメントには「何等か」が文字列で記されています。ですから、それをそのまま「表示」すればよいだけではないのでしょうか。 引用: roku011さんは書きました: |
ゲスト | Åê¹ÆNo.49543 投稿日時: 2012-12-4 21:36 |
Re: くじの確率について ご意見ありがたいです…!
野中様がおっしゃる通り、引用のトピックで「当たりが出たら、そのあたり数を減らす」は出来ていました。
と、ここまで、 引用していたトピックと、矢口様のご意見から、ランダムにかつ、「当たりが出たら、そのあたり数を減らす」はトレースしたところまでは出来ています。 実際のくじについてです。 5枚の柄の違うカードがあります。 それぞれ好きなカードを一つ選ぶと、カードが拡大し、くじであるスクラッチをけずり、1?5等のいずれかが表示される。というFlashです。 1?5等まで、ランダムに配列を並べ替えるまではできたのですが、そこからどうしていいのやら、さっぱりな状況です。 カードを選び、そこでランダムに配列された中から数値を取り出し、何等か表示する。 その後、また違う人がくじをひいた場合、先ほどの結果の「経過を保存」したあとのくじを、再びする。 「カードを選択する」から「何等か表示される」までのロジック、というか、ASの考え方とがわからず、頭をかかえていました。 わかりにく説明で大変申し訳無いのですが、ご教授願えませんでしょうか? |
|
野中文雄 | Åê¹ÆNo.49541 投稿日時: 2012-12-4 15:45 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: くじの確率について 引用のトピックでは「一度出た賞品は再度出ないように」しています。それは「当たりが出たら、そのあたり数を減らす」ことではないのでしょうか。違うのでしたら、その内容をもっと具体的にご説明ください。
「経過を保存する」には、SharedObjectクラスを使うのが定石です。 引用: roku011さんは書きました: |
矢口マサムネ | Åê¹ÆNo.49540 投稿日時: 2012-12-4 14:17 |
新米 居住地: 東京 投稿: 21
使用環境:
Windows 7 Professional SP1 / 64bit Flash CC 2014 Flash CS6 オンライン
|
Re: くじの確率について 方法は割といくらでもあると思います。ありすぎてちょっと困るくらいです。
感覚的に理解し易いのは、まず全ての要素を持った配列を作ってしまってはどうでしょうか。
くじ引きのガラガラの中に玉を入れる感覚です。 さらに分かり易く書くとこう(面倒なので三等まで…)
あとはこれをシャッフルして順に切り取っていくなり、 spliceでランダムなとこを抜き取っていくなり、どうにでも。 もし切り取りだの抜き取りだの自体が分からない場合は、配列の操作で調べて下さい。初心者用の解説サイトも沢山ありますし、入門書などにも大抵載ってると思います。 もしくは、
のように各等の残数を配列の要素にし、当たった分を減らしていって、0になったら要素自体抜いてしまえば良さそうです。 ほんとにいくらでもやりようがあります。 とりあえず配列というものを理解するのが手っ取り早いかと。 そもそもこの抽選部分だけならActionScriptというかプログラミング一般の質問という気がするので、Flashに絞らず検索なりしてみても良いのでは。多分ザクザク出ると思いますよ。
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |