Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <div class='board'></div>
  <button id="reset">Reset</button>
</body>
</html>
 
.cells{
  height: 50px;
  width: 50px;
  border: 1px solid black;
  float: left;
  margin: 1px;
  text-align: center;
}
.hidden{
  visibility: hidden;
}
 
var array = new Array();
var winner_found;
//Create board and array
function board_make(){
  winner_found = false;
  for (var i = 0; i < 3; i ++){
    array[i] = new Array(3);
    for (var j = 0; j < 3; j ++){
      array[i][j] = "A" ;
      if(j == 2){
        $('.board').append("<div class='cells'><p class='hidden'>"+i.toString()+j.toString()+"</div></br></br></br>");
      }
      else{
      $('.board').append("<div class='cells'><p class='hidden'>"+i.toString()+j.toString()+"</div>");
      }
    }
  }
}
//Match Checking Function
function match(x,y,z){
  var same = false;
  if (x == "X" && y == "X" && z == "X"){
    same = true;
  }
  return same;
}
//Horizontal Match Check Function
function hor_match(){
  var row_one = match(array[0][0],array[0][1],array[0][2]);
  var row_two = match(array[1][0],array[1][1],array[1][2]);
  var row_three = match(array[2][0],array[2][1],array[2][2]);
  return (row_one||row_two||row_three);
}
//Vertical Match Check Function
function ver_match(){
  var col_one = match(array[0][0],array[1][0],array[2][0]);
  var col_two = match(array[0][1],array[1][1],array[2][1]);
  var col_three = match(array[0][2],array[1][2],array[2][2]);
  return (col_one||col_two||col_three);
}
//Diagonal Match Check Function
function diag_match(){
  diag_left = match(array[0][0],array[1][1],array[2][2]);
  diag_right = match(array[0][2],array[1][1],array[2][0]);
  return (diag_left || diag_right);
}
//jQuery begins
$(document).ready(function(){
  board_make();
  $('.board').on('click', '.cells', function(){
    console.log('clicked');
    if ($(this).text() != "X"){
      var a = parseInt($(this).text()[0],10);
      var b = parseInt($(this).text()[1],10);
      array[a][b] = "X";
      $(this).html("<p class='shown'>X</p>");
    }
    else{
      alert("Spot taken. Pick another spot.");
    }
    if ((winner_found === false) && (hor_match() || ver_match() || diag_match())){
        alert("Match found!");
        winner_found = true;
    }  
 });
  
 $('#reset').click(function(){
   $('.board').empty();
     board_make();
 });
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers