You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.7 KiB
120 lines
3.7 KiB
/*
|
|
* Implement basic commands
|
|
curl --url "http://127.0.0.1:7778" --data "{\"agent\":\"pangea\",\"method\":\"host\",\"minplayers\":2,\"params\":[]}"
|
|
curl --url "http://127.0.0.1:7778" --data "{\"agent\":\"pangea\",\"method\":\"lobby\"}"
|
|
curl --url "http://127.0.0.1:7778" --data "{\"agent\":\"pangea\",\"method\":\"join\",\"tablehash\":\"18e9e7448a68a4d46bfde55be0e667c4f4ba015e2c183fbc7cbc0c26996f7656\",\"handle\":\"mini\"}"
|
|
curl --url "http://127.0.0.1:7778" --data "{\"agent\":\"pangea\",\"method\":\"start\",\"tablehash\":\"18e9e7448a68a4d46bfde55be0e667c4f4ba015e2c183fbc7cbc0c26996f7656\"}"
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* Saves data in format
|
|
* {"tablehash":"9542c00ef64a73814e5694011703a69608c528c077b55cf7669d77432b7bb32b","host":"0.0.0.0","minbuyin":0,"maxbuyin":0,"minplayers":2,"maxplayers":2,"M":0,"N":2,"numcards":52,"rake":0,"maxrake":0,"hostrake":0,"pangearake":0,"bigblind":0,"ante":0,"opentime":"2016-01-30T11:30:22Z","numactive":0}
|
|
*/
|
|
var Tables=[];
|
|
|
|
/*
|
|
* JS function to check if String is JSON
|
|
* If yes it returns the JSON object as output
|
|
*
|
|
*/
|
|
function IsJsonString(str) {
|
|
var json;
|
|
try {
|
|
json=JSON.parse(str);
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
return json;
|
|
}
|
|
|
|
/*
|
|
* Funcion called when User clicks on
|
|
* "Host Game" Button
|
|
* Takes JSON strings as Request
|
|
* Implements API call to host a game
|
|
*
|
|
*/
|
|
|
|
var hostPangea=function(){
|
|
var text = $('textarea#json_src').val();
|
|
var request=IsJsonString(text);
|
|
if(request!==false){
|
|
|
|
if(!request.agent){
|
|
request.agent="pangea";
|
|
}
|
|
if(!request.method){
|
|
request.method="host";
|
|
}
|
|
if(!request.minplayers){
|
|
request.minplayers=2;
|
|
console.log("Minimum playes is set to 2");
|
|
}
|
|
request=JSON.stringify(request);
|
|
//var request='{"agent":"pangea","method":"host","minplayers":2,"params":["127.0.0.1"]}';
|
|
SPNAPI.makeRequest(request, function(request,response){
|
|
|
|
}
|
|
);
|
|
}else{
|
|
console.log("Not a valid JSON");
|
|
}
|
|
|
|
};
|
|
|
|
/*
|
|
* Sets the HTML for returned list of games
|
|
* And show in GUI
|
|
*/
|
|
|
|
var showGameList=function(){
|
|
//console.log($('#game_list_table tbody').html());
|
|
$('#game_list_table tbody').html("");
|
|
var newTab;
|
|
newTab = "<tr class='row history-row'><td >Host</td><td >MinBuyin</td><td >MaxBuyin</td><td >Min player</td><td >Max player</td><td>Join</td></tr>";
|
|
$('#game_list_table tbody').append(newTab);
|
|
for(var j=0; j<Tables.length;j++){
|
|
newTab = "<tr class='row history-row'><td >"+Tables[j].host+"</td><td >"+Tables[j].minbuyin+"</td><td >"+Tables[j].maxbuyin+"</td><td >"+Tables[j].minplayers+"</td><td >"+Tables[j].maxplayers+"</td><td >"+'<button class="btn btn-primary join_pangea_game" data-tablehash="'+Tables[j].tablehash+'">Join</button>'+"</td></tr>";
|
|
$('#game_list_table tbody').append(newTab);
|
|
}
|
|
|
|
};
|
|
|
|
/*
|
|
* API call to Get list of games
|
|
*/
|
|
var lobbyPangea= function(){
|
|
|
|
var request='{"agent":"pangea","method":"lobby"}';
|
|
SPNAPI.makeRequest(request, function(request,response){
|
|
response=JSON.parse(response);
|
|
if(response.tables){
|
|
Tables=response.tables;
|
|
showGameList();
|
|
}
|
|
|
|
}
|
|
);
|
|
|
|
};
|
|
|
|
/*
|
|
* API call to Join a game
|
|
* Called when user clicks on "Join" button in Pangea tab
|
|
*/
|
|
var joinPangea= function(hash){
|
|
var request='{"agent":"pangea","method":"join","tablehash":"'+hash+'","handle":"mini"}';
|
|
SPNAPI.makeRequest(request, function(request,response){
|
|
|
|
}
|
|
);
|
|
|
|
};
|
|
|
|
var startGamePangea= function(){
|
|
var request='{"agent":"pangea","method":"start","tablehash":"18e9e7448a68a4d46bfde55be0e667c4f4ba015e2c183fbc7cbc0c26996f7656"}';
|
|
SPNAPI.makeRequest(request, function(request,response){
|
|
|
|
});
|
|
};
|