最新

Miyako Shogi System

コツコツ改良、へこたれない
2014| 1|
2013| 12|
2012| 01| 02| 04| 05| 06| 07| 08| 09| 10|
2011| 01| 02| 03| 04| 05| 07| 08| 10| 11| 12|
2010| 02| 03| 06| 07| 08| 09| 10| 12|

2011/03/04

ランダム定跡の工夫

自動対戦で、同一対局を避けるために定跡を乱数化しているが、

srandでシードを設定した後、同じ乱数列が生成されるので、進行が同一となり面白くない。

そこで、rdtscを使い定跡を散らすことにする。

unsigned int
my_rand()
{
 #ifdef	_MSC_VER
   return (unsigned int)__rdtsc();
 #else
 #if defined(__i386) || defined(__x86_64)  // x86なら
 unsigned int  eax, edx;

   __asm__ volatile("rdtsc" : "=a"(eax), "=d"(edx));
   return eax;  // 下の32bitだけを返す
 #else
   return rand();  // x86以外ならrandを使いましょう
 #endif
 #endif
}

'11/04/08 修正: 条件マクロのバグにより64bitで動かなかった

リンクはご自由に (Miyako Shogi System Kyoto Japan)

ダウンロードのページ

Lighttpd

DreamPlug