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 =...