TVアニメ「ラストピリオド -終わりなき螺旋の物語-」PV
アニメ『ラストピリオド -終わりなき螺旋の物語-』
毎回悪玉三人組と戦います。いつも敵のスぺシャルキャラが強いので、お金はないけど、ガチャを回すかありません。でも手に入るのは、★1キャラばかり。
アニメ出てくるキャラは、老若男女みんなかわいいです。ゲームの絵よりも好きです。
ラストピリオドではないですが、スマホゲームのガチャは、課金はないものの楽しく回しています。欲しいですよね。高★キャラ。ガチャを何十連しても、目当てのキャラやアイテムが出ない場合、おまじないで、ガチャを回す以外のことをして、確率変動させた方がいいとよく聞きます。シード値変更ってやつでしょうか。
まあランダムはどこまでいってもランダムだと思いますが、シード値を毎回ランダムにすると、もしかしたら、偏った結果になるのでは? と思い、さっそくCプログラミング。
★1~★3までのキャラ出現回数をカウントするプログラムです。star1は★1。star3は★3キャラのつもり。 乱数は、★1キャラが90%。★2が9%、★3が1%にしてます。
シード値は固定させて、ガチャ1000連。このプログラムでは、★3は何キャラ手に入るでしょうか。
takk@deb9:~/tmp$ cat -n srand-1.c 1 #include <stdlib.h> 2 #include <stdio.h> 3 4 int main() 5 { 6 int i,r; 7 int star1=0; 8 int star2=0; 9 int star3=0; 10 11 srand(1); 12 for(i=0;i<1000;i++){ 13 r = rand() % 1000; 14 if(r < 10){ 15 star3++; 16 continue; 17 }else if(r < 100){ 18 star2++; 19 continue; 20 }else{ 21 star1++; 22 } 23 } 24 25 printf("star1=%d\n", star1); 26 printf("star2=%d\n", star2); 27 printf("star3=%d\n", star3); 28 29 return 0; 30 } takk@deb9:~/tmp$
実行してみます。
takk@deb9:~/tmp$ gcc srand-1.c takk@deb9:~/tmp$ ./a.out star1=897 star2=95 star3=8 takk@deb9:~/tmp$
8キャラですね。
シード値固定なので、何回回しても、8キャラです。
takk@deb9:~/tmp$ ./a.out star1=897 star2=95 star3=8 takk@deb9:~/tmp$ ./a.out star1=897 star2=95 star3=8 takk@deb9:~/tmp$
次はシード値を乱数で変更しながら1000 x 100回回します。
takk@deb9:~/tmp$ cat -n srand-2.c 1 #include <stdlib.h> 2 #include <stdio.h> 3 4 int main() 5 { 6 int i,j,r; 7 int star1=0; 8 int star2=0; 9 int star3=0; 10 11 for(j=0;j<100;j++){ 12 srand(r); 13 for(i=0;i<1000;i++){ 14 r = rand() % 1000; 15 if(r < 10){ 16 star3++; 17 continue; 18 }else if(r < 100){ 19 star2++; 20 continue; 21 }else{ 22 star1++; 23 } 24 } 25 } 26 27 printf("star1=%3.2f %\n", star1/1000.0); 28 printf("star2=%3.2f %\n", star2/1000.0); 29 printf("star3=%3.2f %\n", star3/1000.0); 30 31 return 0; 32 } takk@deb9:~/tmp$
実行。★3がいきなり1%を上回りました。
takk@deb9:~/tmp$ gcc srand-2.c takk@deb9:~/tmp$ ./a.out star1=89.94 % star2=8.99 % star3=1.07 % takk@deb9:~/tmp$
何度やっても、上回ります。
takk@deb9:~/tmp$ ./a.out star1=89.79 % star2=9.12 % star3=1.09 % takk@deb9:~/tmp$ ./a.out star1=89.93 % star2=8.99 % star3=1.08 % takk@deb9:~/tmp$
ん~。確率が良くなっているのは、たまたまでしょうけど、ガチャを回すときは、シード値、気にしてしまいます。
コメント