rosebud 发表于 2005-3-8 09:00:53

<DIV class=quote><B>以下是引用<I>hw294</I>在2004-8-18 11:12:51的发言:</B>

<P 0cm LAYOUT-GRID-MODE: char; mso-line-height-alt: 0pt; mso-layout-grid-align: none?><FONT size=4>┌┬┬士将┬┬┬┐
</FONT><FONT size=4>├┼炮┼士<FONT color=#d56f2b>兵</FONT>┼┼┤
</FONT><FONT size=4>├┼┼┼炮┼┼┼┤
</FONT><FONT size=4>卒┼┼┼┼┼┼┼┤
</FONT><FONT size=4>├┴┴┴┴┴┴┴┤
</FONT><FONT size=4><FONT color=#dd6d22>├┬┬┬┬┬┬┬┤
</FONT></FONT><FONT size=4><FONT color=#cc7033>兵┼┼┼┼┼┼┼┤
</FONT></FONT><FONT size=4><FONT color=#cc7033>├┼┼┼炮┼┼┼┤
</FONT></FONT><FONT size=4><FONT color=#cc7033>├┼炮┼仕<FONT color=#000000>卒</FONT>┼┼┤
</FONT></FONT><FONT size=4><FONT color=#cc7033>└┴┴仕帅┴┴┴┘

</FONT></FONT>
<P>
<P 0cm LAYOUT-GRID-MODE: char; mso-line-height-alt: 0pt; mso-layout-grid-align: none?></P>
</DIV>




发一个Java 象棋看看


<APPLET width="249" height="301" codebase="http://www.qipaile.net/java/" code="JavaXQ.class">
<PARAM name="Position" value="--,--,--,E1,E0,D0,--,--,--,C1,E2,--,--,F8,--,A3|--,--,--,D9,E9,E8,--,--,--,C8,E7,--,--,F1,--,A6">
<PARAM name="MoveList" value="C1-C2 E7-E3 C2-C6 A6-A5 C6-C7 C8-C9 C7-C8 E3-E4 E2-E3 E4-E6 E3-E5 E6-E7 E5-E6 C9-B9 C8-C9">
</APPLET>

乌木 发表于 2005-3-8 09:41:01

<FONT size=3>啊!这样的java图好,因故暂无法装java插件的我也能看能动.有些魔方的java图也能像rosebud的一样吗?(可能外行话了,请谅解.)</FONT>

rosebud 发表于 2005-3-8 10:14:04

<APPLET code=javaxqb.class codeBase=http://www.ccbridge.net/java/ height=440 width=372 archive="javaxqb.zip"><PARAM NAME="forecolor" VALUE="white"><PARAM NAME="backcolor" VALUE="green"><PARAM NAME="movelist" VALUE="38-37 52-56 37-33 13-14 33-32 31-30 32-31 56-55 57-56 55-53 56-54 53-52 54-53 30-20 31-30"><PARAM NAME="beginposition" VALUE="...Z..b..............P......p.S........sKSP....psk.b......Z..............................."></APPLET>


再来个大的

Aren4188 发表于 2005-7-28 16:50:12

<P>很同意<STRONG><FONT face=Verdana color=#da2549>hw294的意见.</FONT></STRONG></P>
<P><STRONG><FONT face=Verdana color=#da2549>刚好这个棋局我也走过,很有异曲同工之妙.</FONT></STRONG></P>

清风细语 发表于 2005-8-1 17:16:43

请楼主把分珍珠的原理写出来,我们学习学习,谢!

xinru 发表于 2005-9-4 09:58:18

<DIV class=quote><B>以下是引用<I>rosebud</I>在2005-3-8 10:14:04的发言:</B><br><APPLET code=javaxqb.class codeBase=http://www.ccbridge.net/java/ height=440 width=372 archive="javaxqb.zip"><PARAM NAME="forecolor" VALUE="white"><PARAM NAME="backcolor" VALUE="green"><PARAM NAME="movelist" VALUE="38-37 52-56 37-33 13-14 33-32 31-30 32-31 56-55 57-56 55-53 56-54 53-52 54-53 30-20 31-30"><PARAM NAME="beginposition" VALUE="...Z..b..............P......p.S........sKSP....psk.b......Z..............................."></APPLET> <br><br><br>再来个大的</DIV>
<br><br>
<P>我看可以在{数学、算术趣题}中发些象棋的题目让大家做做呀!!!</P>
[此贴子已经被作者于2005-9-4 10:01:18编辑过]

ggglgq 发表于 2005-11-25 09:31:44

   <BR>    加精了。 <BR>  <BR>

simpley 发表于 2005-12-12 14:18:20

<P><STRONG><FONT face=Verdana color=#000000>ggglgq先生:</FONT></STRONG></P>
<P><STRONG><FONT face=Verdana>您的&lt;智取华山&gt;游戏我怎么也通不过(只能玩到第5级),能不能请您讲一下详细的算法.谢谢.</FONT></STRONG></P>

ggglgq 发表于 2005-12-12 20:29:12

<P>  <BR>    simpley 先生的确很强!如果不知道《智娶华山》算法的奥妙,能<BR>玩到第 5 级已经相当不错了。</P>
<P>
<HR>
</P>

<P>    如果您玩楼主的游戏(或者本人的“追山妹”游戏)没问题的话,您<BR>应该知道她们的算法是“把每一行的特征值用“逻辑异或”加起来,如果<BR>是 0 ,则先走方输,否则先走方赢。” <BR>    (注意:楼主的游戏要留意 1  1  1  、 1  1 及 1 的特殊情形。)</P>
<P>    同样《智娶华山》的每个单行都可以计算出一个特征值,对于连续的<BR> n 个洞来说,她们的特征值分别是:</P>
<P>  0: 0<BR>  1: 1<BR>  2: 2<BR>  3: 3<BR>  4: 1<BR>  5: 4<BR>  6: 3<BR>  7: 2<BR>  8: 1<BR>  9: 4<BR>  10:2<BR>  11:6<BR>  12:4<BR>  13:1<BR>  14:2<BR>  15:7<BR>  16:1<BR>  17:4<BR>  18:3<BR>  19:2<BR>  20:1<BR>  21:4<BR>  22:6<BR>  ......</P>
<P><BR>    胜负的判断标准同样是:把每一行的特征值用“逻辑异或”加起来,<BR>如果是 0 ,则先走方输,否则先走方赢。 <BR>  <BR>  </P>

ggglgq 发表于 2005-12-12 20:30:43

<P>  <BR>    下面举例说明特征值的计算方法:<BR>    每一行都可以计算出一个非负整数的特征值。举例,对于不长于 6 个<BR>的行来说:(表示方法: * 代表一个洞, 0 代表已经被填上的洞。 )</P>
<P>  000000  0  000<BR>  *00000  1  001<BR>  0*0000  1  001<BR>  **0000  2  010<BR>  00*000  1  001<BR>  *0*000  0  000<BR>  0**000  2  010<BR>  ***000  3  011<BR>  000*00  1  001<BR>  *00*00  0  000<BR>  0*0*00  0  000<BR>  **0*00  3  011<BR>  00**00  2  010<BR>  *0**00  3  011<BR>  0***00  3  011<BR>  ****00  1  001<BR>  0000*0  1  001<BR>  *000*0  0  000<BR>  0*00*0  0  000<BR>  **00*0  3  011<BR>  00*0*0  0  000<BR>  *0*0*0  1  001<BR>  0**0*0  3  011<BR>  ***0*0  2  010<BR>  000**0  2  010<BR>  *00**0  3  011<BR>  0*0**0  3  011<BR>  **0**0  0  000<BR>  00***0  3  011<BR>  *0***0  2  010<BR>  0****0  1  001<BR>  *****0  4  100<BR>  00000*  1  001<BR>  *0000*  0  000<BR>  0*000*  0  000<BR>  **000*  3  011<BR>  00*00*  0  000<BR>  *0*00*  1  001<BR>  0**00*  3  011<BR>  ***00*  2  010<BR>  000*0*  0  000<BR>  *00*0*  1  001<BR>  0*0*0*  1  001<BR>  **0*0*  2  010<BR>  00**0*  3  011<BR>  *0**0*  2  010<BR>  0***0*  2  010<BR>  ****0*  0  000<BR>  0000**  2  010<BR>  *000**  3  011<BR>  0*00**  3  011<BR>  **00**  0  000<BR>  00*0**  3  011<BR>  *0*0**  2  010<BR>  0**0**  0  000<BR>  ***0**  1  001<BR>  000***  3  011<BR>  *00***  2  010<BR>  0*0***  2  010<BR>  **0***  1  001<BR>  00****  1  001<BR>  *0****  0  000<BR>  0*****  4  100<BR>  ******  3  011</P>
<P>    这里,第一列是行的状态,第二列是特征值的十进制表示,第三列是<BR>特征值的二进制表示。<BR>    整个游戏的特征值是每一行的特征值的逻辑异或的和。若其为 0,则<BR>先走方输,反之则先走方胜。取胜的方法就是选择一种走法,使得走完后<BR>的特征值为 0。这种走法是必然存在的。</P>
<P><BR>    法则一:如果一行被 0 分隔为若干个连续 * 号段,则该行的特征值是<BR>这些 * 号子段的特征值的逻辑异或之和。例如,*0**0* 这个串,被 0 分隔<BR>为三个子串:*,**,*,它们的特征值分别为 1,2,1,因此整个串的特征值<BR>是 1^2^1 = 2。<BR>    法则二:连续 * 号的特征值计算方法。 列出按照游戏方法对这行进行<BR>操作后所有可能的情况,这些操作后形成的串成为后继串。对每一个后继串<BR>计算特征值,这些特征值形成了一个集合,不在这个集合中的最小非负整数<BR>就是要求的特征值。 例如,** 这个串,可以按照游戏规则形成 *0,0*,00 <BR>三个后继串,他们的特征值分别为 1,1,0,因此不在这个集合中的非负的<BR>最小整数是 2,就是 ** 的特征值。</P>
<P>   由 法则一 和 法则二 可以计算出 0 ~ n 的特征值。<BR>  <BR>  </P>
页: 1 [2] 3 4
查看完整版本: 分珍珠