botsArena/src/arenas/connectFour/js.js

77 lines
2.1 KiB
JavaScript
Raw Normal View History

2016-05-10 17:05:09 +02:00
function Ajx(){
var request = false;
try {request = new ActiveXObject('Msxml2.XMLHTTP');}
catch (err2) {
try {request = new ActiveXObject('Microsoft.XMLHTTP');}
catch (err3) {
try { request = new XMLHttpRequest();}
catch (err1) {
request = false;
}
}
}
return request;
}
2016-05-12 19:45:15 +02:00
function createElem(type,attributes){
var elem=document.createElement(type);
for (var i in attributes)
{elem.setAttribute(i,attributes[i]);}
return elem;
}
function connectFour(bot1,bot2,xd_check, newGame){
if (newGame === undefined){
newGame = true;
}
2016-05-12 19:45:15 +02:00
document.getElementById('fightResult').innerHTML = '';
//create grid
2016-05-12 19:49:13 +02:00
var table=createElem('table',{'class':'battleGrid'});
2016-05-13 19:50:27 +02:00
for (var i=6; i > -1; i--){
2016-05-12 19:45:15 +02:00
var tr=createElem('tr');
2016-05-12 19:45:49 +02:00
for (var j=0;j<7; j++){
2016-05-13 19:48:41 +02:00
var td=createElem('td',{'id': 'td' + j + '-' + i});
2016-05-12 19:45:15 +02:00
tr.appendChild (td);
}
table.appendChild(tr);
}
document.getElementById('fightResult').appendChild(table);
2016-05-10 17:05:09 +02:00
var xhr = Ajx();
xhr.onreadystatechange = function(){if(xhr.readyState == 4){
if(xhr.status == 200) {
2016-05-14 23:12:23 +02:00
//for debug
2016-05-14 23:16:02 +02:00
document.getElementById('logs').innerHTML += xhr.responseText + '<br/>';
2016-05-12 19:37:18 +02:00
try{
var reponse = JSON.parse(xhr.responseText);
}catch(e){
document.getElementById('logs').innerHTML += 'erreur' +xhr.responseText;
return;
}
2016-05-12 19:45:15 +02:00
2016-05-13 19:48:41 +02:00
//fill the grid
2016-05-14 23:20:51 +02:00
2016-05-14 23:39:10 +02:00
if( reponse['strikeX'] > -1){
alert(reponse['strikeSymbol']);
2016-05-14 23:33:24 +02:00
document.getElementById('td' + reponse['strikeX'] + '-' + reponse['strikeY']).innerHTML = reponse['strikeSymbol'];
2016-05-14 23:39:10 +02:00
}
2016-05-14 22:53:46 +02:00
if(reponse['continue'] == 1){
connectFour(bot1,bot2,xd_check, false);
}
2016-05-12 19:45:15 +02:00
2016-05-11 11:07:39 +02:00
}else{
alert ('error ' + xhr.status);
2016-05-11 11:08:20 +02:00
return;
2016-05-10 17:05:09 +02:00
}
}};
xhr.open("POST", '/connectFour', true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
2016-05-14 22:53:46 +02:00
if(newGame){
2016-05-14 23:01:51 +02:00
var act='newFight';
2016-05-14 22:53:46 +02:00
}else{
2016-05-14 23:01:51 +02:00
var act='fight';
2016-05-14 22:53:46 +02:00
}
2016-05-14 23:00:28 +02:00
xhr.send('act=' + act + '&bot1=' + bot1 + '&bot2=' + bot2 + '&xd_check=' + xd_check);
2016-05-10 17:05:09 +02:00
}