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$
ん~。確率が良くなっているのは、たまたまでしょうけど、ガチャを回すときは、シード値、気にしてしまいます。


コメント