• 締切済み

とあるゲームの乱数について

今、とあるゲームの乱数について調べているのですが以下の事が分かっています。 乱数(n+1) = (乱数(n) * 2 + m + 1) Xor 0x873ca9e5 m = 乱数(n)の最上位ビット 乱数の進み方はなんとなく理解できたのですが、 ゲームをする上で以下の作業が入る事を他の人が確認されたみたいなんです 1.バトルに入ったら装備しているカードを デッキの上から順に0~29まで並べる 2.乱数を2個進めて、それぞれを30で割り、その余り同士の番号のカードを入れ替える 3.2を30回繰り返す これで最初に出てくるカードが決まるらしいのですが これをWindows標準の電卓ではなく、どうにかして楽に計算できないものかと思いました この作業を何かのスクリプトにして記述する場合、どのようにすれば良いでしょうか? プログラムは何もわからない状態なので、ある程度簡単な言語があれば教えていただきたいです

みんなの回答

  • bakaok
  • ベストアンサー率22% (33/148)
回答No.1

そもそも >乱数(n) ここの部分そのゲームと同じ物を表現できないだろ。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • メルセンヌ・ツイスタの乱数生成範囲指定(C++)

    メルセンヌ・ツイスタで乱数の生成範囲を指定したいのですが 以下の方法以外でもっと厳密に乱数を生成できる方法がわかる方いますか? int n; n = genrand_int32() % 10; 上記では0~9までの乱数を求める事が出来ますが、余りは下二桁のみに依存するので 精度が低いのでは?と考えます。 分かる方いましたら宜しくお願いします。

  • 乱数

    乱数x、y(0〈x〈1)、(0〈y〈1)をn回発生させて、これらを座標とする点をx‐y座標平面上にプロットしてこの点と原点との距離が1以下となるときの回数をカウントしm回としてn:m=(長さ1の正方形の面積):(円の4分の1の面積)となる。これを利用して円周率を求めるプログラムなんてどう作るんですか?

  • EXCELの乱数表

    以下の作業なんですがやり方がわからないんで教えてください!お願いいたします!! 乱数表を作って、乱数表を利用し2個の数字を取り出す。(AとB) ↓ その取り出した数字を取り出した順に並べ、一つの数値とする。(AB) ↓ それらをデータXに変換する。 乱数AB |00|01~06|07~30|31~68|69~92|93~98|99 データX |-3|  -2 |  -1 |   0  |  1  |  2  |  3 ↓ 上記を繰り返し、大きさN=4の標本を100個作製する。 よろしければ以上のやり方を教えていただけると幸いです。 当方EXCEL初心者で、さっぱり困ってます!(><) よろしく願いいたします!

  • ゲーム用ノートパソコンの選び方

    少し前からノートパソコンがほしかったのですが、ちょっとしたゲームなどもやる予定なので、最低限のCPUとビデオカード装備のノートパソコンを探しています。 中でもいいなぁと思ったのが AMD Phenom II x4 N970 2.2GhzとRaedon HD 4250の Gateway 4GB RAM 5万円 富士通のIntel Core i5-2410M 2.3 Ghzと Intel HD 3000    6GB RAM 8万5000円 どちらがお得でしょうか?

  • 既約剰余類群の証明

    1つめは剰余類の掛け算。2つめは互除法の原理がわからないので質問します。 読んでいる本では、(a,b)でaとbの最大公約数を表すことにし、(k,n)=1⇔ kとnは互いに素。 ̄0(本では0の上に ̄)を余りが0の類としています。 定義 Z/nZの部分集合 { ̄K|(k,n)=1,1≦k≦n-1}は×に対して群になっている。これを(Z/nZ)*と書き、既約剰余類とよぶ。と書かれていて。 ×に関して閉じていることを確認しましょう。nと互いに素であるk,lがあるとき、その積klもnと互いに素になります。klをnで割った商をq,余りをmとすると、 kl=qn+mと書くことができます。kl≡qn+m (mod n) ∴kl≡m (mod n)より、ここからが1つめのわからない計算です。 ̄k× ̄l= ̄m 自分は、n=10,k=3,l=9,m=7 3×9=2×10+7として3を2で割った余り、9を2で割った余りそれらの積が、7を2で割った余りに等しいかを計算したのですが、2以降3,4,5・・・nについても成り立つと思っていました。しかし、n=10,k=3,l=9,m=7のとき、3と9を3で割った余りの積0、7を3で割った余り1と両辺は一致しません。この場合 ̄k× ̄l= ̄mは3を10で割った余り、9を10で割った余りそれらの積が、7を10で割った余りに等しいかを計算したときだけ成り立つことを書いているのかがわかりません。 ̄k× ̄l= ̄mの具体的な計算を教えてください。またこの後が、2つめのわからない点です。互除法の原理 a,bを自然数とするaをbで割った余りがrのとき、(a,b)=(b,r) より(m,n)=(kl,n)=1もわかりません。m=kl-qn よりmをnで割った余りkl(klはnと互いに素)から、(m,n)=(n,kl)と考えました。kl≡m (mod n)より単純にmをklに書き換えただけとも思いました。(m,n)=(kl,n)=1を説明してください。 本では、(m,n)=(kl,n)=1よりmもnも互いに素になります。ですから、×について閉じています。と続きます。

  • 数学の問題について教えてください。

    ある問題集にある問題です。 2つの異なる正の整数A,Bがある。Aを3でわると商がmで余りが2である。Bを3でわると商がnで余りが2である。A+Bを3でわったときの商と余りを求めよ。 問題の解答が以下です。 A・・・3m-2 B・・・3n+2 (以下略) =3(m+n+1)+1 となっています。 ここで、解答のAの余りが-2とされている意味がわかりません。 どうかご教授ください。

  • nForce4 M/Bのオンボードの音質とサウンドカードのゲームでの需要

    nForce4 M/Bのオンボードの音質と市販のサウンドカードの音質って、 体感できるような違いはあるんですかね? それとゲーム(具体的にはバトルフィールド2)でハードウェアエンコードのサウンドカードを付けると、 フレームレートが10程上がったと聞いたのですが、本当にそこまであがるものでしょうか?

  • プラスの乱数の合計とマイナス乱数の合計の商の値を上げるには?

    プラスの乱数の合計とマイナス乱数の合計の商の値を上げるには? 以下ルールで乱数を使ってプラスの乱数とマイナス乱数の合計の商の値をいかにして上げられるかの検証をやってます。 しかし今の私の知恵では商の値を動かす事ができません。 乱数の範囲は-10から+10とします。 乱数を発生させ与えられた値が仮得点として加算されます。 そして任意のロジックで仮得点を正式な得点として加算します。 その任意ロジックは例えば仮得点がマイナス幾つになったら、またはプラス幾つなったら仮得点を仕切り正式な得点として加算するというもの。 但し、仮得点がマイナスの場合、プラスの場合とそれぞれ1つ以上の仕切りロジックを作らなければならない。 そして仮得点がマイナスとプラスの場合に分けそれぞれ別の変数に加算する。 (もし仮得点がマイナスなら変数mynas プラスなら変数plus) 仕切られた仮得点は0に戻る。 最終的にその計算を数多く繰り返してプラスの乱数とマイナス乱数の合計の商の値を出力する訳です。 文章では分かりにくいので、私が行いたい検証をプログラムソース風に明記します。 //仕切りロジック 例えのロジックとして仮得点が+100以上、-100以下になったら、仕切って+100、-100をそれぞれ正式得点に加算する処理を1000回繰り返し最後にプラスの変数÷マイナスの変数の商を出力 //仮得点がマイナスの場合、プラスの場合とそれぞれ1つ以上の仕切りロジックを作らなければならない(変数plusのみまたは変数mynasのみのロジックは不可) //仮得点加算変数 KariTokuTen=0 //プラス得点加算変数 plus=0    //マイナス得点加算変数 mynas=0 for(i=0;i<1000;i++){ //whileループを止める為の変数 ex=0; while(ex==0){   //乱数(-10..10)を発生させ仮得点として加算(乱数の範囲変更不可) KariTokuTen=KariTokuTen+rand(-10..10) if( KariTokuTen >= 100){ //仮得点が100以上になったら100をプラス変数に加算 plus=plus+100 //仮得点を初期化 KariTokuTen=0 //whileループを止める変数 ex=1 } else if(KariTokuTen <= -100){ //仮得点が-100以下になったら-100をマイナス変数に加算 mynas=mynas-100 //仮得点を初期化 KariTokuTen=0 //whileループを止める変数 ex=1 } } //加算処理が終了しプラス得点とマイナス得点の商の値を出力 (この商の値を上げたい) print plus/mynas 私としてはルールを守った上で上述のロジックに限らず色々なロジックを発案し(プラスの変数÷マイナスの変数)の商の値がより高くなようにしたいです。上記のロジック以外にも色々と試してみましたが商の値は+-1ばかりで全くコントロールできません。 何卒ご教授宜しくお願いします。

  • ゲームはゲーム専用機の方がよくはないんですか?

    まず、これは非難でも中傷でもなく、本当に純粋な疑問である事を断っておきます。 だから皆さんもあまり身構えず気楽に回答してください。 パソコンで快適にゲームをやろうと思ったら、かなりの装備が必要です。 高速なCPUに大容量のメモリ、そして何と言っても高性能のビデオカード。 ビデオカードだけでゲーム機の2、3台も買えてしまうでしょう。 パソコンでやった方が遥かに性能がいいというならわかりますが、大して変わらないならわざわざ大枚はたいて高いパーツを増設するより、素直にプレイステーションとかの専用機を買ってしまった方が余程話は速いと思うのですが、あくまでパソコンをグレードアップしてゲームをする理由は何ですか?

  • ipodのLock'n ROLLゲーム

    ipodのLock'n ROLLというゲームをやっている人に教えてほしいのですが ゲームの仕方はわかるのですが、 ルールがいまいち分かりません 分かる人はいないでしょうか? 上に出てくるカードはどの時点で出てくるのか どういう風になったらゲーム終了なのか を知りたいです。 他にも詳しく分かるんでしたら教えてほしいですが まだ慣れていないので思いつきません。 宜しくお願いします