種が必要なのは疑似乱数だからだし
乱数表で毎回先頭から使ってたら毎回同じパターンになるんじゃ?
まあそれを利用した必ずカジノで勝てるゲームもあるけどw
サーバで暗号化とかなら/dev/random使ったりするな、これは乱数そのものだけど
>>952 それ乱数そのものなのか?
それが疑似乱数だと思ってた。
>>953 ああ、そういう意味じゃなくて、シードにするわけじゃなくて乱数値として使うって意味
チップセットによってはハードウエアによる乱数ジェネレーターが乗ってたりする
これは乱数そのもの
>>949 >>こんどゲーム作りたいんですが、乱数って時間とか使うんですよね?
そのとおりに聞いたんなら、うまく伝わってないじゃない?
乱数の代わりに時間を使うと取られたのかも
小さいサイコロがハードの中に入っていてそれで作るんだよな。
958 :
デフォルトの名無しさん:2010/05/25(火) 18:50:00
ゲームで使う乱数なら擬似乱数で十分。
wikipediaの擬似乱数に書いてある混合合同法を例にあげると
14992×673+944 = 10090560 → 09056
09056×673+944 = 06095632 → 09563
09563×673+944 = 06436843 → 43684
43684×673+944 = 29400276 → 40027
40027×673+944 = 26939115 → 93911
これが乱数になる。しかし、初期値が同じでスタートするなら、
毎回同じ乱数の数列になってしまう。
そこで時間などを加工して種にするのは良く使われるアイデアだ。
種を作るタイミングが12:00と12:01の場合では、
異なる乱数の数列が作成される。
普通はこの程度で十分。
959 :
デフォルトの名無しさん:2010/05/25(火) 18:52:50
> 発言が否定されたので不安だったり…
どういう感じで否定されたのか、具体的に教えて欲しい。
相手のキャリアにもよる。
昔のアーケードゲームには RTC が載っていなかったから、乱数の種には起動してから
ユーザー入力があるまでの時間を使ったりしていた。
って、そんなケースの訳は無いなw
セガテトリスとかがそうなんだが、トリビアを披露してみたくなっただけ。失礼w
連続で済まん。
種には、と書いたが、毎回同じ種で、ゲーム中の用途と別にフレーム毎に一つ乱数系列を進める
(乱数を取る)だけでも望みの効果を得られるので、そっちで実装するチームの方が多かったと思う。
>乱数の種の事で盛り上がっててて、
>「こんどゲーム作りたいんですが、乱数って時間とか使うんですよね?」と聞いたら
>発言が否定されたので不安だったり…
種の話をしてるのに
HTML程度しか分からない超初心者です。
PHP、C++等を覚えたいのですが、とても参考になった本等ありましたら教えて下さい。
中古でいいじゃん
969 :
デフォルトの名無しさん:2010/05/27(木) 23:01:38
ま、いくらPCとかプログラミングって騒いでも、数学や物理よりはどうせ簡単なんだろ??(笑)
数学も最近はコンピュータを使って力ずくで解く。例えば4色問題。
プログラムコード貼り付け禁止のスレにたどり着きました。
後よろしく。
Visual Studio 2008でASP.NET(VB)によるWebアプリ開発をしてみようかと思ってるところです。
これ、PHPみたいなスクリプト言語かと思ってたんですが、ビルドするとソースがコンパイル?
されてDLLができてるような・・・。
もしかして、PHPとかVBScriptみたいにスクリプト言語そのままをリリースして、そいつが都度
解釈されて動いてる・・・のとは全然違う?って、そもそもそれが.netってことですか?
Javaみたいなもんと考えた方が良いんですかね。
>>973 .net 自体は dll みたいなもので、アチコチから使えるようになってる。
PHP とかのスクリプト言語からも .net を使えるし、C++ みたいなコンパイル言語からも使える。
で、VBScript はスクリプト言語だけど、VB は、基本的にはスクリプト言語じゃない。
デフォルトで exe の作れる Java と考えると、あなたの疑問に関してだけ言えば、いいと思う。
dll を作ることになってるのは VB がどうとかじゃなくて asp という仕組み(?)の都合。
975 :
デフォルトの名無しさん:2010/05/28(金) 22:15:08
たしてちょうど15になる7個の自然数の組合せをすべて列挙するとともに、
すべての組合せを表示し終えたら、それらの組合せが全部でいくつあるの
かも出力するプログラムを作成しなさい。
#include<stdio.h>
int main(void)
{
int i,num;
printf("自然数の組合せ\n");
num=0;
for(i=1;num<=14;i++){
num=num+i;
printf("%d\t",i);
}
printf("組み合わせは%d通り\n",num);
return 0;
}
現在ここまで作りましたが、プログラムがわかりません。
誰か教えてください。
言語はC++
環境はVisual です。
1から7まで表示して終わりじゃないか?
i と 15-i の組み合わせ
考える気がないとしか思えないよな
7個の数字の合計が15になる組み合わせじゃないのか?
1+1+1+1+1+1+9 とか 2+2+2+2+2+2+3 とか
a,b,c, という変数がそれぞれあってそれぞれ左から 10 5 1 と数字がはいっています。
この3つを比較して一番小さい数字を取り出したい(この場合はc)のですがどうやってやればいいでしょうか。
>>980 個数が分かってるんだから繰り返し比較したらいい。
最大二回比較したら結果は出る。
個数が定数でなくても、愚直に比較して n-1 回比較したら、正しい結果が出る。
>>980 c を取り出したいのか、それとも 1 を取り出したいのか?
C#言語仕様が和文で読みたいんだけれど2010EEにはインストールされてないんです。
バージョンproとかteamとか毎に書いてある内容に差別化されてるの?
誰かどっかにうpしてください。興味本位ですがお願いします。
>>975ですが、プログラムを書き換えました。
#include<stdio.h>
int main(void)
{
int num,sum;
int a,b,c,d;
a=0;
b=0;
c=0;
d=0;
num=0;
sum=0;
if(n==0){
printf("%dC%d=0\n",num,sum);
return 0;
}
else if(m>=n || m==0){
printf("Error\n");
return 0;
}
a=n;
for(d=1;d <= m;++d){
b=b*a/d;
--a;
num=num+i;
printf("%d\t",i);
}
printf("%dC%d=%d\n",num,sum,b);
return 0;
}
>>983 最新バージョンの和文は、まだ無いかも知れない。
2005EEにはあったような気がするが確かではない。
英文を気にしない人が多いから、確かな答えが返ってこないかもしれない。
図書館で本を読み漁った方がいいかも知れない。
昔のバージョンの書き方は、今でも(推奨されないとしても)使うことができる。
>>983 VS2010のトライアルバージョンには入ってるぞ
うpしろっていうならアップローダのURLくらい出せよ
>>980 ちなみに言語はC/C++です。コメント
#include<stdio.h>
int main(void)
{
int a=10, b=5, c=1, temp;
if(a>b) temp = b; else temp = a; // aとcを比べる
if(temp>c) temp = c; // aとcを比べた結果を、cと比べる
printf("%d\n", temp);
return 0;
}
>>987 あるんですか!?
良かったら教えていただきたいのですが
>>989ですが、検索したらありました。
ご迷惑をおかけしました。
日経Software10年分のipad版が出たら買う
ume
>>993 その下の図に「ラベル部の見方」があるよ
プログラミングってむずかしいけど、
人の命令には絶対服従、
コンピュータは自分勝手な事はしない、
入力、処理、画面表示しかしない
って事がだいじなんだってわかってから
かんたんになった!
> 人の命令には絶対服従、
主語が抜けてるけど、It is だろう。
>>997 > 入力、処理、画面表示しかしない
>
> って事がだいじなんだってわかってから
データの加工と複製しかしない。
EOF
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。