쓸만한 주저리

자바스크립트 바둑판

봄돌73 2009. 4. 1. 10:45

원본 출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=talkbox&wr_id=1446665&sfl=mb_id||subject&stx=boradol3&spt=&page=


현재 착수 가능하고, 재착수 금지 되어 있음

가로, 세로 좌표 표시 추가

화점 표시 추가

우클릭 금지(ie)/선택 금지


〈style type="text/css">
  .BadukBoard {font-size:17pt;line-height:100%;cursor:pointer}
〈/style>
〈body>
  〈table cellpadding=0 cellspacing=0>
    〈tr>
      〈td>〈/td>
      〈td>01〈/td>
      〈td>02〈/td>
      〈td>03〈/td>
      〈td>04〈/td>
      〈td>05〈/td>
      〈td>06〈/td>
      〈td>07〈/td>
      〈td>08〈/td>
      〈td>09〈/td>
      〈td>10〈/td>
      〈td>11〈/td>
      〈td>12〈/td>
      〈td>13〈/td>
      〈td>14〈/td>
      〈td>15〈/td>
      〈td>16〈/td>
      〈td>17〈/td>
      〈td>18〈/td>
      〈td>19〈/td>
    〈/tr>
    〈tr>
      〈td>
        〈div style=line-height:140%;margin-top:-10px>
          01〈br>
          02〈br>
          03〈br>
          04〈br>
          05〈br>
          06〈br>
          07〈br>
          08〈br>
          09〈br>
          10〈br>
          11〈br>
          12〈br>
          13〈br>
          14〈br>
          15〈br>
          16〈br>
          17〈br>
          18〈br>
          19〈br>
        〈/div>
      〈/td>
      〈td colspan=19>
        〈div id="BoardArea" class="BadukBoard" style=margin-top:-10px;margin-left:-10px>〈/div>
      〈/td>
    〈/tr>
  〈/table>
  〈script type="text/javascript">
    //여기서부터 선택 금지 스크립트, ie에서는 우클릭도 금지
    var message="";
    function clickIE(){
      if(document.all){
        (message);
        return false;
      }
    }
    function clickNS(e){
      if(document.layers||(document.getElementById&&!document.all)){
        if(e.which==1||e.which==2||e.which==3){
          (message);
          return false;
        }
      }
    }
    if(document.layers){
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown=clickNS;
    }
    else{
      document.onmouseup=clickNS;
      document.oncontextmenu=clickIE;
    }

    document.oncontextmenu=new Function("return false")

    function disableselect(e){
      return false
    }

    function reEnable(){
      return true
    }

    document.onselectstart=new Function ("return false")

    if (window.sidebar){
      document.onmousedown=disableselect
      document.onclick=reEnable
    }
    //여기까지

    var BabukBoard = new Array(19);
    for (var i=0; i 〈 19; i++) {
      BabukBoard[i] = new Array(19);
    }
    for (var i=0; i 〈 19; i++) {
      for (var j=0; j 〈 19; j++) {
        if (i==0 && j==0) BabukBoard[i][j] = "┌";
        else if (i==0 && j==18) BabukBoard[i][j] = "┐";
        else if (i==18 && j==0) BabukBoard[i][j] = "└";
        else if (i==18 && j==18) BabukBoard[i][j] = "┘";
        else if (i==18) BabukBoard[i][j] = "┴";
        else if (i==0) BabukBoard[i][j] = "┬";
        else if (j==0) BabukBoard[i][j] = "├";
        else if (j==18) BabukBoard[i][j] = "┤";
        else if (i%3==0 && j%3==0 && i%6!=0 && j%6!=0) BabukBoard[i][j] = "◎";
        else BabukBoard[i][j] = "┼";
      }
    }
    ViewBoard();

    var BabukBoardBase=BabukBoard

    var CurrDolType = true;
    function SetDol(x,y) {
      if(BabukBoard[x][y]=="●" || BabukBoard[x][y]=="○"){
        alert("이미 착수한 곳입니다.")
      }
      else{
        if (CurrDolType) BabukBoard[x][y] = "●";
        else BabukBoard[x][y] = "○";
        CurrDolType = !CurrDolType;
        ViewBoard();
      }
    }

    function ViewBoard() {
      var inHtml = "";
      for (var i=0; i 〈 19; i++) {
          for (var j=0; j 〈 19; j++) {
              inHtml += "〈font onclick='SetDol(" + i + "," + j + ")'>" + BabukBoard[i][j] + "〈/font>";
          }
          inHtml += "〈br>";
      }
      document.getElementById("BoardArea").innerHTML = inHtml;
    }
  〈/script>
〈/body>




01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19