DhtmlXQ_MXQ_HEAD.js
上传用户:hldjtg
上传日期:2022-07-28
资源大小:4250k
文件大小:6k
源码类别:

棋牌游戏

开发平台:

Java

  1. var isMXQ=false;
  2. var MXQMove='';
  3. var AllowSearch=2;
  4. var isMXQLoad=(location.protocol!='http:')?false:true;
  5. function Init_MXQ(MCJ,MXQ,SIDE)
  6. {
  7. AllowSearch=SIDE;
  8. MXQ=MXQ.replace(/[- ]/gi,'').toUpperCase();
  9. if (MXQ.length>=4) MXQ=MXQ.match(/w{4}/gi).join('');
  10. else MXQ='';
  11. MXQMove=MXQ;
  12. var p,n,i,m,o;
  13. p='8979695949392919097717866646260600102030405060708012720323436383'; //目前只支持全局,日后加上倒推棋步到初始局面功能。
  14. m=MXQ.split('');
  15. o='ABCDEFGHIJ';
  16. n='9876543210'.split('');
  17. for(i=1;i<m.length;i=i+2) m[i]=n[o.indexOf(m[i])];
  18. m=m.join('');
  19. UBB='[DhtmlXQ_ver]www_dpxq_com[/DhtmlXQ_ver]rn[DhtmlXQ_init]500,350[/DhtmlXQ_init]rn[DhtmlXQ_binit]'+p+'[/DhtmlXQ_binit]rn[DhtmlXQ_move_0_1_0]'+m+'[/DhtmlXQ_move_0_1_0]rn[DhtmlXQ_viewurl]?f=400[/DhtmlXQ_viewurl]';
  20. if (!isMXQ) return;
  21. initdata();
  22. if (SIDE==1) turnBoard(); //旋转棋盘
  23. document.getElementById('m_text').scrollTop=0;
  24. document.getElementById('divsave').style.display='';
  25. }
  26. function Conv_MCJ(MCJ)
  27. {
  28. if (MCJ=='')
  29. return '8979695949392919097717866646260600102030405060708012720323436383';
  30. else
  31. {
  32. var p='864213579abcdefgomkihjlnpqrstuvw'.split('');
  33. for(i=0;i<32;i++)
  34. {
  35. n=MCJ.indexOf(p[i]);
  36. p[i]=(n<0)?'99':(parseInt(n/10)+''+(9-n%10));
  37. }
  38. p=p.join('');
  39. return p;
  40. }
  41. }
  42. function Conv_MXQ(MCJ,MXQ,SIDE)
  43. {
  44. AllowSearch=SIDE;
  45. if (!isMXQ) return;
  46. MXQ=MXQ.replace(/[- ]/gi,'').toUpperCase();
  47. if (MXQ.length>=4) MXQ=MXQ.match(/w{4}/gi).join('');
  48. else MXQ='';
  49. var i,j,p,s,m,o,n,r,s1,s2;
  50. o='ABCDEFGHIJ';
  51. n='9876543210'.split('');
  52. if (MXQ.substr(0,MXQMove.length)==MXQMove)
  53. {
  54. MXQMove=MXQ;
  55. MXQ=MXQ.match(/w{4}/gi);
  56. if (MXQ==null) return;
  57. j=0;s='';
  58. for (i=lnum;i<MXQ.length;i++)
  59. {
  60. lnum++;j++;
  61. m=MXQ[i].split('');
  62. m[1]=n[o.indexOf(m[1])];
  63. m[3]=n[o.indexOf(m[3])];
  64. s1='_'+m[0]+m[1]+'_';
  65. s2='_'+m[2]+m[3]+'_';
  66. m=m.join('');
  67. move+=m;
  68. s+='rn<div id="move_'+lnum+'" onmouseup="gotonum('+lnum+')">'+((lnum%2==1)?('    '+(lnum+1)/2+'.').replace(/.*(.{4})$/gi,'$1'):('    ')).replace(/ /gi,'&nbsp;')+getMovelistString(m,P[lnum-1])+'&nbsp;&nbsp;</div>';
  69. sMI[lnum]=sMI[lnum-1];
  70. pMI[lnum]=sMI[lnum-1];
  71. p='_'+P[lnum-1].replace(/(dd)/gi,'$1_');
  72. if (p.indexOf(s2)>=0) p=p.replace(s2,'_99_').replace(s1,s2);
  73. else p=p.replace(s1,s2);
  74. P[lnum]=p.replace(/_/gi,'');
  75. }
  76. if (s!='')
  77. {
  78. MoveDIV.innerHTML+=s;
  79. r=eval('/\[(DhtmlXQ_move_'+sMI[lnum]+')\](.*)\[\/\1\]/gi');
  80. UBB=UBB.replace(r,'[$1]MOVE[/$1]').replace('MOVE',move);
  81. }
  82. if ((pClick.length<2&&nnum>=lnum-1)||j>1) gotonum('Last');
  83. else document.getElementById('shownow').value=nnum+'/'+lnum;
  84. }
  85. else Init_MXQ(MCJ,MXQ,SIDE);
  86. }
  87. function SearchP_MXQ(p)
  88. {
  89. if (DhtmlXQ=='') {showalert('对不起,您打开本推演棋盘页面时东萍棋谱仓库网站无法接通,因此暂时无法使用搜索');return;}
  90. if (AllowSearch<2) {showalert('只有旁观者才能使用棋谱仓库搜索功能学棋,对局者只能在棋盘上推演棋局,研究走法');return;}
  91. if (AllowSearch>2) {showalert('上一个搜索还未完成,请稍候再搜索');AllowSearch--;return;} 
  92. if (p=='') return;
  93. if (p.length==4) p=getpos().join('')+p;
  94. if (!isMXQLoad) {Load_MXQ(p);return;}
  95. AllowSearch=5;
  96. setTimeout('AllowSearch=2;',3000);
  97. if (isMXQ)
  98. {
  99. search_diy.document.s.e.value='';
  100. search_diy.document.s.p.value=p;
  101. search_diy.document.s.submit();
  102. }
  103. else
  104. NS_MXQ.location.href='mxq.asp?p='+p;
  105. document.getElementById('divsave').style.height='100%';
  106. document.getElementById("viewframe").style.left=510;
  107. document.getElementById('sButton1').value='显示棋谱';
  108. document.getElementById('sButton2').value='返回对局';
  109. }
  110. function Load_MXQ(p)
  111. {
  112. var m=VarDIV.innerHTML.match(/getMove(.d{4}.)/gi);
  113. m=(m==null)?'':(m[0].match(/d{4}/gi)[0]);
  114. var f='?f='+nnum+'_'+sMI[nnum]+((isTurn)?'_1':'_')+((isMirror)?'_1':'_')+'_'+m+((pCid>=0)?('_'+pCid):'_')+((CSS)?'_':('_'+conv_ev(getpos(1))));
  115. self.name='NoFile_[DhtmlXQ_viewurl]'+f+'[/DhtmlXQ_viewurl]rn[DhtmlXQ_mxq_p]'+p+'[/DhtmlXQ_mxq_p]rn[DhtmlXQ_mxq_side]'+AllowSearch+'[/DhtmlXQ_mxq_side]rn[DhtmlXQ_mxq_move]'+MXQMove+'[/DhtmlXQ_mxq_move]rn'+UBB;
  116. self.location.href='http://www.dpxq.com/hldcg/search/DhtmlXQ_MXQ.htm';
  117. }
  118. function Buy_MXQ()
  119. {
  120. window.open('http://www.dpxq.com/hldcg/shop/mxq.html');
  121. }
  122. function Login_MXQ()
  123. {
  124. if (!isMXQLoad) {Load_MXQ('');return;}
  125. NS_MXQ.location.href='http://www.dpxq.com/hldcg/search/mxqlogin.asp';
  126. document.getElementById('divsave').style.height='100%';
  127. }
  128. function Logout_MXQ()
  129. {
  130. if (!isMXQLoad) {Load_MXQ('');return;}
  131. NS_MXQ.location.href='http://www.dpxq.com/hldcg/search/mxqlogout.asp';
  132. document.getElementById('divsave').style.height='100%';
  133. }
  134. function ShowB_MXQ()
  135. {
  136. document.getElementById('divsave').style.height=(document.getElementById('divsave').style.height=='28px')?'100%':'28px';
  137. if (isMXQLoad) document.getElementById('sButton2').value=(document.getElementById('divsave').style.height=='28px')?'显示搜索':'返回对局';
  138. }
  139. function ShowV_MXQ()
  140. {
  141. if (!isMXQLoad) {Load_MXQ('');return}
  142. if (viewframe.location.pathname!='/hldcg/chess/view.htm') {showalert('你还没有看过棋谱仓库中的棋谱');return;}
  143. document.getElementById('divsave').style.height='100%';
  144. document.getElementById('sButton2').value='返回对局';
  145. document.getElementById('viewframe').style.left=(document.getElementById('sButton1').value=='隐藏棋谱')?'510px':'0px';
  146. document.getElementById('sButton1').value=(document.getElementById('sButton1').value=='隐藏棋谱')?'显示棋谱':'隐藏棋谱';
  147. }
  148. function hidebgimg()
  149. {
  150. if (viewframe.name_dhtmlxq_search_view)
  151. {
  152. viewframe.name_dhtmlxq_search_view.document.getElementById('divs').style.backgroundImage='none';
  153. document.getElementById("viewframe").style.left=0;
  154. document.getElementById('sButton1').value='隐藏棋谱';
  155. document.getElementById('sButton2').value='返回对局';
  156. }
  157. }
  158. function showWideSPage()
  159. {
  160. document.getElementById('IS_MXQ').style.width=494;
  161. }