Here are 3 bots to start with.
Kickass.js
var previous = [0,'Love',0,0,'Love',0];
var opGameplay = {};
var myComment = 'Go!';
onmessage = function(e) {
var workerResult;
if (e.data=='play') { workerResult = 2; } else {
learn(e);
previous = [
e.data.me.force,
e.data.me.point,
e.data.me.game,
e.data.opponent.force,
e.data.opponent.point,
e.data.opponent.game
];
myComment = ' ';
var opGuess = guess();
if (opGuess > 5) {
workerResult = 1;
} else {
workerResult = opGuess+1;
}
}
postMessage(workerResult+myComment);
}
function learn(e) {
for (var i=0; i<6; i++) {
var situation = e.data.opponent.force+'<='+i+'=='+previous[i];
if (!opGameplay[situation]) {
opGameplay[situation] = 1;
} else {
opGameplay[situation] += 1;
}
}
}
function guess() {
var best = 0;
var bestValue = 0;
var value;
for (var testForce=1; testForce<10; testForce++) {
value = 0;
for (var i=0; i<6; i++) {
var situation = testForce+'<='+i+'=='+previous[i];
if (opGameplay[situation]) { value += opGameplay[situation]; }
}
myComment += '['+testForce+']='+value+', ';
if (value >= bestValue) {
bestValue = value;
best = testForce;
}
}
return best;
}
Smartass.js
onmessage = function(e) {
var myComment = '';
var workerResult;
if (e.data=='play') { workerResult = "1"; } else {
workerResult = e.data.opponent.force+1;
if (e.data.me.force > e.data.opponent.force) { myComment = "Wooo yeah!"; } else { myComment = "ok..."; }
}
postMessage(workerResult+' '+myComment);
}
Randy
onmessage = function(e) {
var workerResult = 1+(Math.random()*3);
postMessage(workerResult+' '+Math.floor(10000000*Math.random()));
}