JSFiddle - React, Tailwind, and code Playground

by Ivan Mishchenko

HTML

<script src="http://premium-api.com/jscourse/rb_plain.js"></script>
<p>Whose move: <span id='move'>Black</span></p>
<p> <span id='m'></span></p>

JavaScript

// set base data
var isMoveBlack = true;
var gamePosition = "ooooooooowoooooooowoooooowowboooooobwwwoooooowooooooooboooooowoo";

// define click function
function userClick(col, row) {
    console.log(col +"," + row);
    // TODO is move correct?
    var index = 8 * (row - 1) + col.charCodeAt(0) - 97;
    var cell = gamePosition.charAt(index);
    if ( cell == "o" ) {
        drawDisk(col, row, isMoveBlack);
        // TODO flip disks
        // save game position
        var disk = ( isMoveBlack ) ? "b" : "w";
        gamePosition = gamePosition.substr(0, index) + disk + gamePosition.substr(index+1);
        // change player
        isMoveBlack = !isMoveBlack;
       
    } else {
        alert('Wrong move!');
    }   

 if(isMoveBlack!=true){
document.getElementById('move').innerHTML='White';
}else{
document.getElementById('move').innerHTML='Black';
} 

   document.getElementById('m').innerHTML= gamePosition;
     
    if(col.charCodeAt(0)>=99&&col.charCodeAt(0)<=104)
    {            
        var indexMinus2=8 * (row - 1) + (col.charCodeAt(0)-2)-97;
        var cellMinus2 = gamePosition.charAt(indexMinus2);
      if(cellMinus2==disk)
      {
          var cellCh=gamePosition.charAt(indexMinus2+1);
          if(cellCh!=cell&&cellCh!='o')
          {
            gamePosition = gamePosition.substr(0, index-1) + disk + gamePosition.substr(index);
              var disk2=true;             
              if(disk=='w'){disk2=false;}             
            drawDisk(String.fromCharCode(col.charCodeAt(0)-1),row, disk2);            
                        
          }
      }
        
       
    }
   if(col.charCodeAt(0)>=97&&col.charCodeAt(0)<=104)
   {
       var indexPlus2=8 * (row - 1) + (col.charCodeAt(0)+2)-97;      
       var cellPlus2=gamePosition.charAt(indexPlus2);
       if(cellPlus2==disk)
      {
          var cellCh1=gamePosition.charAt(indexPlus2-1);
          if(cellCh1!=cell&&cellCh1!='o')
          {           
            gamePosition =...