Advertisement
Guest User

Untitled

a guest
Jul 24th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 2.47 KB | None | 0 0
  1. <html>
  2. <head>
  3. <style>
  4.  
  5.     .chess_btn {
  6.         width: 20px;
  7.         height: 20px;
  8.     }
  9.  
  10. </style>
  11. <script>
  12.     var phase = 0;
  13.     var CONST_BISHOP = "X";
  14.     var CONST_PATH = "O";
  15.  
  16.     function clear_field(){
  17.         for (var i = 0; i < 8; i++){
  18.             for (var j = 0; j < 8; j++){
  19.                 document.getElementById("b" + i + "_" + j).textContent = "";
  20.             }
  21.         }
  22.     }
  23.    
  24.     function setBishop(btn, strict){
  25.         if (strict && btn.textContent != CONST_PATH){
  26.             return;
  27.         }
  28.         clear_field();
  29.         btn.textContent = CONST_BISHOP;
  30.         var row = Number(btn.dataset.row)-1;
  31.         var column = Number(btn.dataset.column)-1;
  32.         while(row >= 0 && column >= 0){
  33.             document.getElementById("b" + row + "_" + column).textContent = CONST_PATH;
  34.             row--;
  35.             column--;
  36.         }
  37.         row = Number(btn.dataset.row)+1;
  38.         column = Number(btn.dataset.column)-1;
  39.         while(row <= 7 && column >= 0){
  40.             document.getElementById("b" + row + "_" + column).textContent = CONST_PATH;
  41.             row++;
  42.             column--;
  43.         }
  44.         row = Number(btn.dataset.row)-1;
  45.         column = Number(btn.dataset.column)+1;
  46.         while(row >= 0 && column <= 7){
  47.             document.getElementById("b" + row + "_" + column).textContent = CONST_PATH;
  48.             row--;
  49.             column++;
  50.         }
  51.         row = Number(btn.dataset.row)+1;
  52.         column = Number(btn.dataset.column)+1;
  53.         while(row <= 7 && column <= 7){
  54.             document.getElementById("b" + row + "_" + column).textContent = CONST_PATH;
  55.             row++;
  56.             column++;
  57.         }
  58.     }
  59.  
  60.     function element_click(event){
  61.         switch(phase){
  62.             case 0: //set bishop
  63.                 setBishop(event.currentTarget, false);
  64.                 phase++;
  65.                 break;
  66.             case 1: //move bishop
  67.                 setBishop(event.currentTarget, true);
  68.                 break;
  69.             default:
  70.                 phase = 0;
  71.         }
  72.     }
  73.  
  74.     function create_table(){
  75.         var tbl = document.createElement("table");
  76.         tbl.setAttribute("border", "2");
  77.         tbl.setAttribute("cellpadding", "1");
  78.         tbl.setAttribute("cellspacing", "1");
  79.        
  80.         for (var i = 0; i < 8; i++){
  81.             var tr = document.createElement("tr");
  82.            
  83.             for (var j = 0; j < 8; j++){
  84.                 var td = document.createElement("td");
  85.                 var btn = document.createElement("button");
  86.                 btn.addEventListener("click", element_click);
  87.                 btn.id = "b" + i + "_" + j;
  88.                 btn.setAttribute("class", "chess_btn")
  89.                 btn.dataset.column = j;
  90.                 btn.dataset.row = i;
  91.                 td.appendChild(btn);
  92.                 tr.appendChild(td);
  93.             }
  94.             tbl.appendChild(tr);
  95.         }
  96.         document.body.innerHTML = "";
  97.         document.body.appendChild(tbl);
  98.     }
  99.    
  100. </script>
  101. </head>
  102. <body>
  103.  
  104. <input type=button value="Table" onclick=create_table()>
  105.  
  106. </body>
  107. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement