JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://premium-api.com/jscourse/rb_plain.js"></script>
<h1>Reversi AI competition</h1>
JavaScript
var randomPlayer = function() {
// TODO put your logic here
// sample of function that make a move
function makeMove(isBlack) {
var o = [];
for (var i=0; i<64; i++) { o.push(i); }
for (var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
// find correct move
for (var i=0; i<64; i++) {
var col = String.fromCharCode(o[i] % 8 + 97);
var row = Math.floor(o[i]/8) + 1;
if ( isMoveValid(col, row) ) {
return { col: col, row: row};
}
}
}
return {
name: "Random",
move: makeMove,
init: function() {
//TODO new game has started
}
};
};
var simplePlayer = function() {
return {
name: "Simple",
move: function(isBlack) {
for (var ci=0; ci<8; ci++) {
for (var row=1; row<9; row++) {
var col = String.fromCharCode(ci + 97);
if ( isMoveValid(col, row) ) {
return { col: col, row: row};
}
}
}
}
};
};
(function(oppOne, oppTwo) {
var matchInfo = {
memberOne: {
obj: oppOne(),
score: 0
},
memberTwo: {
obj: oppTwo(),
score: 0
}
};
// Main reversi object
var Reversi = {
EMPTY_TYPE: 'e',
BLACK_TYPE: 'b',
WHITE_TYPE: 'w',
BOARD_SIZE: 8
};
Reversi.Game = {
isMoveBlack: true,
start: function() {
// draw board start position
this.isMoveBlack = true;
Reversi.Board.init();
Reversi.Board.drawBoard();
Reversi.Board.drawAllDisks();
},
getIndexesColRow: function(index) {
return {
iCol: index % Reversi.BOARD_SIZE,
iRow:...