updated pages

This commit is contained in:
mig 2017-04-05 00:49:55 +02:00
parent b6c5de0f4e
commit 6c9ac3e635
9 changed files with 11 additions and 10 deletions

View file

@ -1 +1 @@
"use strict";var window=self,Jocly;onmessage=function(e){var a=Date.now(),o=e.data,t=o.options;switch(o.type){case"Init":var n=[o.baseURL+"jocly.core.js"];Jocly=self.exports={},importScripts.apply(null,n),Date.now()-a;break;case"Play":Jocly.createInternalGame(o.gameName,t).then(function(a){switch(a.mBoard.mMoves=[],a.Load({playedMoves:o.playedMoves}),a.mDoneCallback=function(e){postMessage({type:"Done",data:e})},a.mProgressCallback=function(e){postMessage({type:"Progress",percent:e})},void 0!==t.level&&(a.mTopLevel=t.level),void 0!==t.maxDepth&&(a.mTopLevel=t.maxDepth),a.mStartTime=(new Date).getTime(),a.mExploredCount=0,a.mPickedMoveIndex=0,a.mBestMoves=[],a.mContexts=[],a.mDuration=0,a.mAborted=!1,a.mRandomSeed=0,t.randomSeed&&!isNaN(parseInt(t.randomSeed))&&(a.mRandomSeed=parseInt(t.randomSeed)),a.mOptions.levelOptions&&(a.mOptions.levelOptionsSaved=JSON.parse(JSON.stringify(a.mOptions.levelOptions)),t.level&&JocUtil.extend(a.mOptions.levelOptions,t.level)),e.data.algo){case"uct":JoclyUCT.startMachine(a,t);break;case"alpha-beta":a.Engine(a.mBoard,a.mTopLevel,!1,0,t.potential),a.Run()}})}};
"use strict";var window=self,Jocly;onmessage=function(e){var a=Date.now(),o=e.data,t=o.options;switch(o.type){case"Init":var n=[o.baseURL+"jocly.core.js"];Jocly=self.exports={},importScripts.apply(null,n),Date.now()-a;break;case"Play":Jocly._createInternalGame(o.gameName,t).then(function(a){switch(a.mBoard.mMoves=[],a.Load({playedMoves:o.playedMoves}),a.mDoneCallback=function(e){postMessage({type:"Done",data:e})},a.mProgressCallback=function(e){postMessage({type:"Progress",percent:e})},void 0!==t.level&&(a.mTopLevel=t.level),void 0!==t.maxDepth&&(a.mTopLevel=t.maxDepth),a.mStartTime=(new Date).getTime(),a.mExploredCount=0,a.mPickedMoveIndex=0,a.mBestMoves=[],a.mContexts=[],a.mDuration=0,a.mAborted=!1,a.mRandomSeed=0,t.randomSeed&&!isNaN(parseInt(t.randomSeed))&&(a.mRandomSeed=parseInt(t.randomSeed)),a.mOptions.levelOptions&&(a.mOptions.levelOptionsSaved=JSON.parse(JSON.stringify(a.mOptions.levelOptions)),t.level&&JocUtil.extend(a.mOptions.levelOptions,t.level)),e.data.algo){case"uct":JoclyUCT.startMachine(a,t);break;case"alpha-beta":a.Engine(a.mBoard,a.mTopLevel,!1,0,t.potential),a.Run()}})}};

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
"use strict";function receiveMessage(e){function a(a){window.parent.postMessage({joclyEmbeddedGameId:gameId,replyId:e.data.replyId,message:a},"*")}if(console.info("embed receives message",e.data),(e.origin||e.originalEvent.origin)==new URL(window.location).origin){var n=e.data.message;switch(n.type){case"init":gameId=n.id;var t=document.getElementById("area");Jocly.createInternalGame(n.gameName).then(function(e){function n(){e.AttachElement(t).then(function(){e.GameInitView(),e.DisplayBoard(),a()})}gGame=e,e.AddListener(Listen),"complete"===document.readyState||"loaded"===document.readyState||"interactive"===document.readyState?n():window.addEventListener("DOMContentLoaded",function(){n()})});break;case"humanTurn":gGame.HumanTurn();break;case"machineTurn":gGame.StartMachine(n.options);break;case"getFinished":var i=gGame.GetFinished();a({finished:!!i,winner:i});break;case"getMoveString":a(new(gGame.GetMoveClass())(n.move).ToString())}}}function Listen(e){switch(e.type){case"human-move":gGame.ApplyMove(e.move);var a=gGame.GetFinished();a||gGame.InvertWho(),gGame.DisplayBoard(),Object.assign(e,{finished:!!a,winner:a});break;case"machine-move":var n=e.result.move;return delete e.result.move,void gGame.PlayMove(n).then(function(){var a=gGame.GetFinished();a||gGame.InvertWho(),gGame.DisplayBoard(),window.parent.postMessage({joclyEmbeddedGameId:gameId,message:{type:"machine-move",moveData:e.result,move:n,finished:!!a,winner:a}},"*")})}window.parent.postMessage({joclyEmbeddedGameId:gameId,message:e},"*")}var gameId,gGame;window.addEventListener("message",receiveMessage,!1);
"use strict";function ReceiveMessage(e){function t(t){t=t||{},window.parent.postMessage({joclyEmbeddedGameId:matchId,replyId:e.data.replyId,message:t},"*")}function a(e){"object"==(void 0===e?"undefined":_typeof(e))&&(e={message:e.message,fileName:e.fileName,lineNumber:e.lineNumber,stack:e.stack}),t({type:"error",error:e})}if((e.origin||e.originalEvent.origin)==new URL(window.location).origin){var o=e.data.message;switch(o.type){case"init":matchId=o.id;var n=document.getElementById("area");Jocly.createMatch(o.gameName).then(function(e){function c(){e.game.AttachElement(n).then(function(){e.area=n,e.game.GameInitView(),e.game.DisplayBoard(),t()}).catch(a)}gMatch=e,e.game.Load({playedMoves:o.playedMoves}),"complete"===document.readyState||"loaded"===document.readyState||"interactive"===document.readyState?c():window.addEventListener("DOMContentLoaded",function(){c()})}).catch(a);break;case"method":try{gMatch[o.methodName].apply(gMatch,o.args).then(function(){t({args:Array.from(arguments)})},a)}catch(e){a(e)}break;case"destroy":var c=gMatch.game.mPlayedMoves;gMatch.destroy().then(function(){t({playedMoves:c})})}}}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},matchId,gMatch;window.addEventListener("message",ReceiveMessage,!1);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
"use strict";function MessageListener(e){var t=games[e.data.joclyEmbeddedGameId];if(console.info("proxy receives message",e.data),t){var s=e.data.replyId;if(s){var n=messageReplies[s];n&&(delete messageReplies[s],n(e.data.message))}else t.listeners.forEach(function(s){s.call(t,e.data.message)})}}function GameProxyClass(e){this.gameName=e,this.listeners=[],this.id=++gameIdRef}function PostMessage(e,t,s){var n={message:t};if(s){var a=++msgIdRef;n.replyId=a,messageReplies[a]=s}e.iframe.contentWindow.postMessage(n,"*")}function CreateGame(e){return new Promise(function(t,s){function n(s){var n=new GameProxyClass(e);games[n.id]=n,Object.assign(n,s),t(n)}var a=gameConfigs[e];a?n(a):Jocly.listGames().then(function(t){var a=t[e];if(!a)return s(new Error("Game "+e+" not found"));SystemJS.import("games/"+a.module+"/"+e+"-config.js").then(function(t){gameConfigs[e]=t,n(t)})},s)})}var gameConfigs={},gameIdRef=0,messageListenerInstalled=!1,games={},msgIdRef=0,messageReplies={};GameProxyClass.prototype.attachElement=function(e,t){var s=this,n=this;return new Promise(function(t,a){messageListenerInstalled||(messageListenerInstalled=!0,window.addEventListener("message",MessageListener)),s.element=e;var i=document.createElement("iframe"),o={name:"jocly-embedded-"+n.id,frameborder:0,src:SystemJS.getConfig().baseURL+"jocly.embed.html",width:"100%",height:"100%"};Object.keys(o).forEach(function(e){i.setAttribute(e,o[e])}),Object.assign(i.style,{position:"absolute",top:0,right:0,bottom:0,left:0,whiteSpace:"normal"});var r=document.createElement("div");Object.assign(r.style,{position:"relative",whiteSpace:"nowrap",width:"100%",height:"100%"}),r.appendChild(i),e.appendChild(r),s.iframe=i,i.onload=function(){PostMessage(n,{type:"init",id:s.id,gameName:s.gameName},function(e){t()})}})},GameProxyClass.prototype.listen=function(e){var t=this;return new Promise(function(s,n){t.listeners.push(e),s()})},GameProxyClass.prototype.unlisten=function(e){var t=this;return new Promise(function(s,n){for(var a=t.listeners.length-1;a>=0;a--)t.listeners[a]==e&&t.listeners.splice(a,1);s()})},GameProxyClass.prototype.humanTurn=function(){var e=this;return new Promise(function(t,s){PostMessage(e,{type:"humanTurn"}),t()})},GameProxyClass.prototype.machineTurn=function(e){var t=this;return new Promise(function(s,n){PostMessage(t,{type:"machineTurn",options:e}),s()})},GameProxyClass.prototype.getFinished=function(){var e=this;return new Promise(function(t,s){PostMessage(e,{type:"getFinished"},function(e){t(e)})})},GameProxyClass.prototype.getMoveString=function(e){var t=this;return new Promise(function(s,n){PostMessage(t,{type:"getMoveString",move:e},function(e){s(e)})})},"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?(void 0).GameProxy={createGame:CreateGame}:exports.createGame=CreateGame;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
"use strict";function GameProxyClass(e){this.gameName=e,this.listeners=[]}function Post(e,n){e.listeners.forEach(function(t){t.call(e,n)})}function GetListener(e){return function(n){var t=this;switch(n.type){case"human-move":t.ApplyMove(n.move);var r=t.GetFinished();r||t.InvertWho(),Object.assign(n,{finished:!!r,winner:r});break;case"machine-move":var o=n.result.move;delete n.result.move,t.ApplyMove(o);var r=t.GetFinished();return r||t.InvertWho(),void Post(e,{type:"machine-move",moveData:n.result,move:o,finished:!!r,winner:r})}Post(e,n)}}function CreateGame(e){return new Promise(function(n,t){function r(r){var o=new GameProxyClass(e);Object.assign(o,r),o.game=new joclyCore.createInternalGame(e).then(function(e){e.AddListener(GetListener(o)),o.game=e,n(o)},t)}var o=gameConfigs[e];o?r(o):joclyCore.listGames().then(function(n){var o=n[e];if(!o)return t(new Error("Game "+e+" not found"));var i=require("./games/"+o.module+"/"+e+"-config.js");gameConfigs[e]=i,r(i)},t)})}var joclyGame=require("./jocly.game"),joclyCore=require("./jocly.core"),gameConfigs={};GameProxyClass.prototype.listen=function(e){var n=this;return new Promise(function(t,r){n.listeners.push(e),t()})},GameProxyClass.prototype.unlisten=function(e){var n=this;return new Promise(function(t,r){for(var o=n.listeners.length-1;o>=0;o--)n.listeners[o]==e&&n.listeners.splice(o,1);t()})},GameProxyClass.prototype.humanTurn=function(){return this.game.humanTurn()},GameProxyClass.prototype.machineTurn=function(e){var n=this;return new Promise(function(t,r){n.game.StartMachine(e),t()})},GameProxyClass.prototype.getFinished=function(){var e=this;return new Promise(function(n,t){n(e.gameName.GetFinished())})},GameProxyClass.prototype.getMoveString=function(e){var n=this;return new Promise(function(t,r){t(new(n.game.GetMoveClass())(e).ToString())})},exports.createGame=CreateGame;