lj21cn.8u8.com
下载

解决方案 »

  1.   

    http://www.lj21cn.8u8.com/game/mywork/DelphiChess062_out.zip
    这是老版本,新版本马上快要研制出来了,当然现在还不很成熟
      

  2.   

    现在遇到一个很头疼的问题。就是如何产生一个64位长整形随机数,最好是无符号的。
    这是采用HashTranspositionTable技术的关键。而我的程序中
    function Rand64:Int64;
    begin
     result:=Random($ffffffffffffffff);
    end;
    只能产生32位随机整数。因此Hash散列程度不高造成TranspositionTable大量冲突,从而影响搜索速度。请问到底产生一个64位长整形随机数?
      

  3.   

    up
    象棋游戏?  have a look
      

  4.   

    Researcher(游戏人)
        你不能用二个32位的模拟64位的呀
      

  5.   

    我看国了,很好! 能不能把技术文档给我看看呀?[email protected]
      

  6.   

    呵呵,下载ing ……
    学习ing ……
      

  7.   

    我用到的技术基本上都是参照
    http://www.seanet.com/~brucemo/topics/topics.htm
    里介绍的
    其实程序还有很多Bug,其中一个很麻烦的就是Delphi不象C,好象没有64位无符号长整型。也不知道怎样产生随机64位整数,越随机越好。
    因此能够大幅度减少搜索量的Hash Transposition Table技术优势没有充分发挥,
    另外没有把走游棋的分支去掉。
      

  8.   

    http://www.seanet.com/~brucemo/topics/zobrist.htm
    里面介绍了一个产生64位长整随机数程序如下:可是Delphi里怎样实现呢?
    U64 rand64(void){    return rand() ^ ((U64)rand() << 15) ^ ((U64)rand() << 30) ^        ((U64)rand() << 45) ^ ((U64)rand() << 60);}
      

  9.   

    int64的随机数你可以使用两个int32的组合不就行了?