⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 数据结构——旋转的位棋盘.htm

📁 象棋程序设计全资料集(介绍编写象棋程序的方法思路)
💻 HTM
📖 第 1 页 / 共 4 页
字号:
  <DD>} </DD></DL>
<TABLE width="100%" border=0>
  <TBODY>
  <TR>
    <TD>
      <P align=center>需要右移的位数</P></TD></TR>
  <TR>
    <TD align=middle>
      <TABLE border=1>
        <TBODY>
        <TR>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>0</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>1</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>3</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>6</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>10</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>15</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>21</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD></TR>
        <TR>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>1</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>3</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>6</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>10</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>15</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>21</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>36</STRONG></FONT></TD></TR>
        <TR>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>3</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>6</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>10</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>15</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>21</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>36</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>43</STRONG></FONT></TD></TR>
        <TR>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>6</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>10</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>15</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>21</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>36</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>43</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>49</STRONG></FONT></TD></TR>
        <TR>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>10</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>15</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>21</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>36</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>43</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>49</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>54</STRONG></FONT></TD></TR>
        <TR>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>15</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>21</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>36</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>43</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>49</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>54</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>58</STRONG></FONT></TD></TR>
        <TR>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>21</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>36</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>43</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>49</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>54</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>58</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>61</STRONG></FONT></TD></TR>
        <TR>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>28</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>36</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>43</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>49</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>54</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>58</STRONG></FONT></TD>
          <TD align=middle bgColor=#000000><FONT face="Times New Roman" 
            color=#ffffff><STRONG>61</STRONG></FONT></TD>
          <TD align=middle bgColor=#ffffff><FONT 
            face="Times New Roman"><STRONG>63</STRONG></FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<DL>
  <DT>  最后,像对第一根斜线所做的那样,分离出所需数据。 
  <DT>  对这两个位棋盘做“逻辑或”,便得到记录受象攻击的格子的位棋盘。 
  <DT>  
  <DD>bishop_attack = diag_A8H1_attacks | diag_H8A1_attacks; 
  <DT>  
  <DT>  最后,要得到受皇后攻击的格子的位棋盘,只要把受车攻击的格子“或”上受象攻击的格子: 
  <DT>  
  <DD>queen_attack = rook_attack | bishop_attack; 
  <DT>  
  <DT><FONT color=#ff0000>  【一位网友来信说他剖析过 </FONT><FONT face="Times New Roman" 
  color=#ff0000>Galahad </FONT><FONT 
  color=#ff0000>的源程序,程序中并未发现“旋转的位棋盘”的算法,而采用一种“位行”</FONT><FONT 
  face="Times New Roman" color=#ff0000>(BitRank)</FONT><FONT 
  color=#ff0000>和“位列”</FONT><FONT face="Times New Roman" 
  color=#ff0000>(BitFile)</FONT><FONT color=#ff0000>的结构。正摆的位棋盘实际上就是把</FONT><FONT 
  face="Times New Roman" color=#ff0000>8</FONT><FONT 
  color=#ff0000>个位行连在一起形成的,而旋转</FONT><FONT face="Times New Roman" 
  color=#ff0000>90</FONT><FONT color=#ff0000>度的位棋盘则是由</FONT><FONT 
  face="Times New Roman" color=#ff0000>8</FONT><FONT 
  color=#ff0000>个位列连在一起的,至于旋转</FONT><FONT face="Times New Roman" 
  color=#ff0000>45</FONT><FONT color=#ff0000>度和</FONT><FONT 
  face="Times New Roman" color=#ff0000>315</FONT><FONT 
  color=#ff0000>度的位棋盘,实际上也只需要用两套</FONT><FONT face="Times New Roman" 
  color=#ff0000>15</FONT><FONT 
  color=#ff0000>个的“位斜线”就可以了。比起位行和位列操作,通过位移运算从位棋盘中析取某行或某列,就显得多此一举了,因此它的效远远没有位行和位列高。而旋转的位棋盘这种炫技,它的作用仅仅是误导一下象棋引擎设计师而已。】</FONT> 

  <DT>  
  <DT>  出处:不详 
  <DT>  译者:<FONT face="Times New Roman">Allen Liu (</FONT><A 
  href="mailto:ditch_u@yahoo.com"><FONT 
  face="Times New Roman">ditch_u@yahoo.com</FONT></A>,<A 
  href="http://lostboy.myrice.com/home.htm" target=_blank><FONT 
  face="Times New Roman" 
  color=#0000ff>http://lostboy.myrice.com/</FONT></A><FONT 
  face="Times New Roman">)</FONT> 
  <DT>  类型:不详 
  <DT>  编辑:黄晨 <FONT face="Times New Roman">(</FONT><A 
  href="mailto:webmaster@elephantbase.net"><FONT 
  face="Times New Roman">webmaster@elephantbase.net</FONT></A><FONT 
  face="Times New Roman">)</FONT> </DT></DL>
<DIR>
<LI>上一篇 <A 
href="http://www.elephantbase.net/computer/struct_bitboard.htm">数据结构——位棋盘</A> 
<LI>下一篇 <A 
href="http://www.elephantbase.net/computer/struct_movegen.htm">数据结构——着法生成器</A> 
<LI>返 回 <A href="http://www.elephantbase.net/computer.htm">象棋百科全书——电脑象棋</A> 
</LI></DIR>
<DIV align=center>
<CENTER>
<TABLE border=0>
  <TBODY>
  <TR>
    <TD>
      <P align=center><A href="http://www.elephantbase.net/" target=_blank><IMG 
      height=31 src="数据结构——旋转的位棋盘_files/elephantbase.gif" width=88 
      border=0></A></P></TD></TR>
  <TR>
    <TD><A href="http://www.elephantbase.net/" target=_blank><FONT face=Arial 
      size=2><STRONG>www.elephantbase.net</STRONG></FONT></A></TD></TR></TBODY></TABLE></CENTER></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -