home *** CD-ROM | disk | FTP | other *** search
/ DOKAN 22 / DOKAN22.iso / Webs / www.crosswinds.net / ~hendra / puzzle.js < prev    next >
Text File  |  2000-02-07  |  12KB  |  445 lines

  1. <!--Hide JavaScript from Java-Impaired Browsers
  2. var gif=new Array();
  3. for (var i=0;i<10;i++){
  4.  gif[i]=new Image();
  5.  gif[i].src="p/sc"+i+".gif";
  6.  }
  7. gif[10]=new Image();
  8. gif[10].src="p/wh.gif";
  9. gif[11]=new Image();
  10. gif[11].src="p/wh.gif";
  11.  
  12. var rflg=0;
  13. var ls="";
  14. var mflg=0;
  15. var olr=0;
  16. var olc=0;
  17. var orr=0;
  18. var orc=0;
  19. var rr=1;
  20. var rc=1;
  21. var p="p/"
  22. var g=".gif"
  23. var gl="4d2c3d4b7e6d3b2a3c3a1b1e4a5c2e7b"
  24. +"6e4c6b3e2b7c5a1d5e1a6c5b7d1c7a2d6a5d4e";
  25. var gr="whwhwhwhwhwhwhwhwhwhwhwhwhwhwhwh"
  26. +"whwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwh";
  27. var gc="1a2a3a4a5a6a7a1b2b3b4b5b6b7b1c2c"
  28. +"3c4c5c6c7c1d2d3d4d5d6d7d1e2e3e4e5e6e7e";
  29. var score=0;
  30. var ctr=0;
  31. var okflg=0;
  32. var scostr="";
  33. var ns="01234567890 ";
  34.  
  35. function butLight(){
  36.  pos=((lr*7)+lc-8)*2;
  37.  if (mflg<1&&gl.substring(pos,pos+2)!="wh"){
  38.   document.move.src="p/ml.gif";
  39.  }
  40. }
  41.  
  42. function butrLight(){
  43.  if (mflg==1){
  44.  document.place.src="p/pl.gif";
  45.  }
  46. }
  47.  
  48. function butPlace(){
  49.  if (mflg==1){
  50.   mflg=0;
  51.   document.place.src="p/pld.gif";
  52.   setTimeout('clrrMove()',500);
  53.   }
  54. }
  55.  
  56. function clrrMove(){
  57.  placeIt();
  58.  if (okflg==1){
  59.   okflg=0;
  60.   document.cur.src="p/mcur.gif";
  61.   document.inst.src="p/wh.gif";
  62.   document.move.src="p/md.gif";
  63.   document.sel.src=document.sel.src;
  64.   document.sel1.src="p/wh.gif";
  65.   document.mid.src="p/wh.gif";
  66.   document.mid1.src="p/wh.gif";
  67.   document.place.src="p/wh.gif";
  68.   document.rro1.src="p/wh.gif";
  69.   document.rro2.src="p/wh.gif";
  70.   document.rro3.src="p/wh.gif";
  71.   document.rro4.src="p/wh.gif";
  72.   document.rro5.src="p/wh.gif";
  73.   document.rcl1.src="p/wh.gif";
  74.   document.rcl2.src="p/wh.gif";
  75.   document.rcl3.src="p/wh.gif";
  76.   document.rcl4.src="p/wh.gif";
  77.   document.rcl5.src="p/wh.gif";
  78.   document.rcl6.src="p/wh.gif";
  79.   document.rcl7.src="p/wh.gif";
  80.   lcdark();
  81.   lrdark();
  82.  }
  83.  else{
  84.   mflg=1;
  85.   document.place.src="p/pd.gif";
  86.   }
  87. }
  88.  
  89. function butDown(){
  90.  pos=((lr*7)+lc-8)*2;
  91.  if (mflg<1&&gl.substring(pos,pos+2)!="wh"){
  92.   mflg=1
  93.   document.move.src="p/mld.gif";
  94.   setTimeout('clrMove()',500);
  95.  }
  96. }
  97.  
  98. function clrMove(){
  99.  document.cur.src="p/wh.gif";
  100.  document.inst.src="p/mcurr.gif";
  101.  document.move.src="p/wh.gif";
  102.  document.sel1.src=document.sel.src;
  103.  document.sel.src="p/wh.gif";
  104.  document.mid1.src=document.mid.src;
  105.  document.mid.src="p/wh.gif";
  106.  document.place.src="p/pd.gif";
  107.  document.lro1.src="p/wh.gif";
  108.  document.lro2.src="p/wh.gif";
  109.  document.lro3.src="p/wh.gif";
  110.  document.lro4.src="p/wh.gif";
  111.  document.lro5.src="p/wh.gif";
  112.  document.lcl1.src="p/wh.gif";
  113.  document.lcl2.src="p/wh.gif";
  114.  document.lcl3.src="p/wh.gif";
  115.  document.lcl4.src="p/wh.gif";
  116.  document.lcl5.src="p/wh.gif";
  117.  document.lcl6.src="p/wh.gif";
  118.  document.lcl7.src="p/wh.gif";
  119.  rcdark();
  120.  rrdark();
  121.  reMover();
  122. }
  123.  
  124. function display(stuff){
  125.  parent.window.status=stuff;
  126.  }
  127.  
  128. function leftRb(){
  129.  if (mflg==0){
  130.   if (olr!=lr){lrdark();}
  131.   if (olc!=lc){lcdark();}
  132.   pos=((lr*7)+lc-8)*2;
  133.   document.mid.src=p+gl.substring(pos,pos+2)+g;
  134.   }
  135.  olr=lr;
  136.  olc=lc
  137. }
  138.  
  139. function lrdark(){
  140.  document.lro1.src="p/rbd.gif";
  141.  document.lro2.src="p/rbd.gif";
  142.  document.lro3.src="p/rbd.gif";
  143.  document.lro4.src="p/rbd.gif";
  144.  document.lro5.src="p/rbd.gif";
  145.  if (lr==1){
  146.   document.lro1.src="p/rbl.gif";
  147.   }
  148.  if (lr==2){
  149.   document.lro2.src="p/rbl.gif";
  150.   }
  151.  if (lr==3){
  152.   document.lro3.src="p/rbl.gif";
  153.   }
  154.  if (lr==4){
  155.   document.lro4.src="p/rbl.gif";
  156.   }
  157.  if (lr==5){
  158.   document.lro5.src="p/rbl.gif";
  159.   }
  160. }
  161.  
  162. function lcdark(){
  163.  document.lcl1.src="p/rbd.gif";
  164.  document.lcl2.src="p/rbd.gif";
  165.  document.lcl3.src="p/rbd.gif";
  166.  document.lcl4.src="p/rbd.gif";
  167.  document.lcl5.src="p/rbd.gif";
  168.  document.lcl6.src="p/rbd.gif";
  169.  document.lcl7.src="p/rbd.gif";
  170.  if (lc==1){
  171.   document.lcl1.src="p/rbl.gif";
  172.   }
  173.  if (lc==2){
  174.   document.lcl2.src="p/rbl.gif";
  175.   }
  176.  if (lc==3){
  177.   document.lcl3.src="p/rbl.gif";
  178.   }
  179.  if (lc==4){
  180.   document.lcl4.src="p/rbl.gif";
  181.   }
  182.  if (lc==5){
  183.   document.lcl5.src="p/rbl.gif";
  184.   }
  185.  if (lc==6){
  186.   document.lcl6.src="p/rbl.gif";
  187.   }
  188.  if (lc==7){
  189.   document.lcl7.src="p/rbl.gif";
  190.   }
  191. }
  192. function rightRb(){
  193.  if (mflg==1){
  194.   if (orr!=rr){rrdark();}
  195.   if (orc!=rc){rcdark();}
  196.   }
  197.  orr=rr;
  198.  orc=rc;
  199. }
  200.  
  201. function rrdark(){
  202.  document.rro1.src="p/rbd.gif";
  203.  document.rro2.src="p/rbd.gif";
  204.  document.rro3.src="p/rbd.gif";
  205.  document.rro4.src="p/rbd.gif";
  206.  document.rro5.src="p/rbd.gif";
  207.  if (rr==1){
  208.   document.rro1.src="p/rbl.gif";
  209.   }
  210.  if (rr==2){
  211.   document.rro2.src="p/rbl.gif";
  212.   }
  213.  if (rr==3){
  214.   document.rro3.src="p/rbl.gif";
  215.   }
  216.  if (rr==4){
  217.   document.rro4.src="p/rbl.gif";
  218.   }
  219.  if (rr==5){
  220.   document.rro5.src="p/rbl.gif";
  221.   }
  222. }
  223.  
  224. function rcdark(){
  225.  document.rcl1.src="p/rbd.gif";
  226.  document.rcl2.src="p/rbd.gif";
  227.  document.rcl3.src="p/rbd.gif";
  228.  document.rcl4.src="p/rbd.gif";
  229.  document.rcl5.src="p/rbd.gif";
  230.  document.rcl6.src="p/rbd.gif";
  231.  document.rcl7.src="p/rbd.gif";
  232.  if (rc==1){
  233.   document.rcl1.src="p/rbl.gif";
  234.   }
  235.  if (rc==2){
  236.   document.rcl2.src="p/rbl.gif";
  237.   }
  238.  if (rc==3){
  239.   document.rcl3.src="p/rbl.gif";
  240.   }
  241.  if (rc==4){
  242.   document.rcl4.src="p/rbl.gif";
  243.   }
  244.  if (rc==5){
  245.   document.rcl5.src="p/rbl.gif";
  246.   }
  247.  if (rc==6){
  248.   document.rcl6.src="p/rbl.gif";
  249.   }
  250.  if (rc==7){
  251.   document.rcl7.src="p/rbl.gif";
  252.   }
  253. }
  254.  
  255. function prtScr(){
  256.  document.l1a.src=p+gl.substring(0,2)+g;
  257.  document.l1b.src=p+gl.substring(2,4)+g;
  258.  document.l1c.src=p+gl.substring(4,6)+g;
  259.  document.l1d.src=p+gl.substring(6,8)+g;
  260.  document.l1e.src=p+gl.substring(8,10)+g;
  261.  document.l1f.src=p+gl.substring(10,12)+g;
  262.  document.l1g.src=p+gl.substring(12,14)+g;
  263.  document.l2a.src=p+gl.substring(14,16)+g;
  264.  document.l2b.src=p+gl.substring(16,18)+g;
  265.  document.l2c.src=p+gl.substring(18,20)+g;
  266.  document.l2d.src=p+gl.substring(20,22)+g;
  267.  document.l2e.src=p+gl.substring(22,24)+g;
  268.  document.l2f.src=p+gl.substring(24,26)+g;
  269.  document.l2g.src=p+gl.substring(26,28)+g;
  270.  document.l3a.src=p+gl.substring(28,30)+g;
  271.  document.l3b.src=p+gl.substring(30,32)+g;
  272.  document.l3c.src=p+gl.substring(32,34)+g;
  273.  document.l3d.src=p+gl.substring(34,36)+g;
  274.  document.l3e.src=p+gl.substring(36,38)+g;
  275.  document.l3f.src=p+gl.substring(38,40)+g;
  276.  document.l3g.src=p+gl.substring(40,42)+g;
  277.  document.l4a.src=p+gl.substring(42,44)+g;
  278.  document.l4b.src=p+gl.substring(44,46)+g;
  279.  document.l4c.src=p+gl.substring(46,48)+g;
  280.  document.l4d.src=p+gl.substring(48,50)+g;
  281.  document.l4e.src=p+gl.substring(50,52)+g;
  282.  document.l4f.src=p+gl.substring(52,54)+g;
  283.  document.l4g.src=p+gl.substring(54,56)+g;
  284.  document.l5a.src=p+gl.substring(56,58)+g;
  285.  document.l5b.src=p+gl.substring(58,60)+g;
  286.  document.l5c.src=p+gl.substring(60,62)+g;
  287.  document.l5d.src=p+gl.substring(62,64)+g;
  288.  document.l5e.src=p+gl.substring(64,66)+g;
  289.  document.l5f.src=p+gl.substring(66,68)+g;
  290.  document.l5g.src=p+gl.substring(68,70)+g;
  291.  sco1=1000;
  292. }
  293.  
  294. function prtrScr(){
  295.  ctr=0;
  296.  okflg=1;
  297.  document.r1a.src=p+gr.substring(0,2)+g;
  298.  document.r1b.src=p+gr.substring(2,4)+g;
  299.  document.r1c.src=p+gr.substring(4,6)+g;
  300.  document.r1d.src=p+gr.substring(6,8)+g;
  301.  document.r1e.src=p+gr.substring(8,10)+g;
  302.  document.r1f.src=p+gr.substring(10,12)+g;
  303.  document.r1g.src=p+gr.substring(12,14)+g;
  304.  document.r2a.src=p+gr.substring(14,16)+g;
  305.  document.r2b.src=p+gr.substring(16,18)+g;
  306.  document.r2c.src=p+gr.substring(18,20)+g;
  307.  document.r2d.src=p+gr.substring(20,22)+g;
  308.  document.r2e.src=p+gr.substring(22,24)+g;
  309.  document.r2f.src=p+gr.substring(24,26)+g;
  310.  document.r2g.src=p+gr.substring(26,28)+g;
  311.  document.r3a.src=p+gr.substring(28,30)+g;
  312.  document.r3b.src=p+gr.substring(30,32)+g;
  313.  document.r3c.src=p+gr.substring(32,34)+g;
  314.  document.r3d.src=p+gr.substring(34,36)+g;
  315.  document.r3e.src=p+gr.substring(36,38)+g;
  316.  document.r3f.src=p+gr.substring(38,40)+g;
  317.  document.r3g.src=p+gr.substring(40,42)+g;
  318.  document.r4a.src=p+gr.substring(42,44)+g;
  319.  document.r4b.src=p+gr.substring(44,46)+g;
  320.  document.r4c.src=p+gr.substring(46,48)+g;
  321.  document.r4d.src=p+gr.substring(48,50)+g;
  322.  document.r4e.src=p+gr.substring(50,52)+g;
  323.  document.r4f.src=p+gr.substring(52,54)+g;
  324.  document.r4g.src=p+gr.substring(54,56)+g;
  325.  document.r5a.src=p+gr.substring(56,58)+g;
  326.  document.r5b.src=p+gr.substring(58,60)+g;
  327.  document.r5c.src=p+gr.substring(60,62)+g;
  328.  document.r5d.src=p+gr.substring(62,64)+g;
  329.  document.r5e.src=p+gr.substring(64,66)+g;
  330.  document.r5f.src=p+gr.substring(66,68)+g;
  331.  document.r5g.src=p+gr.substring(68,70)+g;
  332.  document.sel.src="p/sel.gif";
  333.  score+=sco1;
  334.  scostr="";
  335.  scostr+=score;
  336.  scctr=0;
  337.  while (scostr.length<5){
  338.   scostr=" "+scostr;
  339.   }
  340.  pos=ns.indexOf(scostr.substring(0,1));
  341.  document.sc1.src=gif[pos].src;
  342.  pos=ns.indexOf(scostr.substring(1,2));
  343.  document.sc2.src=gif[pos].src;
  344.  pos=ns.indexOf(scostr.substring(2,3));
  345.  document.sc3.src=gif[pos].src;
  346.  pos=ns.indexOf(scostr.substring(3,4));
  347.  document.sc4.src=gif[pos].src;
  348.  pos=ns.indexOf(scostr.substring(4,5));
  349.  document.sc5.src=gif[pos].src;
  350.  lrdark();
  351.  lcdark();
  352.  document.ctr.src="p/wh.gif";
  353.  if (gr==gc){
  354.   document.move.src="p/wh.gif";
  355.   alert("Your score is "+ scostr +".\nClick OK to continue");award();
  356.   }
  357. }
  358.  
  359. function reMover(){
  360.  pos=((lr*7)+lc-8)*2;
  361.  piec=gl.substring(pos,pos+2);
  362.  gl=gl.substring(0,pos)+"wh"+gl.substring(pos+2,gl.length);
  363.  prtScr();
  364. }
  365.  
  366. function placeIt(){
  367.  pos=((rr*7)+rc-8)*2;
  368.  if (gr.substring(pos,pos+2)!="wh"){
  369.   alert("There is already a piece in the "
  370.   +"position selected. No penalty, though"
  371.   +". Try again!");
  372.   okflg=0;
  373.   }
  374.  else{
  375.   placeIt1();
  376.   } 
  377. }
  378.  
  379. function placeIt1(){
  380.  if (gc.substring(pos,pos+2)!=piec){
  381.   wrongPlace();
  382.   }
  383.  else{
  384.   gr=gr.substring(0,pos)+piec+gr.substring(pos+2,gr.length);
  385.   prtrScr();
  386.  }
  387. }
  388.  
  389. function wrongPlace(){
  390.  ctr++;
  391.  if (ctr<4){
  392.   document.inst.src="p/wrong.gif";
  393.   document.ctr.src=gif[ctr].src;
  394.   sco1=sco1-250;
  395.   }
  396.  else{
  397.   pos=gc.indexOf(piec);
  398.   gr=gr.substring(0,pos)+piec+gr.substring(pos+2,gr.length);
  399.   prtrScr();
  400.   }  
  401. }
  402.  
  403. function award()
  404. {
  405. document.writeln('<html>\n'
  406. +'<head>\n'
  407. +'<title>Conan Puzzle Award</title>\n'
  408. +'</head>\n'
  409. +'<body background="images/back2cn.jpg">\n' 
  410. +'<table width="750">\n'
  411. +'    <tr>\n'
  412. +'      <td colspan="2" align="center"><h1><font color="red">Congratulations, Your score is '+ scostr +'</font></h1><hr></td>\n'
  413. +'    </tr>\n'
  414. +'    <tr>\n'
  415. +'      <td width="150" valign="top" align="center"><b>You have arranged the puzzle with '+ scostr +' score.\n'
  416. +'      For the reward, I shall send you an award.<br>\n'
  417. +'      Ok, fill this form, and wait for your award.\n'
  418. +'      <p>Note : By the time this page loaded, it will report a script error.\n'
  419. +'      Just ignore the message by pressing "OK" or "Yes" button.</b></td>\n'
  420. +'      <td><form method="POST" action="http://www.chip.co.id/cgi-bin/formmail.pl">\n'
  421. +'      <input type="hidden" name="subject" value="Conan Puzzle award : '+ scostr +'">\n'
  422. +'      <input type="hidden" name="recipient" value="hendra@crosswinds.net">\n'
  423. +'      <input type="hidden" name="redirect" value="http://www.crosswinds.net/~hendra/puzzle.html">\n'
  424. +'      <Blockquote>Your Nameá <input type="text" name="name" size="25">\n'
  425. +'      <p>Your E-mail <input type="text" name="email" size="25">\n'
  426. +'      <p>Your Website (if you have any)<br>\n'
  427. +'      <input type="text" name="Website" size="40">\n'
  428. +'      <p>Do you want me to list your name in "Winners Record" ?\n'
  429. +'      <blockquote>\n'
  430. +'        <p><input type="radio" value="Yes" name="List">Yes   <input type="radio" name="List" value="No">No\n'
  431. +'      </blockquote>\n'
  432. +'      <p>This is optional. Do you want me to list : <br>\n'
  433. +'      <input type="checkbox" name="List Mail" value="Yes">Your E-mail<br>\n'
  434. +'      <input type="checkbox" name="List Website" value="Yes">Your Website<br>\n'
  435. +'      <input type="checkbox" name="List Score" value="Yes">Your Score\n'
  436. +'      <p>Anything you want to sayáto me<p><textarea rows="5" name="Comments" cols="30">\n'
  437. +'      </TEXTAREA>          \n'
  438. +'      <input type="submit" value="Submit" name="Submit"></form></blockquote>\n'
  439. +'      </td>\n'
  440. +'    </tr></table>\n'
  441. +'</body>\n'
  442. +'</html>');
  443. }
  444.  
  445. // End Hiding -->